《unix操作系统安全.pdf》由会员分享,可在线阅读,更多相关《unix操作系统安全.pdf(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、UNIX操作系统安全操作系统安全 从正海从正海 Email: 2 本课重点本课重点 1.基本概念 2.用户和文件系统 3.网络安全 5.最佳实践 4.应用安全 3 1.基本概念计算机安全的概念基本概念计算机安全的概念 计算机安全这个通用术语所涉及的计算和信息处理领域比较广泛。依赖于计算机系统和网络来处理日常商业事务和存取重要信息的行业把它们的数据当作公司总资产的重要组成部分。一些术语和衡量标准也渐渐开始出现在我们的日常商业用语中。例如:整体拥有成本(total cost of ownership,TCO)、服务质量(quality of service,QoS)。在这些衡量标准中,行业把数据完
2、好性和高可用性方面也计算入他们的计划和进程管理费用中。在某些行业(如电子商务)中,数据的可用性和可信性可能就会决定成败。4 1.基本概念计算机安全的标准化基本概念计算机安全的标准化 计算机安全标准(CIA模型)机密性 confidentiality 保密信息必须只能够被一组预先限定的人员存取。对这类信息的未经授权的传 输和使用应该被严格限制。例如,信息机密性会确保顾客的个人和财务信息不被未经授权的人员获取以用于窃取身份或信用卡贪污之类的不良企图。完整性 Integrality 信息不应该被能够导致它不完整或不正确的方式改变。未经授权的用户不应该具备修改或破坏保密信息的能力。可用性 Availa
3、bility 信息应该能够被授权的用户在任何需要的时候都可以被存取。可用性是信息能够在规定的时间范围内、按照规定的频率而能够被获取的保证。这通常是按照百分比来衡量的,并且被网络服务器提供者和他们的企业客户使用的服务级别协议(SLA)正式达成协议。5 1.基本概念安全控制基本概念安全控制 计算机安全经常被分成三大特性鲜明的主要类别,一般被称为“控制”:物理控制物理控制 物理控制是一种在被规定的结构内实现安全性的措施,它用来防范或防止对保密资料未经授权的存取。物理控制的例子有:闭路监控照相机 动作或热像报警系统 警卫人员 照片证件 上锁的和带有锁定插销的钢门 技术控制技术控制 技术控制使用技术作为
4、控制对整个物理结构内和网络中的机密数据使用的基础。技术控制的范围比较广,它包括的技术有:加密 智能卡 网络验证 访问存取控制列表(ACL)文件完好性审查软件 管理控制管理控制管理控制定义了安全问题在人员方面的因素。它涉及了机构中所有级别的人员,并使用类似以下的方法来决定哪些用户可以存取哪些资源:培训和警惕性 灾难预备和恢复计划 人员招聘和分工策略 人员注册和记录 6 1.基本概念攻击者和弱点基本概念攻击者和弱点 攻击者和弱点攻击者和弱点 为了设计和实现一个良好的安全策略,我们首先要明确激发攻击者决意攻击和破坏系统的原因所在。但是在详细阐明这些问题前,我们必须首先定义识别攻击者时所用的术语。攻击
5、者:黑客、军事间谍、商业间谍、内部员工、安全技术追随者攻击者:黑客、军事间谍、商业间谍、内部员工、安全技术追随者 黑客的描述:黑客的描述:白帽黑客(white hat hacker)测试网络和系统的性能来判定它们能够承受入侵的强弱程度。通常,白帽黑客攻击他们自己的系统,或被聘请来攻击客户的系统以便进行安全审查。学术研究人员和专职安全顾问就属于白帽黑客。黑帽黑客(black hat hacker)是怪客的同义词。通常来说,怪客并不注重于入侵系统的编程或学术方面。他们经常为了个人利益而依靠现成的攻击程序和著名的系统漏洞弱点来发现保密信息,或破坏目标系统或网络。另一方面,灰帽黑客(grey hat
6、hacker)在多数情况下都具备白帽黑客的技术和意图,但是偶尔也使用这种知识来进行不太光明正大的行径。灰帽黑客可以被认为是偶尔会为个人企图而戴着黑帽的白帽黑客。典型的灰帽黑客会遵循另一种黑客道德。他认为闯入系统是无可非议的,只要不进行盗窃或破坏保密信息行为就可以。不过,某些人可能会说,闯入系统本身就是不道德的。不管入侵者的意图如何,了解怪客会试图利用的漏洞这一点都很重要。本章的剩余部分将会集中讨论这些问题。7 1.基本概念攻击者和弱点基本概念攻击者和弱点 对网络安全的威胁对网络安全的威胁 在配置网络的以下方面时,某些不良习惯会增加系统被攻击的危险性。不安全的体系不安全的体系 一个被错误配置的网
7、络是未经授权用户的主要入口。把一个基于信任的开放型本地网络向极不安全的互联网敞开就如同住在一个罪案重重的街区里却不封门闭户一样 在一段时间内可能什么也不会发生,但是最终总会有人要利用这个机会。广播式网络广播式网络 系统管理员经常忽略联网硬件在保安计划里的重要性。简单的硬件,如集线器和路由器,依赖广播或非转换的原理;这就是说,不管什么时候某个节点通过网络来传输数据,集线器或路由器都会广播这些数据分组,直到接收节点收到并处理这些数据为止。这种方法最容易被外界入侵者和本地未经授权的用户施行地址解析协议(arp)或媒体访问控制(MAC)的地址假冒攻击。中央化的服务器中央化的服务器 另一种潜在的联网危险
8、是对中央化计算系统的使用。许多企事业中最常使用的节省开支措施是把所有的服务都集中于单个功能强大的机器上。这种方法会很省事,因为它比多服务器的配置要更好管理,而且开支也少。然而,中央化的服务器也给网络带来了单一失效点的问题。如果中央服务器泄密了,这就会导致整个网络都变得完全无用,甚至造成数据被篡改或盗窃。在以上这些情况下,中央服务器就成为一个敞开的大门,允许任何人进入整个网络。8 1.基本概念攻击者和弱点基本概念攻击者和弱点 对服务器安全的威胁对服务器安全的威胁 服务器安全和网络安全同等重要,这是因为服务器中常常贮存着机构内部的大量重要信息。如果一个服务器泄密了,其中的所有内容都可以被怪客随心所
9、欲地利用。对服务器的安全威胁主要体现在:对服务器的安全威胁主要体现在:未用的服务和打开的端口未用的服务和打开的端口 未打补丁的服务未打补丁的服务 管理疏忽管理疏忽:如管理员忘记给系统打补丁 带有固有不安全因素的服务:带有固有不安全因素的服务:许多服务是在用于可信任网络的假定条件下被开发的;然而,一旦这些 服务可通过互联网被使用,这个假定条件就不适用了。互联网本身就带有固有的不可信任性。如Telnet本来是安全的但通过互联网使用监听工具就变的很不安全。9 1.基本概念攻击者和弱点基本概念攻击者和弱点 对工作站和家用电脑安全性的威胁对工作站和家用电脑安全性的威胁 不良口令不良口令 不良口令是攻击者
10、获得对系统的访问权的最简单的方法之一。操作系统补丁操作系统补丁 有弱点的客户应用程序有弱点的客户应用程序 虽然管理员可能会有一个完全安全的、全面打过补丁的服务器,这并不意味着 远程用户在进入它时就是安全的。例如,如果服务器提供经由公共网络的 Telnet 或 FTP 服务,攻击者可能会在纯文本用户名和口令在网络中经过时劫获它们,然后使用这个帐号信息来进入远程用户的工作站。10 2.用户和文件系统安全用户和文件系统安全 用户和组群的基本概念用户和组群的基本概念 Linux的用户管理是系统管理的基础,系统管理员必须全面地掌握系统允许登录的用户、类型和访问权限等账号信息的管理。用户与用户账号用户与用
11、户账号 1、2、Linux中的用户 超级用户:root,最高权限。系统用户:与系统服务相关的用户,安装相关软件时自动创建。普通用户:由超级用户创建。网络操作系统与服务器网络操作系统与服务器 服务器与系统共享资源服务器与系统共享资源 系统共享资源与用户系统共享资源与用户 用户管理用户管理 用户账号 用户名 用户 三 种 用 户 11 2.用户和文件系统安全用户和文件系统安全 3、账号(account)账号:用户的资源的信息。账号属性:*用户名 *口令 *用户ID(UID:User IDentity)UID范围:1499号,系统使用;0号,root用户;从500起,普通用户。与用户相关的文件与用户
12、相关的文件 1、用户账号信息文件/ect/passwd 2、用户口令信息文件/etc/shadow 3、用户目录 *用户主目录:为每一个普通用户创建一个用户主目录,/home/用户名。*超级用户的主目录:/root。12 2.用户和文件系统安全用户和文件系统安全 组群组群 1、组群ID(GID)每一个用户都属于某一个组群(组群的GID类似于用户ID)。系统组群、私人组群、组群名、组群ID(GID)、组群口令等。2、用组群管理用户的优点 设置组的属性及权限,组中的成员就享有该组同样的权限;有人员变动时只需改变组的成员即可;不必去为每个用户设置属性,节省了大量的重复劳动,方便管理用户。与组群相关的
13、文件与组群相关的文件 1、组群账号信息文件/etc/group 2、组群口令信息文件/etc/gshadow 网络用户 几百个或几千个用户 每个用户有资源需求 分类归并成几大类用户 相同类型的组成“组群”组 名 13 2.用户和文件系统安全用户和文件系统安全 Shell命令方式的用户和组的管理命令方式的用户和组的管理 1、管理用户(p.114)useradd 命令 格式:useradd 选项 用户名 功能:新建用户账号。例1:#useradd tom (UID同时生成,如何指定UID?)例2:#useradd -g hellen jerry 建立jerry账号,并归入hellen组 passw
14、d 命令 格式:passwd 选项 用户 功能:设置或修改用户的口令以及口令的属性。例3:#passwd tom 例4:tomlocalhost tom$passwd 例5:#passwd -d jerry 删除口令 例6:#passwd -l tom 锁定账号 例7:#passwd -u tom 解除账号锁定 14 2.用户和文件系统安全用户和文件系统安全 文件安全与权限文件安全与权限 一个文件一经创建,就具有三种访问方式:一个文件一经创建,就具有三种访问方式:可读,可以显示该文件的内容。可写,可以编辑或删除它。可执行,如果该文件是一个shell脚本或程序。按照所针对的用户,文件的权限可分为
15、三类:按照所针对的用户,文件的权限可分为三类:文件属主,创建该文件的用户。同组用户,拥有该文件的用户组中的任何用户。其他用户,即不属于拥有该文件的用户组的某一用户 15 2.用户和文件系统安全用户和文件系统安全 文件属性文件属性 当你创建一个文件的时候,系统保存了有关该文件的全部信息,包括:文件的位置、文件类型、文件长度、哪位用户拥有该文件,哪些用户可以访问该文件、i节点、文件的修改时间、文件的权限位 让我们使用ls-l命令,来看一个典型的文件:$ls l total 4232-rwxr-xr-x 1 root root 3756 Oct 14 04:44 dmesg 下面让我们来分析一下该命
16、令所得结果的前面两行,看看都包含了哪些信息:total 4232:这一行告诉我们该目录中所有文件所占的空间-rwxr-xr-x:这是该文件的权限位。如果除去最前面的横杠,这里一共是9个字符,他们分别对应9个权限位。通过这些权限位,可以设定用户对文件的访问权限。这9个字符可以分为三组:rwx:文件属主权限这是前面三位 r-x:同组用户权限这是中间三位 r-x:其他用户权限这是最后三位 出现在r、w、x位置上的横杠表示相应的访问权限被禁止 1 该文件硬链接的数目 root文件的属主 root文件的属主root所在的缺省组(也叫做root)3578 用字节来表示的文件长度 Oct 14 04:44
17、文件的更新时间 dmesg 文件名 16 2.用户和文件系统安全用户和文件系统安全 文件类型文件类型 从ls-l命令所列出的结果的第一位是文件类型位:d 目录 l 符号链接(指向另一个文件)s 套接字文件 b 块设备文件 c 字符设备文件 p 命名管道文件-普通文件,或者更准确地说,不属于以上几种类型的文件 17 2.文件系统安全文件系统安全 改变权限位改变权限位 对于属于你的文件,可以按照自己的需要改变其权限位的设置。可以使用c h m o d命令来改变文件权限位的设置。符号模式 chmod命令的一般格式为:chmod who operator permission filename who
18、的含义是:u 文件属主权限。g 同组用户权限。o 其他用户权限。a 所有用户(文件属主、同组用户及其他用户)。operator的含义:+增加权限。-取消权限。=设定权限。permission的含义:r 读权限。w 写权限。x 执行权限。s 文件属主和组s e t-I D t 粘性位*l 给文件加锁,使其他用户无法访问 18 2.文件系统安全文件系统安全 绝对模式绝对模式 chmod命令绝对模式的一般形式为:chmod mode file 其中mode是一个八进制数。在绝对模式中,权限部分有着不同的含义。每一个权限位用一个八进制数来代表,读属性r代表数是4,写属性w代表数是2,执行属性x代表数是
19、1,如果同时具有三者属性就是4+2+1=7,如果只具备读属性和写属性就是4+2=6,如果只具备读属性就是4。chomd 744 file 命令的意思是给用户增加度、写、执行属性;用户所在组具有读属性;其余用户具有读属性 如果希望一次设置目录下所有文件的权限,可以用:chmod 644*这将使文件属主和同组用户都具有读和写的权限,其他用户只具有读权限 还可以通过使用-R选项连同子目录下的文件一起设置:chmod-R 664/usr/local/home/dave/*这样就可以一次将/u s r/l o c a l/h o m e/d a v e目录下的所有文件连同各个子目录下的文件的权限全部设置
20、为文件属主和同组用户可读和写,其他用户只读 19 2.用户和文件系统安全用户和文件系统安全 目录目录 目录的权限位和文件有所不同,目录的读权限位意味着可以列出其中的内容,写权限位意味着可以在该目录中创建文件,如果不希望其他用户在你的目录中创建文件,可以取消相应的写权限位,执行权限位则意味着搜索和访问该目录的权限将会覆盖该目录中文件的权限。chown和chgrp 当你创建一个文件时,你就是该文件的属主。一旦你拥有某个文件,就可以改变它的所有权,把它的所有权交给另外一个/etc/passwd文件中存在的合法用户。可以使用用户名或用户ID号来完成这一操作。只有文件的属主和系统管理员可以改变文件的所有
21、权。一旦将文件的所有权交给另外一个用户,就无法再重新收回它的所有权。如果真的需要这样做,那么就只有求助于系统管理员了。chown命令改变文件的所有权,其形式为:chown-R-h owner file-R选项意味着对所有子目录下的文件也都进行同样的操作。-h选项意味着在改变符号链接文件的属主时不影响该链接所指向的目标文件 chgrp命令改变用户所属的组,格式和chown命令差不多 找出你所属于的用户组:group 找出其他用户所属的组:group 用户名 20 2.用户和文件系统安全用户和文件系统安全 umask 当最初登录到系统中时,umask命令确定了你创建文件的缺省模式。你的系统管理员必
22、须要为你设置一个合理的umask值,以确保你创建的文件具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限。在已经登录之后,可以按照个人的偏好使用umask命令来改变文件创建的缺省权限。相应的改变直到退出该shell或使用另外的u m a s k命令之前一直有效。一般来说,umask命令是在/etc/profile文件中设置的,每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应的条目。如果希望永久性地设置自己的umask值,那么就把它放在自己$HOME目录下的.profile 或.bash_profile文件中。如何计算umask值 umas
23、k命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来说,umask中各个数字最大可以到7 该命令的一般形式为:其中nnn为umask置000-777 通过设置umask值,可以为新创建的文件和目录设置缺省权限。21 2.用户和文件系统安全用户和文件系统安全 计算umask umask是从权限中“拿走”相应的位,例如,对于umask值002,相应的文件和目录缺省
24、创建权限是什么呢?第一步,我们首先写下具有全部权限的模式,即777(所有用户都具有读、写和执行权限)。第二步,在下面一行按照umask值写下相应的位,在本例中是002。第三步,在接下来的一行中记下上面两行中没有匹配的位。这就是目录的缺省创建权限。稍加练习就能够记住这种方法。第四步,对于文件来说,在创建时不能具有文件权限,只要拿掉相应的执行权限比特即可。这就是上面的例子,其中umask值为002:1)文件的最大权限rwx rwx rwx(777)2)umask值为002-w-3)目录权限rwx rwx r-x(775)这就是目录创建缺省权限 4)文件权限rw-rw-r-(664)这就是文件创建缺
25、省权限 如果想要知道当前的umask值,可以使用umask命令:$umask$022 如果想要改变umask值,只要使用umask命令设置一个新的值即可:$umask 002 22 2.用户和文件系统安全用户和文件系统安全 符号链接符号链接 存在两种不同类型的链接,软链接和硬链接,这里我们只讨论软链接。软链接实际上就是一个指向文件的指针使用软链接来保存文件的多个映像 下面我们就解释一下符号链接是怎么回事。比方说在/usr/local/admin/sales目录下有一个含有销售信息的文件,销售部门的每一个人都想看这份文件。你可以在每一位用户的$HOM E目录下建立一个指向该文件的链接,而不是在每
26、个目录下拷贝一份。这样当需要更改这一文件时,只需改变一个源文件即可。每个销售$HOME目录中的链接可以起任何名字,不必和源文件一致。该命令的一般形式为:ln-s source_path target_path 其中的路径可以是目录也可以是文件 23 3.网络安全防火墙网络安全防火墙 防火墙的主要功能防火墙的主要功能 包过滤技术 基于IP地址的包过滤 基于协议端口的包过滤 讨论包过滤技术 网络地址转换(NAT)源地址转换 目的地址转换 讨论NAT转换技术 24 3.网络安全防火墙网络安全防火墙 Netfilter 和和 IPTables Linux 内核中有一个功能强大的联网子系统 netfil
27、ter。netfilter 子系统提供了有状态的或无状态的分组过滤,还提供了 NAT 和 IP 伪装服务。netfilter 还具备为高级选路和连接状态管理而变形(mangle)IP 头信息的能力。netfilter 是通过 IPTables 工具来控制的。netfilter 的强大功能和灵活性是通过 IPTables 界面来实现的。这个命令行工具和它的前身 IPChains 的语法很相似;不过,IPTables 使用 netfilter 子系统来增进网络连接、检验、和处理方面的能力;IPChains 使用错综复杂的规则集合来过滤源地和目的地路线以及两者的连接端口。IPTables 只在一个命
28、令行界面中就包括了更先进的记录方式;选路前和选路后的行动;网络地址转换;以及端口转发。25 3.网络安全防火墙网络安全防火墙 IPTables的使用的使用 启动服务:service iptables start 停止服务:service iptables stop 从启服务:service iptables restart 系统启动时默认引导iptables,需要修改chkconfig运行级别 chkconfig-level 345 iptables on 保存和恢复保存和恢复 IPTables 规则规则 防火墙规则只在计算机处于开启状态时才有效。如果系统被重新引导,这些规则就会自动被清除并重
29、设。要保存规则以便今后载入,请使用以下命令:/sbin/service iptables save 使用iptables服务之前必须先关闭ip6tables服务 service ip6tables stop chkconfig ip6tables off 26 3.网络安全防火墙网络安全防火墙 IPTables的语法的语法 语法:iptables-t 作用的Table 处理Chain的方式 比对规则 处理方式 示例:iptables t nat A POSTROUTING o eth1 s 192.168.1.0/24 j MASQUERADE 解释:在NAT table中,新增以下规则:规定
30、source IP Address=192.168.1.0192.168.1.255且通过eth1接口出去的封包(即output interface=eth1)就将其伪装 27 3.网络安全防火墙网络安全防火墙 NetfilterNetfilter的结构的结构 netfilterTable1Table2IPchains1IPchains2IPchains3Rule1Rule2Rule3.28 3.网络安全防火墙网络安全防火墙 NetfilterNetfilter的结构的结构 TABLES 当前有三个表(哪个表是当前表取决于内核配置选项和当前模块)。-t table 这个选项指定命令要操作的匹配
31、包的表。如果内核被配置为自动加载模块,这时 若模块没有加载,(系统)将尝试(为该表)加载适合的模块。这些表如下:filter ,这是默认的表,包含了内建的链INPUT(处理进入的包)、FORWORD(处理通 过的包)和OUTPUT(处理本地生成的包)。nat 这个表被查询时表示遇到了产生新的连接的包,由三个内建的链构成:PREROUTING(修改到来的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING 修改准备出去的包)。mangle 这个表用来对指定的包进行修改。它有两个内建规则:PREROUTING(修改路由之 前进入的包)和OUTPUT(修改路由之前本地的包)。29 3.
32、网络安全防火墙网络安全防火墙 NetfilterNetfilter的结构的结构 30 3.网络安全防火墙网络安全防火墙 Filter中的包过滤中的包过滤 进来的数据包 路由 本机 发出的数据包 FORWARDING INPUT OUTPUT 31 3.网络安全防火墙网络安全防火墙 NATNAT中定义的规则链中定义的规则链 PRE ROUTING 进来的数据包 路由 本机 发出的数据包 POST ROUTING PREROUTING 处理DNAT规则 POSTROUTING 处理SNAT规则 连接的第一个数据包处理后会 保持一些信息,用来在应答的 数据包再次通过时修改数据包 内容 32 3.网络
33、安全防火墙网络安全防火墙 包过滤技术包过滤技术 Netfilter/iptables Netfilter是Linux kernel 中对数据包进行处理的框架 定义了5个HOOK位置 NF_IP_PRE_ROUTING NF_IP_LOCAL_IN NF_IP_FORWARD NF_IP_POST_ROUTING NF_IP_LOCAL_OUT 33 3.网络安全防火墙网络安全防火墙 包过滤技术包过滤技术 规则 条件 动作 序列 条件 源地址、目的地址、协议、端口、协议内部数据、时间、物理接口 动作 ACCEPT 允许 DROP 直接丢弃 REJECT tcp-reset/icmp-port-u
34、nreachable LOG 日志 34 3.网络安全防火墙网络安全防火墙 包过滤技术包过滤技术 有先后关系 数据包的处理 接收到数据包 逐条对比规则 如果满足条件,则进行相应的动作,如果动作不是ACCEPT/DROP/REJECT,继续处理后面的规则 35 3.网络安全防火墙网络安全防火墙 包过滤技术包过滤技术 包过滤 INPUT/OUTPUT/FORWARD 三个规则链 可以增加自定义规则链 iptables N xxx 命令格式 iptables L nv 显示 iptables F 规则链名 清空规则链 iptables A 规则链名 规则 增加规则 iptables I 规则链名 规
35、则 插入规则 iptables D 规则链名 规则 删除规则 36 3.网络安全防火墙网络安全防火墙 包过滤技术包过滤技术 规则 -j 动作.条件 动作为:ACCEPT 接受数据包 DROP 丢弃数据包 RETURN 从当前规则链返回 LOG 日志,用dmesg可以看到 REJECT SNAT/DNAT等 37 3.网络安全防火墙网络安全防火墙 包过滤技术包过滤技术 条件 -s IP地址 源地址 -d IP地址 目的地址 -i 接口名 接收的接口 -o 接口名 发送的接口 -m state -state 状态 状态包过滤 ESTABLISHED RELATED NEW INVALID -p t
36、cp/udp/icmp 协议 -dport 目的端口(或者服务名称)-sport 源端口 38 3.网络安全防火墙网络安全防火墙 源地址转换源地址转换 NAT设备 客户机 服务器 10.0.0.1:1024-202.38.64.2:80 61.132.182.2:8133-202.38.64.2:80 61.132.182.2:8133 -202.38.64.2:80 10.0.0.1:1024 -202.38.64.2:80 内部网络 外部网络 源地址转换 SNAT 3.网络安全防火墙网络安全防火墙 目的地址转换目的地址转换 NAT设备 服务器 客户机 10.0.0.1:80 -202.38
37、.64.2:1024 61.132.182.2:80 202.38.64.2:1024 10.0.0.1:80-202.38.64.2:1024 内部网络 外部网络 目的地址转换 DNAT 3.网络安全防火墙网络安全防火墙 目的地址转换目的地址转换 iptables t nat PREROUTING/FORWARD/POSTROUTING 三个规则链 其他选项与包过滤类似 -j SNAT-to x.x.x.x -j DNAT-to x.x.x.x 3.网络安全网络监听网络安全网络监听 tcpdumptcpdump和和nmapnmap Tcpdump是linux的sniffer软件,可以用来对当
38、前的网络通信量进行动态跟踪和监听。Nmap 被包括在红帽企业 Linux 中。它是一个很流行的工具,可以被用来判定网络布局。Nmap 已经存在多年,是最常使用的收集信息工具。管理员可以在网络上使用 Nmap 来寻找其中的主机系统和开放的端口。Nmap 是比较合适的弱点测定的第一步。你可以制定出网络内的所有主机的布局图,甚至传递选项来试图识别在某个主机上运行的操作系统。Nmap 为建立使用安全服务和停止不使用服务的策略奠定了良好基础。Nmap 可以从 shell 提示下运行。在 shell 提示下,键入 nmap 命令,随后是要扫描的主机名或 IP 地址。3.应用安全保护应用安全保护FTP服务器
39、服务器 文件传输协议(FTP)是用来在网络上传输文件的早期 TCP 协议。因为所有和服务器的事务,包括用户验证,都是不经加密的,所以它也被认为是不安全的协议,应该被谨慎配置。在提供用户名和口令前,所有的用户都会看到一个问候横幅。按照默认设置,该横幅含有版本信息,这有利于黑客找出系统的弱点。要改变 vsftpd 的问候横幅,把以下指令添加到/etc/vsftpd/vsftpd.conf 中:ftpd_banner=把以上指令中的 替换成问候消息。对于多行横幅,你最好是使用一个横幅文件。要简化对多个横幅的管理,把所有横幅都放在一个叫做/etc/banners/的新目录中。在这个例子中,FTP 连接
40、的横幅文件是/etc/banners/ftp.msg。示例:#Hello,all activity on is logged.#去掉FTP横幅 3.应用安全包含应用安全包含FTP服务器服务器 匿名访问匿名访问/var/ftp/目录的存在会激活匿名帐号。创建这个目录的最简单方法是安装 vsftpd 软件包。该软件包会为匿名用户设置目录树,把目录的权限为匿名用户配置为只读。按照默认设置,匿名用户不能写入任何目录。用户帐号用户帐号 因为 FTP 在不安全的网络中传递明文用户名和口令来验证,拒绝系统用户从他们的用户帐号来进入服务器是一个好办法。要在 vsftpd 中禁用用户帐号,在/etc/vsftp
41、d/vsftpd.conf 中添加以下指令:local_enable=NO 3.最佳实践账户安全最佳实践账户安全 在创建安全口令的时候,最好能遵循以下准则:不要做以下的事:不要只使用单词或数字 决不要在口令中只使用单词或数字。某些不安全口令包括:8675309 juan hackme 不要使用现成词汇 像名称、词典中的词汇、甚至电视剧或小说中的用语,即使在两端使用数字,都应该避免使用。某些不安全口令包括:john1 DS-9 mentat123 不要使用外语中的词汇 口令破译程序经常使用多种语言的词典来检查其词汇列表。依赖外语来达到保护口令的目的通常不起作用。某些不安全口令包括:cheguev
42、ara bienvenido1 1dumbKopf 不要使用黑客术语 如果你以为在口令中使用黑客术语 又称 l337(LEET)就会与众不同,请再三思。许多词汇列表都包含了 LEET 式术语。某些不安全口令包括:H4X0R 1337 3.最佳实践账户安全最佳实践账户安全 在创建安全口令的时候,最好能遵循以下准则:不要使用个人信息 千万不要使用个人信息。如果攻击者知道你的身份,推导出你所用口令的任务就会变得非常容易。以下是你在创建口令时应该避免使用的信息类型。某些不安全口令包括:你的名字 宠物的名字 家庭成员的名字 生日 你的电话号码或邮政编码 不要倒转现存词汇 优秀的口令破译者总是倒转常用词汇
43、,因此倒转薄弱口令并不会使它更安全。某些不安全口令包括:R0X4H nauj 9-DS 不要笔录你的口令 决不要把口令写在纸上。把它牢记在心才更为安全。不要在所有机器上都使用同样的口令 在每个机器上使用不同的口令是及其重要的。这样,如果一个系统泄密了,所有其它系统都不会立即受到威胁。做以下的事:口令长度至少为八个字符 口令越长越好。若使用 MD5 口令,它应该至少有15个字符。若使用 DES 口令,使用最长长度(8个字符)。混和大小写字母 Linux 区分大小写,因此混和大小写会增加口令的强健程度。混和字母和数字 在口令中添加数字,特别是在中间添加(不只在开头和结尾处)能够加强口令的强健性。包
44、括字母和数字以外的字符&、$、和 之类的特殊字符可以极大地增强口令的强健性(若使用 DES 口令则不能使用此类字符)。挑选一个你可以记住的口令 如果你记不住你的口令,那么它再好也没有用;使用简写或其它记忆方法来帮助你记忆口令。3.最佳实践账户安全最佳实践账户安全 安全口令创建方法安全口令创建方法 人们用来创建安全口令的方法多种多样。其中最流行的一种涉及了字母简写。例如:想出一个可记忆的短语,如:over the river and through the woods,to grandmothers house we go.然后只引用第一个字母而把它变成简写(包括标点)。otrattw,tghwg.把简写中的字母替换成数字和符号来增加其复杂性。例如,用 7 来替换 t,用 来替换 a:o7r77w,7ghwg.至少把一个字母变成大写来增加其复杂性,如 H。o7r77w,7gHwg.最后,永远不要在任何系统上使用以上的口令范例。