当前位置:文档之家› 网络安全课程设计

网络安全课程设计

上海应用技术学院课程设计任务书指导教师(签名):舒明磊教研室主任(签名):荣祺2014年7 月1 日2014年7 月1 日1. 课程设计目的和要求1.1目的本课程设计是计算机科学与技术专业、网络工程专业重要的实践性环节之一,是在学生学习完《密码学与网络安全技术》课程后进行的一次全面的综合练习。

通过课程设计,使学生熟练掌握计算机网络安全知识的基本概念和原理,熟悉了解网络安全的基本技术和攻防方法,培养学生将专业理论知识和工程技术应用有机结合的高级应用能力,使学生具备从事网络管理维护和信息安全管理方向的职业的基本素质和技能,提高设计文档的撰写能力。

1.2要求(1) 分析课程设计题目的要求;(2) 要求在设计的过程中,完成清晰的功能设计;(3) 要求系统架构合理,模块划分清晰;(4) 对于程序设计课题,应编写程序代码,调试程序使其能正确运行;对于操作应用课题,应有清楚明确的执行步骤和过程;(5) 设计完成后提交课程设计报告(按学校要求装订)、报告的电子文档和程序源代码文件。

2、课程设计任务内容设计主要内容如下(1)根据任务要求,选择了T1、T2、T3、T4、T5和T6题目。

其中T1要求完成敏感信息搜集;T2要求完成加解密编程;T3要求完成SQL Server安全设置;T4要求完成FTP密码与OE账户嗅探;T5要求完成批处理脚本编写与验证蠕虫病毒;T6要求完成FAT32文件恢复。

(2)最终提供的主操作界面应该为便于操作和使用,文档结构清晰简洁,内容完整准确。

(3)最后提交的课程设计成果包括:a)课程设计报告打印稿;b)课程设计报告电子稿;c)源程序文件;d)可执行文件。

3、详细设计3.1敏感信息搜集3.2加解密编程3.2.1、利用Bouncy Castle API对数据进行Encoding and Decoding1.首先编写DESEncrypto.java文件在D盘根目录下建立一个DESEncrypto.txt文本文件,接下来把后缀名改成DESEncrypto.java 如下图所示:编写DESEncrypto.java,代码见附录:2.对DESEncrypto.java进行编译,如图所示:生成文本程序1JXZ.txt。

3.1JXZ.txt”为明文,其内容为“123456789abcdefghijklmnopqrstuvwxyz”如下图:注:JXZ为学生名字拼音首字母,如学生张三的JXZ为zs,下同。

4.运行程序,对1JXZ.txt进行加密,第一个参数表示要加密的文件,第二个参数表示加密后的文件,第三个参数表示的是加密还是解密(true表示加密,false 表示解密):5.加密后的文件为2JXZ.txt,如下图:注:JXZ为学生名字拼音首字母,如学生张三的JXZ为zs,下同。

6.对2JXZ.txt进行解密,第一个参数表示要解密的文件,第二个参数表示解密后的文件,第三个参数表示的是加密还是解密(true表示加密,false表示解密):7.解密后的文件为3JXZ.txt,如下图:3.2.2 参照例图,使用编程语言编写可视化程序,实现一个凯撒密码正向&反向计算程序。

1.运行凯撒密码加密解密文件,出现以下工作界面;界面中可以设置偏移量,通过设置不同的偏移量得到不同的密文。

2.在明文文本框里输入明文,设置好偏移量点击“加密计算”按钮,得到密文;3.将密文填写到“凯撒密码解密”工作栏里,将生成的密文填写到“密文”文本框里,偏移量设置为和加密中的偏移量相同后,点击“解密计算”后,解出明文,对比输入的明文后,结果相同,说明解密成功,任务结束,同样应该注意的是,在传输过程中,要对偏移量进行保密,因为有了偏移量和密文后,就可以解出明文。

3.3 SQL Server 安全设置3.3.1、数据库系统安全数据库系统安全是指为数据库系统建立安全保护措施,以保护数据库系统软件和其中的数据不因偶然和恶意的原因而遭到破坏、更改和泄漏。

由于大多数Web 应用程序都需要使用数据库,于是,数据库就成了最常见的攻击目标之一。

SQL Server 2000 数据库中存在着账号和密码过于简单的现象,为了数据的安全,应该对其进行一定的设定,并且养成查看日志的习惯。

数据库的建立和使用极大的方便了人们对数据的管理和应用,同时数据的稳定性和可恢复至关重要,因此要定期对数据库进行备份。

3.3.2、SQL Server2000 数据库安全配置1.使用安全的密码策略(1)很多数据库账号的密码过于简单,这跟系统密码过于简单是一个道理。

对于sa 更应该注意,同时不要让sa 账号的密码写于应用程序或者脚本中。

健壮的密码是安全的第一步。

同时养成定期修改密码的好习惯。

数据库管理员应该定期查看是否有不符合密码要求的账号。

