收藏 分享(赏)

基于Python的邮件发送系统在信息系统安全中的应用_周利荣.pdf

上传人:哎呦****中 文档编号:2515267 上传时间:2023-06-27 格式:PDF 页数:3 大小:229.36KB
下载 相关 举报
基于Python的邮件发送系统在信息系统安全中的应用_周利荣.pdf_第1页
第1页 / 共3页
基于Python的邮件发送系统在信息系统安全中的应用_周利荣.pdf_第2页
第2页 / 共3页
基于Python的邮件发送系统在信息系统安全中的应用_周利荣.pdf_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、2023.4电脑编程技巧与维护1服务器安全状况的常用方法及优缺点网络服务器为用户终端、网络终端提供各种服务的同时,也很容易遭到黑客入侵、攻击。此时管理员需要及时了解服务器的安全状况,保证服务器的正常运行1。管理员了解服务器的安全状况的方法主要有3种:(1)直接登录服务器查看,其优点是全面及时,但如果管理员远离服务器则无法实现;(2)使用远程桌面连接查看,其优点是方便快捷,但管理员必须使用计算机,且这台计算机和服务器必须在同一局域网内;(3)远程连接控制软件查看,其优点是可远程控制,但黑客也可以利用远程连接控制软件构建一条穿越内网的通道,导致服务器容易被黑客劫持。2使用用户名及密码进行身份验证存

2、在的安全风险使用用户名及密码进行身份验证是保障系统安全的最常用手段,但黑客对应这些保障手段也会进行一些密码破解技术操作,主要有以下几种。(1)击键记录。通过安装“击键记录”木马病毒程序,可记录用户的击键操作,将其内容传送给黑客,黑客通过分析可破解出用户名及密码。(2)屏幕记录。为了防止“击键记录”木马病毒程序,用户可使用鼠标和图片录入密码。黑客通过安装“屏幕记录”木马病毒程序,将用户屏幕通过截屏方式记录下来,通过分析鼠标位置,对比截屏的图片,可破解用户名及密码。(3)网络钓鱼。利用伪造的网站,诱使用户登录网站,用户往往会在登录网站时泄露自己的用户名及密码。(4)嗅探器(Sniffer)。使用S

3、niffer程序是黑客获得用户名和密码的有效手段之一。任何没有加密直接通过FTP、POP、SMTP、HTTP等协议传输的明文数据包都会被Sniffer程序监听。使用Sniffer程序,可以监视网络上传输的信息、网络的状态、数据流动情况。当信息以明文的形式在网络上传输时,Sniffer可以使用网络监听的方式窃取网上传送的数据包并破解出用户名及密码。(5)Password Reminder工具。可以使用PasswordReminder工具破解本地保存的星号方式储存的密码,把Password Reminder工具中的放大镜拖放到星号上,便可以破解密码2。3邮件发送系统在信息安全方面的主要用途3.1发

4、送服务器信息如果在服务器上能自动运行检测服务器安全状况的程序,并将结果通过邮件发送给管理员,则可克服以上3种方法的缺点,用户通过计算机或手机打开邮件即可知道服务器的安全状况,使用邮件主动向管理员报告服务器的安全状况。管理员需要了解的服务器信息主要有计算机上的共享资源、用户创建的管理员账号、进程信息、启动的服务信息、防火墙状态(启用还是禁用)、端口状态、系统时间等。3.2发送动态码在登录网站或在线交易时,为避免用户名及密码被别人窃取,服务器会通过邮件给用户发送一个随机的数字或者字符到用户预留的电子邮箱里,用户在输入用户名及密码登录后再要求输入动态码,服务器来验证是否正确,这样可以更好地保证信息系

5、统的安全,其优点如下。(1)无需记忆。随着网络的普及应用,需要用户记忆的密码越来越多,为增强安全性,密码的长度及复杂度在增加。动态码给用户发送一串随机的数字或者字符到用户预留的联系方式里,用户无需记忆密码。(2)基金项目:衢州市指导性科技攻关项目项目,项目编号:2021075。作者简介:周利荣(1972),男,讲师,硕士,研究方向为人工智能。基于 Python 的邮件发送系统在信息系统安全中的应用周利荣(衢州职业技术学院,浙江 衢州324000)摘要:分析了管理员了解服务器的安全状况的常用方法及优缺点,使用用户名及密码进行身份验证时存在的安全风险。利用 Python 生成服务器状态信息及动态码

6、,Python 邮件发送系统的两个模块 smtplib 和 Email,利用 Python 邮件发送系统自动发送服务器状态信息及动态码以保证信息系统的安全。关键词:信息安全;身份验证;动态码;邮件发送162DOI:10.16184/prg.2023.04.0192023.4电脑编程技巧与维护损害小。动态密码是随时变化的密码,因为每次输入的密码都不固定,所以即使一次密码被盗也不会带来太大损害。(3)内外兼“固”。对内防范是信息安全最薄弱的环节,如果管理人员通过正常授权获得用户名及密码,对用户信息安全是一种威胁。动态码自动完成密码生成,最大限度地减少了人为因素,有效地防止了内部管理人员的因素。(4

7、)可当密码使用。可在规定的时间如3个月内定期批量更换密码并发送至用户邮箱中,使系统更加安全。4利用 Python 生成服务器信息及动态码4.1生成服务器信息常见服务器的安全状况主要有共享资源、管理员账号、服务、进程、防火墙被动状态、端口状态、系统时间。对应的DOS命令是net share、net user、net start、TaskList、netsh firewall show state、netstat-a-n、nettime 127.0.0.13。可用os模块中的system()函数调用上述命令,将结果保存在result.txt中,代码如下:import osos.system(net

8、 shareresult.txt)os.system(net userresult.txt)os.system(net startresult.txt)os.system(TaskListresult.txt)os.system(netsh firewall show statere-sult.txt)os.system(netstat-a-n result.txt)os.system(net time 127.0.0.1result.txt)4.2生成动态码将数字09、大写字母AZ、小写字母az共62个字符保存在列表c_list中,然后使用import random导入random模块,调用

