您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 2019《操作系统安全》第十章Linux系统安全增强.ppt
第10章Linux系统安全增强第一部分教学组织一、目的要求1.掌握Linux操作系统安全设置基本技巧。2.了解Linux日志系统、掌握常用审计工具的使用。3.理解入侵检测基本过程并且掌握常用的入侵检测方法和工具。二、工具器材1.RedHatEnterpriseLinux7.0或以上操作系统。2.syslog_ng工具或其他日志工具。3.入侵检测工具Snort第二部分教学内容本章主要介绍Linux系统安全设置技巧、日志和审计工具的使用和入侵检测工具及使用,从而更有效增强了Linux系统安全。10.1系统安全设置技巧10.1.1启动和登录安全性设置1.BIOS安全,设定引导口令2.系统帐号的增加、删除和移走3.口令设置及加密文件的保护4.禁止Ctrl+Alt+Delete三键重启系统5.限制使用su命令6.删减登录信息1.BIOS安全,设定引导口令禁止从软盘启动,并且给BIOS加上密码。每次启动的时候都手工检查一下BIOS,这样可以提高系统的安全性。禁止从软盘启动,可以阻止别人用特殊的软盘启动你的计计算机;给BIOS加上密码,可以防止有人改变BIOS的参数,比如:允许从软盘启动或不用输入口令就可以引导计算机。2.系统帐号的增加、删除和移走(1)增加用户增加用户有三个过程:在/etc/passwd文件中写入新用户的入口项;为新登录用户建立一个HOME目录;在/etc/group中为新用户增加一个入口项。在/etc/passwd文件中写入新的入口项时,口令部分可先设置为NOLOGIN,以免有人做为此新用户登录。在修改文件前,应mkdir/etc/ptmp,以免他人同时修改此文件。新用户一般独立为一个新组,GID号与UID号相同(除非他要加入目前已存在的一个新组),UID号必须和其他人不同,HOME目录一般设置在/usr或/home目录下建立一个以用户登录名为名称的目录做为其主目录.(2)删除用户删除用户与加用户的工作正好相反,首先在/etc/passwd和/etc/group文件中删除用户的入口项,然后删除用户的HOME目录和所有文件.rm-r/usr/loginname删除整个目录树。如果用户在/usr/spool/cron/crontabs中有crontab文件,也应当删除。(3)将用户移到另一个系统这是一个复杂的问题,不只是拷贝用户的文件和用户在/etc/passwd文件中的入口项。首先一个问题是用户的UID和GID可能已经用于另一个系统,若是出现这种情况,必须给要移的用户分配另外的UID和GID,如果改变了用户的UID和GID,则必须搜索该用户的全部文件,将文件的原UID和GID改成新的UID和GID。用find命令可以完成这一修改:find.-userolduid-execchownnewuid{};find.-groupoldgid-execchgrpnewgid{};也许还要为用户移走其它一些文件:/usr/mail/user和/usr/spool/cron/crontabs/user。3.口令设置及加密文件的保护口令的安全是Linux安全的一个基本安全设置。许多人都把所有的东西保存在计算机上,防止别人查看这些信息的方法就是用口令把计算机保护起来。没有什么东西是绝对安全的。与常识相反的是:无法破解的口令是不存在的。只要给足时间和资源,所有的口令都能用社会工程(socialengineering)或强行计算的方法猜出来。通过社会工程或其它方法获得服务器的口令是最简单和最流行的入侵服务器的方法。建议用下面的规则选择有效的口令:(1)口令至少要有6个字符,最好包含一个以上的数字或特殊字符;(2)口令不能太简单,所谓的简单就是很容易猜出来,也就是用自己的名字,电话号码、生日、职业或者其它个人信息作为口令;(3)口令必须是有有效期的,在一段时间之后就要更换口令;(4)口令在这种情况下必须作废或者重新设定:如果发现有人试图猜测你的口令,而且已经试过很多次了。安装完Linux系统之后默认的最小口令长度为5。这就是说一个新的用户可以访问服务器,那么他的口令必须多于5字符。但是这样是不够安全的,最好口令的长度能够大于8。可以强制用户使用8个字符以上的口令。编辑“/etc/login.defs”文件,把最小口令长度由5改成8。找到PASS_MIN_LEN5这一行,改为:PASS_MIN_LEN8。“login.defs”是很重要的配置文件。可以在这个文件中设定一些其它的安全策略,比如:口令的有效期。口令文件保护是系统安全设置的一个非常重要内容,系统管理员应更改其属性,防止非授权用户获取口令文件。对于UNIX系统,口令文件主要有用户和组账号口令文件,用于保持所有用户的口令。对于LINUX系统,通过chattr命令可以改变口令文件的属性。如:#chattr+i/etc/passwd#chattr+i/etc/shadow#chattr+i/etc/group#chattr+i/etc/gshadow执行上述命令后,passwd、shadow、group和gshadow四个文件将不能修改,不能被删除和重新命名,不能创建指向该文件的链接,不能向该文件添加数据,仅仅超级用户能够设置和清除这个属性。4.禁止Ctrl+Alt+Delete三键重启系统我们平时用习惯了windows机器,可能在linux下也习惯的按下Ctrl+Alt+Delete三键,导致linux系统重新启动.以下是屏蔽这三键的方法,防止误操作导致重启:(1)修改/etc/inittab文件,将“ca::ctrlaltdel:/sbin/shutdown-t3-rnow”一行注释掉。(2)执行“initq”这命令使上面修改后文件生效,然后重新设置/etc/rc.d/init.d/目录下所有文件的许可权限,运行如下命令:#chmod-R700/etc/rc.d/init.d/*5.限制使用su命令禁止任何人使用su命令su命令(SubstituteUser,替代用户)可以使你成为系统的现有用户。如果不希望别人使用su进入根帐户,或者对某些用户限制使用“su”命令,则在“/etc/pam.d/”目录的“su”配置文件顶部增加如下两行代码:authsufficient/lib/security/pam_rootok.sodebugauthrequired/lib/security/Pam_wheel.sogroup=wheel意思是,只有“wheel”组的成员可以用su命令;其中还包括了日志。你可以在wheel组中添加允许使用该命令的用户,例如,希望用户admin能够使用su命令,可以运行如下命令:#usermod–G10admin将用户加入到wheel组,即可使用su命令。6.删减登录信息默认情况下,登录提示信息包括Linux发行版、内核版本名和服务器主机名等。对于一台安全性要求较高的机器来说这样泄漏了过多的信息。可以编辑/etc/rc.d/rc.local将输出系统信息的如下行注释掉。#Thiswilloverwrite/etc/issueateveryboot.So,makeanychangesyou#wanttomaketo/etc/issuehereoryouwilllosethemwhenyoureboot#echo>/etc/issue#echo#R>>/etc/issue#echoKernel#(uname-r)on#a#(uname-m)>>/etc/issue#cp-f/etc/issue/etc/issue.net#echo>>/etc/issue然后,进行如下操作:#rm-f/etc/issue#rm-f/etc/issue.net#touch/etc/issue#touch/etc/issue.net10.1.2网络访问安全性设置1.限制网络访问(1)NFS访问如果你使用NFS网络文件系统服务,应该确保你的/etc/exports具有最严格的访问权限设置,也就是意味着不要使用任何通配符、不允许root写权限并且只能安装为只读文件系统。编辑文件/etc/exports并加入如下两行。/dir/to/exporthost1.mydomain.com(ro,root_squash)/dir/to/exporthost2.mydomain.com(ro,root_squash)/dir/to/export是你想输出的目录,host.mydomain.com是登录这个目录的机器名,ro意味着mount成只读系统,root_squash禁止root写入该目录。为了使改动生效,运行如下命令:#/usr/sbin/exportfs-a(2)Inetd设置首先要确认/etc/inetd.conf的所有者是root,且文件权限设置为600。设置完成后,可以使用stat命令进行检查。#chmod600/etc/inetd.conf然后,编辑/etc/inetd.conf禁止以下服务:ftptelnetshellloginexectalkntalkimappop-2pop-3fingerauth如果安装了ssh/scp,也可以禁止掉Telnet/FTP。为了使改变生效,运行如下命令:#killall-HUPinetd默认情况下,多数Linux系统允许所有的请求,而用TCP_WRAPPERS增强系统安全性是举手之劳,可以修改/etc/hosts.deny和/etc/hosts.allow来增加访问限制。例如,将/etc/hosts.deny设为ALL:ALL可以默认拒绝所有访问。然后在/etc/hosts.allow文件中添加允许的访问。例如,sshd:192.168.1.10/255.255.255.0gate.openarch.com表示允许IP地址192.168.1.10和主机名gate.openarch.com允许通过SSH连接。配置完成后,可以用tcpdchk检查:#tcpdchktcpchk是TCP_Wrapper配置检查工具,它检查tcpwrapper配置并报告所有发现的潜在/存在的问题。(3)登录终端设置/etc/securetty文件指定了允许root登录的tty设备,由/bin/login程序读取,其格式是一个被允许的名字列表,你可以编辑/etc/securetty且注释掉如下的行:#tty2#tty3#tty4#tty5#tty6这时,root仅可在tty1终端登录。限制远程登录时使用root帐号。(4)避免显示系统和版本信息如果希望远程登录用户看不到系统和版本信息,可以通过以下操作改变/etc/inetd.conf文件:telnetstreamtcpnowaitroot/usr/sbin/tcpdin.telnetd-h加-h表示telnet不显示系统信息,而仅仅显示“login:”。2.防止攻击(1)阻止ping如果没人能ping通你的系统,安全性自然增加了。为此,可以在/etc/rc.d/rc.local文件中增加如下一行:echo1>/proc/sys/net/ipv4/icmp_echo_ignore_all(2)防止IP欺骗编辑host.conf文件并增加如下几行来防止IP欺骗攻击:orderbind,hostsmultioffnospoofon(3)防止DoS攻击对系统所有的用户设置资源限制可以防止DoS类型攻击。如最大进程数和内存使用数量等。例如,可以在/etc/security/limits.conf中添加如下几行:*hardcore0*hardrss5000*hardnproc20然后必须编辑/etc/pam.d/login文件检查下面一行是否存在。sessionrequired/lib/security/pam_limi
本文标题:2019《操作系统安全》第十章Linux系统安全增强.ppt
链接地址:https://www.777doc.com/doc-6920576 .html