首先单击“开始”|“程序”|“Microsoft SQL Server”|“查询分析器”,输入密码“sa”,如图所示:然后点击“确定”按钮,如图所示:在“查询分析器”窗口使用并执行下面的SQL 语句:Use masterSelect name,Password from syslogins where password is null(2)设置SA 用户的密码,请按下列步骤操作:单击“开始”|“程序”|“Microsoft SQL Server”|“企业管理器”,展开服务器组,然后展开服务器。

如图:展开安全性,然后点击登陆。

在细节窗格中,右键点击SA,然后点击属性。

在密码方框中,输入新的密码。

2.使用安全的账号策略由于SQL Server 不能更改sa 用户名称,也不能删除这个超级用户,所以,我们必须对这个账号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa 账号,只有当没有其它方法登陆到SQL Server 实例(例如,当其它系统管理员不可用或忘记了密码)时才使用sa。

建议数据库管理员新建立一个拥有于sa 一样的权限的超级用户来管理数据库。

安全的账号SQL Server 的认证模式有Windows 身份认证和混合身份认证两种。

如果数据库管理员不希望操作系统管理员通过操作系统登陆来接触数据库的话,可以在账号管理中把系统账号“BUILTIN\Administrators”删除(如下图)。

不过这样做的结果是一旦sa 账号忘记密码的话,就没有办法来恢复了。

很多主机使用数据库应用只是用来做查询、修改等简单功能的,请根据实际需要分配账号,并赋予仅仅能够满足应用要求和需要的权限。

比如,只要查询功能的,那么就使用一个简单的public 账号能够select 就可以了。

3.查看数据库日志请定期查看SQL Server 日志检查是否有可疑的登陆事件发生,如下图。

4.管理SQL Server 内置存储过程xp_cmdshell 控制系统( 1 )打开sql 查询分析器,输入要访问的数据库地址(如:192.168.JXZ.JXZx),然后点击确定。

如下图:利用SA 弱口令登陆SQL Server 服务。

(2)在新的窗口中输入:xp_cmdshell "dir c:";并按F5 执行查询。

如下图:(3)查看返回结果,如下图:(4)试图建立新用户输入:xp_cmdshell "net user mytestjxz 123456 /add" 后将添加一个mytest用户,密码为123456,类似效果如下图:然后,可以输入:xp_cmdshell "net user mytestJXZ"查看用户列表,类似效果如下图:(5)将新用户加入管理员组输入:xp_cmdshell "net localgroup administrators mytestjxz /add",然后按F5执行查询,类似效果如图:然后输入:xp_cmdshell "net user mytestjxz",检查修改结果,如下图:(6)删除xp_cmdshell数据库用户通过存储过程xp_cmdshell,能够用到windows 系统的内置命令,对系统安全是极大的威胁。

向数据库提交如下sql 语句:Use masterGoSp_dropextendedproc 'xp_cmdshell’将xp_cmdshell 存储过程从系统中删除。

如图:验证是否删除成功,通过xp_cmdshell 存储过程调用系统命令,看看是否删除成功。

恢复删除操作exec sp_addextendedproc xp_cmdshell, @dllname= ’xplog70.dll’.3.3.3 SQL Server2000 数据库备份与恢复1. SQL Server 2000 数据库备份(1)单击“开始”|“程序”|“Microsoft SQL Server”|“企业管理器”开服务器组,然后展开服务器。

如图:(2)展开数据库,选中所要备份的数据库,单击鼠标右键,依次选择“所有任务”“备份数据库”,如图:最后点击“确定”,如图:(4)开始备份,最后备份完成。

如图:2.SQL Server 2000 数据库还原(1)打开企业管理器,展开服务器组,然后展开服务器。

如图:(2)展开数据库,选中所要还原的数据库,单击鼠标右键,依次选择“所有任务”“还原数据库”,如图:(3)在弹出的对话框中,依次修改:“还原后的数据名”“要还原的备份文、件”。

如图:(4)然后选择“选项”标签卡,选中“在现有的数据库上强制还原”多选项。

(5)点击“确定”按钮开始还原。

如图:(6)最后还原完成。

如图:3.4 FTP 密码与 OE 账户嗅探3.4.1获取FTP帐户密码FTP协议数据包在传输的时候使用明文传输,我们可以通过对数据包的监听嗅探获得FTP帐户的用户名和密码。

确保主机A启动FTP服务使得主机B能够正常登录。

主机A:172.16.0.150主机B:172.16.0.1541.主机A网络嗅探(1)主机A进入实验平台“实验21 网络嗅探”的“练习一明文嗅探”,单击工具栏“协议分析器”按钮,启动协议分析器。

(2)启动协议分析器,单击菜单“设置”|“定义过滤器”,在“定义过滤器”界面中,选择“网络地址”选项卡,设置捕获本机IP 地址与同组主机地址间的数据,即在“站点1、方向、站点2”中设置;选择“协议过滤”选项卡,选中“IP”|“TCP”|“FTP Control”和“FTP Data”节点,单击“确定” 按钮完成过滤器设置。

单击“新建捕获窗口”按钮,点击“选择过滤器”按钮确定过滤信息。

在新建捕获窗口工具栏中点击“开始捕获数据包”按钮,开始捕获数据包。

2.主机B 远程FTP 登录在进行本步骤实验前,请确认主机A 协议分析器已开始捕获数据。

相关主题