资源描述
实验一 系统安全设置
[实验目的和要求]
1、掌握本地安全策略的设置
2、掌握系统资源的共享及安全的设置技术
3、掌握管理安全设置的技术
[实验内容]
1、本地安全策略
2、资源共享
3、管理安全设置
[实验步骤]
一、本地安全策略
“控制面板”--—“管理工具”—--“本地安全策略”,如图1—1。
图1-1 本地安全设置 图1-2 拒绝本地登录
在“用户权利指派”中查看:哪些用户不可以在本地登录?哪些用户可以从网络访问计算机?哪些用户可以关闭计算机?
答:分别见图1-2,1-3和1-4。
图1—3从网络访问计算机 图1-4 关闭系统
在“安全选项”中查看:如何使计算机在登录前必须按“CTRL+ALT+DEL”?未签名驱动程序的安装是如何设置的?如何禁止网络用户访问CD-ROM?
答:找到“交互式登录:不需要按CTRL+ALT+DEL",双击打开,选择“已禁用(S)”后单击“确定"按钮。
找到“设备:未签名驱动程序的安装操作",在下拉菜单中选择“允许安装但发出警告”,单击“确定”按钮即可。
找到“设备:只有本地登录的用户才能访问CD—ROM”,打开选择“已启用(E)",点击“确定”按钮即可。
二、文件共享
如何设置共享文件,并通过网上邻居访问共享文件?
设置共享文件:
方法一:“工具--文件夹选项--查看--使用简单文件夹共享”。这样设置后,其他用户只能以Guest用户的身份访问你共享的文件或者是文件夹.
方法二:“控制面板--管理工具--计算机管理”,在“计算机管理”这个对话框中,依次点击“文件夹共享--共享”,然后在右键中选择“新建共享"即可.
选择你要共享的文件,右击选择“属性",打开如图1—5显示的窗口。勾选“在网络上共享这个文件夹”即可在网络邻居访问这个文件.
图1-5 文件夹属性
三、管理安全设置
1、对“Internet选项”中的“安全”设置进行分析.为了保证浏览网页的方便,你认为哪些设置必需放开?而哪些设置又可能引起安全问题?
我认为对于网络的大部分设置应设为启用可方便浏览网页;对于ActiveX控间和插件的设置若设置为禁用可能会引起安全问题.
2、windows防火墙中的“例外”是什么意思?如何让某个应用程序不受防火墙限制?
一般情况下如果某程序使用了非常规方式连接互联网那么Windows默认防火就会提示,是否放行此程序。如果你点击放行,那么就会在防火墙规则中出现例外项。
点控制面板里面的WINDOWS防火墙,里面有个例外,点他就可以看到你允许了哪些程序运行
3、自动更新的主要目的是什么?有什么重要意义?
目的是定期更新重要的软件。
意义在于方便用户,不需要用户再手动下载更新,省时省力.
[实验思考题]
安全设置时,如何把握“度”?(如:区别原则、适度原则、适用原则……可借助搜索引擎)
(一)建议你下载恶意软件和木马强杀工具windows清理助手查杀恶意软件和木马:
下载安装后,首先升级到最新版本,然后退出正常模式并重启按F8进入到安全模式.打开软件,点击“系统扫描",对扫描结果全选,然后点击“执行清理”按钮,如果软件提示你是否“备份”,选择“是”(备份是为了防止发生清理错误,如果清理后系统没有发生异常,就删除备份),按提示进行操作即可。
(二)查杀恶意软件:用360安全卫士查杀恶意软件、木马、开启监控。
(三)建议你下载超级兔子,在她的IE选项中设置阻止弹出广告,也可将恶意网站的网址设置阻止的名单中就可阻止这些网站弹出窗口了。
(四)查杀恶意软件和木马后,打开IE选工具/ Internet选项/在常规中设置你的主页。
建议你下载超级兔子,在她的IE中设置你的主页,这样你的主页就不容易被恶意网站更改了。
如果IE选主页为灰色不可选,这样设置,开始/运行输入gpedit.msc回车打开组策略,在左侧选用户配置/管理模板/Internet Explorer/在右侧选“禁用更改主页设置”双击它,在打开的对话框中选择“未配置”然后按应用确定,重启电脑即可。
(五)设置主页后,将主页锁住不让恶意网站修改:
开始/运行输入gpedit。msc回车打开组策略,在左侧选用户配置/管理模板/Internet Explorer/在右侧选“禁用更改主页设置"双击它,在打开的对话框中选择“已启用”然后按应用确定,重启电脑即可。
(六)使用超级兔子修复IE,清理恶意插件。
建议你不要下载小网站的软件或插件,这样就能避免上述故障的发生。
实验二 系统检测与分析
[实验目的和要求]
1、掌握恶意软件的基本概念与特征
2、掌握系统检测与分析工具的使用
3、掌握简单安全问题的处理
[实验内容]
1、系统扫描程序HijackThis的使用
2、P进程浏览器rocessExplorer的使用
[实验步骤]
一、实验预备知识
“恶意软件”是一个集合名词,来指代故意在计算机系统上执行恶意任务的病毒、蠕虫和特洛伊木马。
特洛伊木马程序包含了旨在利用或损坏运行该程序的系统的隐藏代码.特洛伊木马不被认为是计算机病毒或蠕虫,因为它不自行传播。特洛伊木马可能在系统中提供后门,使黑客可以窃取数据或更改配置设置.
蠕虫使用自行传播的恶意代码,它可以通过网络连接自动将其自身从一台计算机分发到另一台计算机上。蠕虫会执行有害操作,例如,消耗网络或本地系统资源,这样可能会导致拒绝服务攻击。
病毒病毒代码的明确意图就是自行复制(将其自身的副本添加到文件、文档或磁盘驱动器的启动扇区来进行复制)。病毒尝试将其自身附加到宿主程序,以便在计算机之间进行传播。它可能会损害硬件、软件或数据。宿主程序执行时,病毒代码也随之运行,并会感染新的宿主,有时还会传递额外负载。
二、系统扫描程序
1、HijackThis
HijackThis(右击另存为)是一个扫描程序.其扫描结果的每项都有一个编号,代表不同含义。O2--代表浏览器辅助对象。O3--代表IE工具栏项。O4--代表从注册表自动加载的程序。04代表启机时自动加载的程序,你要对系统有一定的了解,以确定它们是无害的还是有害的。O8--IE右键菜单中的额外项。如果不能识别IE右键菜单中的项目名称,用HijackThis修复它。
O23项提示注册为系统服务的程序(可以通过运行—〉Services.msc,察看所有的系统服务)。很多正常软件都会注册到系统服务,比如各种杀毒软件和防火墙的服务以及Apache,MySQL等软件,般来说这些正常的服务的描述都很容易识别他们的身份。
2、操作应用
用HijackThis扫描计算机,借助于搜索引擎,对扫描结果的至少15项做一个安全分类表,指出哪些是安全的?哪些是可疑的?并说明原因?
图2—1
图2-2 HijackThis扫描结果
表2—3分析结果
三、进程浏览器的使用
ProcessExplorer是一个进程浏览器应用程序。
图2—4 ProcessExplorer运行结果
请你对计算机做一个进程分析:至少对其中的15个进程做一个进程分类表,指出哪些是安全的?哪些是可疑的?并说明原因?如表2—4
表2—5 分析结果
[实验思考题]
如何保障你的计算机安全?(不少于300字)
我觉得要保障计算机安全应做到以下几点:
一、 密码安全原则。不要使用太简单的密码。不要简单地用单词、 生日或电话号码作密码, 密码长度至少要在 8 个字符以上, 应该同时包含大、 小写字母、 数字和键盘上的其他字符; 还要, 要经常更换密码, 并且不向任何人透露密码。
二、 E — ma il 安全原则.不要轻易运行E— mail 附件中的可执行程序,除非确定知道信息来源; 对E — mail 附件要先用防毒软件和清楚木马的工具扫描后方可使用。
三、 使用IE 软件的安全原则。IE 中的历史记录保存了用户访问过的全部页面的链接, 在离开前一定要清掉历史记录; 另外 IE 的临时文件夹中保存了用户已浏览过的内容, 所以离开前也应删除此路径下的所有文件。
四、 使用聊天软件的安全原则。在用聊天软件时,最好设置成隐藏用户,以免别有用心的人使用专用软件查到 IP 地址,然后使用针对IP 的黑客工具发动攻击。
五、 防范特洛伊木马的原则。不要轻易信任何人,不要轻易安装、 运行那些从不知名、 不可靠的网站下载来的软件和来历不明的软件,有些程序可能就是木马程序。
六、 定期升级系统.软件开发商会公布补丁,以便用户补上这些漏洞,建议用户订阅有关这些漏洞的E- mail 列表, 以便及时知道这些漏洞并打上补丁,以防黑客攻击。
七、 安装防火墙.不要在没防火墙的情况下上网。 如果使用的 是宽带, 意味着可能在任何时候都联上 Int ernet, 这样就很有可能成为黑客的目标。 最好在不需要网络的时候断开联接,如可以,最好在电脑上安装防黑客的防火墙—-一种专门反入侵的程序作电脑的门卫,以监视数据流或断开网络联接.
实验三 常用防火墙软件的使用
[实验目的和要求]
1、掌握防火墙的一般应用
2、掌握防火墙的端口设置技术
3、掌握常见病毒的防控技术
[实验内容]
1、防火墙的一般应用
2、防火墙的端口设置技术
3、常见病毒的防控
[实验步骤]
一、普通应用(默认情况)
下载:天网 (注:由于版本不一样,下面的有关示例图会有一些偏差.)
下面来介绍天网的一些简单设置,如下图3—1是系统设置界面,大家可以参照来设置:
图3-1系统设置界面 图3-2 IP规则
图3—2是IP规则,一般默认就可以了。
下面是各个程序使用及监听端口的情况,可以查看什么程序使用了端口,使用哪个端口,是不是有可疑程序在使用网络资源,如木马程序,然后可以根据要求再自定义IP规则里封了某些端口以及禁止某些IP访问自己的机子等等。
图3-3各个程序使用及监听端口的情况 图3-4 日志
再看3—4就是日志,上面记录了你程序访问网络的记录,局域网,和网上被IP扫描你端口的情况.
二、防火墙开放端口应用
常用端口号的含义
• 21/tcp FTP 文件传输协议
• 22/tcp SSH 安全登录、文件传送(SCP)和端口重定向
• 23/tcp Telnet
• 25/tcp SMTP Simple Mail Transfer Protocol (E-mail)
• 79/tcp finger Finger
• 80/tcp HTTP 超文本传送协议 (WWW)
• 110/tcp POP3 Post Office Protocol (E-mail)
• 1433 Microsoft的SQL服务开放的端口。
如果想开放端口就得新建新的IP规则,在自定义IP规则里双击进行新规则设置,如图3-5显示.
图3-5增加IP规则 图3-6修改IP规则
点击增加规则后就会出现图3—6所示界面,我们把它分成四部分。
三、打开端口实例
BT使用的端口为6881-6889端口这九个端口,而防火墙的默认设置是不允许访问这些端口的,它只允许BT软件访问网络,所以有时在一定程度上影响了BT下载速度。下面以打开6881-6889端口举个实例。
1)建立一个新的IP规则,由于BT使用的是TCP协议,所以按图3-7设置就OK了,点击确定完成新规则的建立。
图3—7
设置新规则后,把规则上移到该协议组的置顶,并保存。然后可以进行在线端口测试是否BT的连接端口已经开放的,如图3-8。
图3-8
四、应用自定义规则防止常见病毒
上面介绍的是开放端口的应用,大体上都能类推,如其他程序要用到某些端口,而防火墙没有开放这些端口时,就可以自己设置.下面来介绍一些实例的应用,就是封端口,让某些病毒无法入侵。
1、防范冲击波
冲击波是利用WINDOWS系统的RPC服务漏洞以及开放的69、135、139、445、4444端口入侵。
如何防范,就是封主以上端口,首先在图八里见到的“禁止互联网上的机器使用我的共享资源"这项的起用(就是打勾)就已经禁止了135和139两个端口。
图3-9是禁止4444端口的。
图3-9
下面是禁止69和445端口的图,图3-10为69,图3—11为445.
图3-10 图3—11
建立完后就保存,记得保存,保存完后就可以防范冲击波了。
2、防范冰河木马
冰河使用的是UDP协议,默认端口为7626,如图3-12。
图3—12
如你掌握一些病毒的攻击特性及其使用的端口就可以参照上面的方法设置,其实设置都差不多.
五、下面介绍怎么打开WEB和FTP服务
图3—13 WEB服务 图3-14 FTP服务
六、常见日志的分析
使用防火墙关键是会看日志,看懂日志对分析问题是非常关键的。日志记录了不符合规则的数据包被拦截的情况,通过分析日志就能知道自己受到什么攻击,如图3—15。
图3—15
看上图,一般日志分为三行,
第一行反映了数据包的发送、接受时间、发送者IP地址、对方通讯端口、数据包类型、本机通讯端口等等情况;
第二行为TCP数据包的标志位,共有六位标志位,分别是:URG、ACK、PSH、RST、SYN、FIN,在日志上显示时只标出第一个字母。
第三行是对数据包的处理方法,对于不符合规则的数据包会拦截或拒绝,对符合规则的但被设为监视的数据包会显示为“继续下一规则”.
如图所示,UDP数据包被拦截了。
七、练习与思考
1、如何用防火墙来禁止本地的应用程序(如QQ)访问网络?(用两种方法)
第一种:确认不要将QQGame这个程序添加到各自的“例外”规则中,当你进入QQ时会发现,天网个人防火墙立即阻止QQ的网络访问,然后询问是否给予通行.
第二种:而Windows防火墙对这个主动出站的请求不做任何处理,就好像没有防火墙一样,输入帐户信息后登录到游戏平台,QQGame实际上已经完成了往外网络访问;这时需要将游戏信息下载到本地(就是有外部访问请求),防火墙就弹出了“Windows 安全警报”。
2、如何禁止本机访问WEB站点?
点击菜单栏上的”工具"选项,点”Internet选项",在出来的对话框中点”安全”选项,点"受限制的站点",再点"站点”按钮,将WEB网站添加到上面, "点击"确定"按钮即可。
实验四 数字证书的创建与程序签名
[实验目的和要求]
1、了解并掌握数字证书的工作原理;
2、掌握数字证书的使用方法
[实验内容]
1、数字证书的制作和安装
2、程序文件的数字签名与使用
[实验环境]
Windws9x/NT/2000/XP
数字证书制作相关软件
[实验步骤]
一、“数字证书”制作相关软件
makecert。exe 制作cer格式的证书,即X。509证书,同时可以创建私钥.makecert。exe是一个微软出品的用来制作”数字签名"的软件,是命令行界面,利用它可以轻松地做出属于自己的个人“数字签名”。(注:自己做出来的这个数字签名不属于受信任的证书)
cert2spc.exe 将cer格式证书转换成spc格式证书,即PKCS #7证书
IEXPRESS是MAKECAB。EXE的GUI界面程序,用来把程序所需文件压缩打包为CAB格式,便于传输,当然如果你的程序是一个独立的EXE文件时,可以不需要用这个工具打包,但考虑现在多数免费空间不支持EXE格式的文件上传,建议打包!类似的工具还有命令行界面的Cabarc。exe。
signcode。exe(数字签名软件) 用自己的“数字证书”签署自己的软件,给软件加上数字签名,使其可以在网页中运行。(如:可将证书签署到ocx上去)
chktrust。exe 检查签署证书后的ocx是否正确
软件下载(右击另存为)
二、具体的步骤
1、创建一个自己的证书文件:
makecert —sv zdb。pvk -n ”CN=金种子” —r -b 01/01/1900 -e 01/01/9999 zdb。cer
其中,运行过程中需要输入私人密钥的保护密码,要输入一致。(直接点”无"按钮也可以)
最后得到zdb。PVK和zdb。cer两个文件。
注:makecert 命令中各参数的含义:
—sv zdb。pvk 意思是生成一个私匙文件 zdb.pvk
—n ”CN=金种子” 其中的"金种子"就是签名中显示的证书所有人的名字
-ss My 指定生成后的证书保存在个人证书中
-r 意思是说证书是自己颁发给自己的
-b 01/01/1900 指定证书的有效期起始日期,格式为 月/日/年,最低为1900年
—e 01/01/9999 指定证书的有效期终止日期,格式同上
又如:
makecert -sv zdb。pvk -n ”CN=金种子,E=ec879@263。net,O=Mircrosoft" —r zdb.cer,如图4-1所示。
图4-1
2、转换cer格式为spc格式(可以省略)
cert2spc zdb.cer zdb。spc
得到zdb.spc文件。
3、在IE的“工具→Internet选项→内容→证书→受信任的根证书颁发机构”中导入上述数字证书zdb。导入成功后如下图4-2所示。
图4-2
4、把要用到的程序文件打包为CAB格式格式
[注:如果你的程序是单独的一个EXE或ocx文件,也可以省去本步骤!]
首先建立runexe。inf文件,内容如下:
[Version]
Signature=$CHICAGO$
[zdb]
run=%EXTRACT_DIR%\zdb.exe
[Setup Hooks]
zdb=zdb
记得要把上面的"zdb.exe"改为你的程序名!
然后,运行IEXPRESS。EXE,选中"创建新的自解压缩指令文件”,进入下一步,选中"只创建压缩文件(ActiveX安装)”,进入下一步把用到的程序包括程序调用的DLL(如果有的话)添加进列表中,千万不要忘记把”runexe.inf”也添加进来。最后,即可生成zdb.CAB,如图4-3。
图4-3
5、为zdb。CAB签署数字签名
双击运行signcode。exe,选择要签名的文件(如zdb.CAB、mfc.exe),”签名选项”中的”签名类型”选定"自定义(C)",下一步 ”从文件中选择”证书文件zdb.cer,再下一步的私匙选定第一步生成的zdb。pvk文件,如图4-4所示。然后进入描述.[”描述(可选)”:下的输入框中输入的文字在把程序嵌入网页中是会出现]
最后,是加盖时间戳的地址,填无.
图4—4
“数字签名”完成.
此时,查看文件的属性,数字签名信息如图4—5所示:
图4—5
如果时间戳的地址填
图4—6
6、当然就是把做好的程序嵌入到网页中。
加入到网页中的代码如下(zdb.HTM):
<HTML><head>
〈title〉“数字签名”控件测试</title>〈/head>
<BODY〉
〈OBJECT width=0 height=0 style="display:none;” TYPE="application/x-oleobject" CODEBASE=”zdb。CAB”〉</OBJECT>
</BODY>
</HTML〉
将zdb。HTM和已签名的程序文件上传到WEB服务器。
访问zdb。HTM,如果出现了“Windows已经阻止此软件因为无法验证发行者”的情况,就在IE设置中把相应的网站加入到信任网站!如图4-7(注:“对该区域中的所有站点要求服务器验证”前面的勾去掉)
图4—7
当证书未安装在“受信任的根证书颁发机构"时,出现提示:
如果证书已安装在“受信任的根证书颁发机构”中,签名程序将直接运行。
实验五 凯撒加解密算法实现
[实验目的和要求]
1、了解凯撒加密、解密过程,掌握其工作原理;
2、编写凯撒加密、解密编码程序
[实验内容]
1、编程实现对英文字串的恺撒移位加密和解密
2、编程实现对英文字串的恺撒系统加密和解密
[实验环境]
Windws9x/NT/2000/XP
Visual C++ 6。0 (或其它编程工具)
[实验步骤]
一、凯撒加密的原理
恺撒密码(Caesar cipher )据传是古罗马恺撒大帝用来保护重要军情的加密方法。也就是今天我们所说的替代密码。“凯撒加密算法”是一种简单替换法,它把每个字母和它在字母表中后若干个位置中的那个字母相对应。比如说我们取后三个位置(3就是其加密密钥,解密密钥也是3),那么字母的一一对应就如下表所示。
Plain(明码字母表) ABCDEF GHIJKLMN OPQRST UVWXYZ
Cipher(密码字母表) DEFGHI JKLMNOPQ RSTUVW XYZABC
假如有这样一条指令:
明文:THE DOG
密文:WKH GRJ
一般形式,可以把恺撒密码中字母移动的位数由3变为1-25中的任何一个.如将每个字母左19位,就产生这样一个明密对照表:
Plain(明码字母表):ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher(密码字母表):TUVWXYZABCDEFGHIJKLMNOPQRS
此时,明文B A I D U对应的密文为:UTB WN。
因此,对于密钥n,明文字符的ASCII值X和密文字符的ASCII值Y的关系如下:
加密:Y = X + n(mod 26)
解密:X = Y — n(mod 26)
显然,n的有效值为0到25。如果n = 0,那么相当于没有对明文进行加密操作。
二、凯撒加密的程序实现
下面是在Visual C++2005下实现的控制台程序。仔细阅读,并上机测试.
运行结果如下图所示。
三、凯撒系统的加密程序实现
恺撒系统的密钥是自己设定的一个字串或单词。根据密钥即可生成与明文字母序对应的密文字母序。
例如,密钥选用mountain,在正常字母序列Abcdefghijklmnopqrstuvwxyz中抽掉你的密钥mountain(由于mountain中有两个n,第二个n不予考虑),则得到一个新的密文字母序列:mountaibcdefghjklpqrsvwxyz.
所以,在密钥mountain作用下的密文字母序和明文字母序对应关系如下:
Mountaibcdefghjklpqrsvwxyz...。。。。密文字母序
Abcdefghijklmnopqrstuvwxyz。。...。。明文字母序
在加密的时候,用上面那个序列里的字母代替原文中的字母写成密文。所以,加密heishere的结果是:btcqbkpt。 解密时方向相反。
如果文本中有数字,可以写一个36字符的序列,并把数字加在你的密码中.
现在,请你编程实现凯撒系统的加密和解密过程.(你可使用任一种可视化编程工具来实现)
kaisa.hpp
#include 〈iostream〉
class Kaisa{
public:
void setI();
void setX();
void jiami();
void jiemi();
private:
int i;
};
代码:kaisa。cpp
//恺撒密码的实现
#include ”kaisa。hpp"
using namespace std;
void Kaisa::setI(){
cout 〈〈 "\n请输入加密密码:”;
cin 〉> i;
}
void Kaisa::jiami(){
char a, b, c;
cout << "\n请输入明文:\t”;
cin 〉〉 a;
b = char('z’ - i%26);
c = char('Z' - i%26);
cout << "\n密文是:\t";
while(a != '\n'){
if((a <= 'z' && a 〉= 'a') || ( a 〈= 'Z’ && a >=’A’)){
if((a <= b && a 〉= 'a’) || ( a <= c && a >='A’))
cout 〈〈 char(a + i%26);
if(a > c && a 〈= ’Z')
cout 〈< char(a + i%26 — 26);
if(a 〉 b && a <= ’z')
cout 〈< char(a + i%26 - 26);
if(a == ’ ’)
cout << " ”;
}
else
cout 〈〈 a;
a = cin.get();
}
cout << endl;}
void Kaisa::setX(){
cout 〈〈 "\n请输入解密密码:”;
cin >> i;
}
void Kaisa::jiemi(){
char a, b, c;
cout <〈 ”\n请输入密文:\t”;
cin 〉〉 a;
b = char('a' + i%26);
c = char(’A’ + i%26);
cout <〈 ”\n明文是:\t”;
while(a != ’\n'){
if((a 〈= 'z’ && a >= 'a') || ( a 〈= ’Z' && a >=’A’)){
if((a <= ’z’ && a >= b) || ( a <= 'Z' && a 〉= c))
cout 〈< char(a - i%26);
if(a 〉= 'a’ && a 〈 b)
cout 〈〈 char(a — i%26 + 26);
if(a 〉= ’A' && a 〈 c)
cout 〈〈 char(a — i%26 + 26);
if(a == ' ')
cout << " ";
}
else
cout <〈 a;
a = cin.get();}
cout <〈 endl;}
int main(){
int t;
cout 〈< ”(1)\t\t选择加密" 〈〈 endl
<< ”(2)或其他\t选择解密" 〈〈 endl
〈〈 ”选择:”;
cin >> t;
Kaisa kaisa;
if(t == 1){
kaisa。setI();
kaisa.jiami();
}
Else{
kaisa。setX();
kaisa.jiemi();
}
return 0;
}
12
展开阅读全文