9、random.sample(c_list,6)函数随机生成一个6位验证码。可用函数generate_verifica-tion_code()实现,代码如下:import randomdef generate_verification_code(len=6):c_list=for i in range(10):c_list.append(str(i)#添加09数字for i in range(65,91):c_list.append(chr(i)#添加AZfor i in range(97,123):c_list.append(chr(i)#添加azmyslice=random.sample(c

10、_list,len)#从c_list#中随机获取6个元素并返回verif_code=.join(myslice)return verif_code5Python 两个模块 smtplib 和 Email 的用法(1)smtplib模块主要负责发送邮件,是一个发送邮件的动作,包括连接邮箱服务器、登录邮箱、发送邮件(发件人、收信人、邮件内容)。smtplib模块导入及使用方法如下:import smtplib#导入smtplib模块smtp=smtplib.SMTP()#实例化smtplib模块#下的SMTP类smtp.connect(,25)#连接服务器#(主机地址,端口)smtp.login(

11、username,password)#登录服务器#(用户名,授权码)smtp.sendmail(sender,receiver,msg.as_string()#通过sendmail发送邮件,sender和username是一样#的,receiver是目标邮箱,msg.as_string()是发送的内容。smtp.quit()#结束SMTP会话(2)Email模块负责写邮件内容。内容可以是纯文本、HTML内容、图片、附件等多种形式。这个模块不需要像smtplib一样全部导入。from email.header import Header#从Email包#引入Header()方法from emai

12、l.mime.text import MIMEText#用于构建纯文本邮件内容from email.mime.image import MIMEImage#用于构建图片邮件内容from email.mime.multipart import MIMEMultipart#用于构建纯文、附件多形式组合邮件内容6用 Python 实现邮件发送服务器信息及动态码6.1获取授权码使用授权码,用户可以不用登录网页邮箱或者邮箱客户端,而是用邮箱账号+授权码获取邮箱服务器的内容。以QQ邮箱为例,一般默认关闭SMTP服务,先开启它。登录https:/ email.mime.text import MIMETex

13、t导入。from email.mime.text import MIMEText1632023.4电脑编程技巧与维护4结语构造完整的沉浸式虚拟现实展馆需要多个复杂的虚拟三维场景的组合和链接,其中,影响用户体验感的最重要的环节是场景跳转。所述方法目前已经被应用到青岛天后宫VR虚拟现实展馆和消防安全教育虚拟现实(VR)展馆两个项目中,均并获得了较为良好的反馈。#导入MIMEText()函数sendfile=open(rresult.txt,rb).read()#以“rb”模#式打开文件,读取内容保存在sendfile中text_att=MIMEText(sendfile,base64,gb2312

14、)#构建邮件内容text_att Content-Type=application/octet-stream#指定发送端发送的实体数据的数据类型(2)创建一个带附件的实例,并添加邮件内容。from email.mime.multipart import MIMEMultipartmsg=MIMEMultipart(mixed)#创建一个带附件#的实例msgmsg.attach(text_att)#用attach()函数添加邮件#内容(3)设置参数username、sender、receiver、pass-word、msg的值。username、sender、receiver均为邮箱用 户 名。

15、设 置 参 数 的 值 发 信 邮 箱 用 户 名username、sender、QQ邮箱授权码password、收信邮箱用户名re-ceiver、发送信息msg。(4)使用smtplib模块发送邮件。6.3邮件发送纯文本形式的动态码(1)自定义函数generate_verification_code()。功能是生成动态码。(2)设置参数username、sender、receiver、msg的值。username、sender、receiver均为邮箱用户名;msg=MIMEText(generate_verification_code(),plain,utf-8),第1个参数为内容,第2个

16、参数为格式,plain表示纯文本格式,第3个参数为编码。(3)使用smtplib模块发送邮件。7实现自动发送服务器信息和获取并验证动态码7.1自动发送服务器信息(1)使用pyinstaller命令将服务器信息的代码生成state.exe文件。(2)在任务计划程序中创建一个基本任务,在规定的时间运行state.exe程序。(3)使用pyinstaller命令将6.2部分用邮件发送附件形式的服务器信息的代码生成send_state.exe文件。(4)在任务计划程序中创建一个基本任务,在规定的时间运行send_state.exe程序。7.2获取并验证动态码获取并验证动态码包含4个控件:标签(用于提示信息)、文本框(用于输入动态码)、两个按钮(按钮1用于获取动态码,按钮2用于验证动态码)。用户单击获取动态码按钮,系统生成动态码发至邮箱,用户打开邮箱获取动态码并在文本框中输入,再单击验证动态码按钮,如果两者一致,则进入系统,否则提示错误。8信息系统其他安全隐患及对策(1)恶意破解密码。黑客可以对某个特定的注册用户用穷举法或特定程序暴力破解方式进行不断的登录尝试,从而破解密码。系统可在登录界面要求

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 专业资料 > 其它

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2