Linux安全加固规范_第1页
Linux安全加固规范_第2页
Linux安全加固规范_第3页
Linux安全加固规范_第4页
Linux安全加固规范_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LINUX平安加固标准目 录1概述52安装53用户帐号平安Passwordandaccountsecurity63.1密码平安策略63.2检查密码是否平安63.3PasswordShadowing63.4管理密码63.5其它74网络效劳平安(NetworkServiceSecurity)74.1效劳过滤Filtering84.2/etc/inetd.conf94.3R效劳94.4Tcp_wrapper94.5/etc/hosts.equiv文件104.6/etc/services104.7/etc/aliases114.8NFS114.9Trivialftp(tftp)114.10Sendmail114.11finger124.12UUCP124.13WorldWideWeb(WWW)–d134.14FTP平安问题135系统设置平安(SystemSettingSecurity)145.1限制控制台的使用145.2系统关闭Ping145.3关闭或更改系统信息155.4/etc/securetty文件155.5/etc/host.conf文件155.6禁止IP源路径路由155.7资源限制165.8LILO平安165.9Control-Alt-Delete键盘关机命令175.10日志系统平安175.11修正脚本文件在“/etc/rc.d/init.d〞目录下的权限176文件系统平安(FileSystemSecurity)186.1文件权限186.2控制mount上的文件系统186.3备份与恢复197其它197.1使用防火墙197.2使用第三方平安工具197.3参考网站191概述近几年来Internet变得更加不平安了。网络的通信量日益加大,越来越多的重要交易正在通过网络完成,与此同时数据被损坏、截取和修改的风险也在增加。

只要有值得偷窃的东西就会有想方法窃取它的人。Internet的今天比过去任何时候都更真实地表达出这一点,基于Linux的系统也不能摆脱这个“普遍规律〞而独善其身。因此,优秀的系统应当拥有完善的平安措施,应当足够巩固、能够抵抗来自Internet的侵袭,这正是Linux之所以流行并且成为Internet骨干力量的主要原因。但是,如果你不适当地运用Linux的平安工具,它们反而会埋下隐患。配置拙劣的平安系统会产生许多问题,本文将为你解释必须掌握的Linux平安知识。

本文讲述了如何通过根本的平安措施,使Linux系统变得可靠。2安装使系统处于单独〔或隔离〕的网络中。以防止未受保护的系统连接到其它网络或互联网中受到可能的攻击安装完成后将下面软件卸载pump apmd lsapnptools redhat-logosmt-st kernel-pcmcia-cs Setserial redhat-releseeject linuxconf kudzu gdbc getty_ps raidtools pciutilsmailcap setconsole gnupg用下面的命令卸载这些软件:[root@deep]#rpm–esoftwarename卸载它们之前最好停掉三个进程:[root@deep]#/etc/rc.d/init.d/apmdstop[root@deep]#/etc/rc.d/init.d/sendmailstop[root@deep]#/etc/rc.d/init.d/kudzustop3用户帐号平安Passwordandaccountsecurity3.1密码平安策略口令至少为6位,并且包括特殊字符口令不要太简单,不要以你或者有关人的相关信息构成的密码,比方生日、、姓名的拼音或者缩写、单位的拼音或者英文简称等等。口令必须有有效期发现有人长时间猜想口令,需要更换口令3.2检查密码是否平安可以使用以下几种工具检查自己的密码是否平安:JOHN,crack等暴力猜想密码工具在线穷举工具,包括Emailcrk、流光等3.3PasswordShadowing使用shadow来隐藏密文〔现在已经是默认配置〕定期检查shadow文件,如口令长度是否为空。#awk-F:length($2)==0{print$1}/etc/shadow设置文件属性和属主3.4管理密码设置口令有效最长时限〔编辑/etc/login.defs文件〕口令最短字符〔如linux默认为5,可以通过编辑/etc/login.defs修改〕只允许特定用户使用su命令成为root。编辑/etc/pam.d/su文件,在文件头部加上:authsufficient/lib/security/pam_rootok.sodebugauthrequired/lib/security/pam_wheel.sogroup=wheelRedhat7.0中su文件已做了修改,直接去掉头两行的注释符就可以了[root@deep]#usermod-G10admin来将用户参加wheel组3.5其它去除不必要的系统帐户[root@deep]#userdeladm[root@deep]#userdellp[root@deep]#userdelsync[root@deep]#userdelshutdown[root@deep]#userdelhalt[root@deep]#userdelnews[root@deep]#userdeluucp[root@deep]#userdeloperator[root@deep]#userdelgames(如果不使用XWindow,那么删除)[root@deep]#userdelgopher[root@deep]#userdelftp〔如果不使用ftp效劳那么删除〕尽量不要在passwd文件中包含个人信息,防止被finger之类程序泄露。修改shadow,passwd,gshadow文件不可改变位[root@deep]#chattr+i/etc/passwd[root@deep]#chattr+i/etc/shadow[root@deep]#chattr+i/etc/group[root@deep]#chattr+i/etc/gshadow不要使用.netrc文件,可以预先生成$HOME/.netrc。设置为0000。touch/.rhosts;chmod0/.rhosts使用ssh来代替telnetd,ftpd.pop等通用效劳。传统的网络效劳程序,如:ftp、pop和telnet在本质上都是不平安的,因为它们在网络上用明文传送口令和数据。4网络效劳平安(NetworkServiceSecurity)Linux系统对外提供强大、多样的效劳,由于效劳的多样性及其复杂性,在配置和管理这些效劳时特别容易犯错误,另外,提供这些效劳的软件本身也存在各种漏洞,所以,在决定系统对外开放效劳时,必须牢记两个根本原那么:只对外开放所需要的效劳,关闭所有不需要的效劳。对外提供的效劳越少,所面临的外部威胁越小。将所需的不同效劳分布在不同的主机上,这样不仅提高系统的性能,同时便于配置和管理,减小系统的平安风险。在上述两个根本原那么下,还要进一步检查系统效劳的功能和平安漏洞。这里针对主机所提供的效劳进行相应根本平安配置,某些常用效劳的平安配置请参考相关文档。4.1效劳过滤Filtering在SERVER上禁止这些效劳如果一定要开放这些效劳,通过防火墙、路由指定信任IP访问。要确保只有真正需要的效劳才被允许外部访问,并合法地通过用户的路由器过滤检查。尤其在下面的效劳不是用户真正需要时候,要从路由器上将其过滤掉NAMEPORTPROTOCOLecho7TCP/UDP systat11TCP netstat15TCP bootp67UDP tftp69UDP link87TCP supdup95TCP sunrpc111TCP/UDP news144TCP snmp161UDP xdmcp177UDP exec512TCPlogin513TCP shell514TCP printer515TCP biff512UDP who513UDP syslog514UDP uucp540TCP route520UDP openwin2000TCP nfs2049UDP/TCP x116000to6000+nTCP注意:有些UDP效劳可以导致DOS攻击和远程溢出,如rpc.ypupdatedrpcbindrpcsd100068rpc.statd100024rpc.ttdbserver100083sadmind 100232/10配置完成以后,利用网络扫描器模拟入侵者从外部进行扫描测试。如利用nmap/etc/inetd.conf确保文件权限设置为600确保文件属主设置为root注释掉所有不需要的效劳,需要重新启动inetd进程使用netstat–an命令,查看本机所提供的效劳。确保已经停掉不需要的效劳R效劳不必使用R效劳关闭R效劳,Redhat6.2在/etc/inetd.conf文件中注释以下效劳,并且重新启动inetd效劳。Redhat7.0在/etc/xinetd.d目录中删除exec512TCPRlogin 513 TCPRshell 514 TCP预先生成$HOME/.rhosts,/etc/hosts.equiv文件,并且设置为0000,防止被写入〞++〞。〔攻击者经常使用类似符号链接或者利用ROOTSHELL写入,并且远程翻开受保护主机的R效劳〕必须使用R效劳使用更平安版本的r效劳。如WietseVenema的logdaemon程序等。在路由或者防火墙上禁止外部网络访问受保护主机的512,513and514(TCP)端口。使用TCPWRAPPERS设置可访问受保护主机R效劳的信任机器。Tcp_wrapper该软件的作用是在Unix平台上过滤TCP/UDP效劳,它目前已被广泛用于监视并过滤发生在主机上的ftp、telnet、rsh、rlogin、tftp、finger等标准TCP/UDP效劳。当系统安装TCP_wrapper之后,in.conf文件中/usr/sbin/in.telnetd的in.telnetd会被TCP_wrapper附带的tcpd程序取代。该程序截获来自客户端的效劳请求、记录请求发生的时间和IP地址,并按访问控制进行检查。当本次连接的用户、请求源的IP等信息符合管理员的预设值时,才将该次请求传递给系统in.telnetd,由系统in.telnetd完成后续工作;假设连接不符合要求,该连接请求将被拒绝。同样,ftp、rsh等TCP/UDP效劳均可被tcpd取代,由tcpd充当二传手。使用PARANOID模式,用此参数后需要在/etc/hosts文件中加上允许使用telnet或ftp效劳的客户端的名字和IP地址在/etc/hosts.deny中设置为all:all,默认所有不允许Accessisdeniedbydefault.#Denyaccesstoeveryone.ALL:ALL@ALL,PARANOID#Matchesanyhostwhosenamedoesnotmatchitsaddress,seebellow.在/etc/hosts.allow中设置允许的效劳和地址如:使用tcpdchk检查UDP效劳使用tcpwrapper时要使用/etc/inetd.conf中的nowait选项。/etc/hosts.equiv文件不必使用/etc/hosts.equiv文件从系统中删除此文件预先生成/etc/hosts.equiv文件,并且设置为0000,防止被写入〞++〞。〔攻击者经常使用类似符号链接或者利用ROOTSHELL写入,并且远程翻开受保护主机的R效劳〕必须使用/etc/hosts.equiv文件确保此文件中可信赖主机为必须的。预先生成/etc/hosts.equiv文件,并且设置为0000,防止被写入〞++〞。〔攻击者经常使用类似符号链接或者利用ROOTSHELL写入,并且远程翻开受保护主机的R效劳〕如果使用NIS或者NIS+的话,此文件中的组应该是容易管理的。信赖主机必须确保可靠信赖主机使用全名,如例如任何时候都不应该出现〞+〞字符,因为这样会使任何一台主机上的任何用户都可以不加口令地访问系统文件中不要使用'!'和'#'符号,因为在该文件中那并不表示注释信息文件开始字符不应该为'-'.,请查阅C8确保该文件的访问权限被设置成600。文件属主确保为ROOT。在每次安装补丁程序或操作系统之后,都应该重新检查该文件夹的设置情况4.6/etc/services确保文件权限设置为600确保文件属主设置为root如果需要提供一些常见效劳,如telnetd等,可以在此修改端口此文件为端口号和效劳的对应关系,给此文件加上保护,防止没有授权的修改和删除[root@deep]#chattr+i/etc/services/etc/aliases修改/etc/aliases文件,注释掉"decode""games,ingress,system,toor,manager,….〞.等使用/usr/bin/newaliases命令激活新配置确保文件权限设置为755确保文件属主设置为root4.8NFSNFS文件系统应注意以下几方面的平安在外部路由上过滤端口111、2049〔TCP/UDP〕,不允许外部访问。检查PATCH更新情况。检查/etc/exports输出路径的权限,确定只有root能修改,alluser只能read用exportfs去增加或删除directoriesexportfs-oaccess=engineering,ro=dancer/usrexportfs-u/usr假设你的机器没有NIS(YPserver)的效劳,当更改资料时记得修改/etc/passwd

/etc/group

/etc/hosts

/etc/ethers不允许export出去包含本地入口的目录确定对方机器是完全可信赖的。使用全名确保输出列表没有超过256个字符。使用showmount–e命令查看自己的export设置将/etc/exports权限设置为644,属主为root使用noexec,nodev.nosuid等选项控制mount的文件系统,在/etc/fstab中设置。Trivialftp(tftp)无论何种情况下都不应该启动这个效劳进程。4.10Sendmailsendmail提供了许多在编译期间选择的功能特性。通常情况下,按照其缺省配置,即可满足一般用户的需要。但是,了解研究其提供的特性,可以实现对sendmail许多功能的更为准确的配置使用。从网络平安的角度考虑,通过合理地配置有关特性,可以在提供效劳和保证平安之间找到更为准确的平衡点(配置特性的方法是将需要的特性参加到相应系统的.mc文件中,然后利用工具m4生成最终的sendmail.cf文件。目前最新版本是sendmail.()最新的发行包promiscuous_relay:该特性翻开任意转发功能,也即关闭8.9带来的邮件转发方面的平安增强控制。此特性的使用会对电子邮件效劳的滥用留下许多隐患,建议除非特别情况,不要使用此特性。accept_unqualified_senders:缺省情况下,该特性被关闭,即当MAILFROM:参数中的地址说明属于网络连接,但是却不包含合法的主机地址时,sendmail将拒绝继续通信。翻开此特性那么不再根据MAILFROM:参数拒绝接收邮件。建议不可轻易使用该特性。loose_relay_check:通常情况下,当邮件使用了源路由功能,例如user%site@othersite,如果othersite属于转发邮件的范围,那么sendmail将别离othersite,继续检查site是否属于转发范围.使用该特性将改变上述缺省操作.建议不要轻易使用该特性accept_unresolvable_domains:通常情况下,当MAILFROM:参数中的主机地址局部无法解析,即无法判定为合法主机地址时,sendmail将拒绝连接.使用该特性将改变上述操作.在某些情况下,例如,邮件效劳器位于防火墙后面,无法正常解析外部主机地址,但是仍然希望能够正常接收邮件时,可能需要利用该特性.blacklist_recipients:翻开接收黑名单功能。接收黑名单可以包括用户名、主机名、或其它地址。relay_entire_domain:缺省配置下,sendmail只为在转发控制数据库(accessdb)中定义为RELAY的主机提供转发邮件效劳.该特性的使用,将使sendmail为本地域内〔由$=m类定义〕的所有主机上面的用户提供转发功能sendmail的受限shell程序smrsh可以防止内部用户恶意操作。防止系统信息泄漏,如修改banner,禁止expn,vrfy命令建议配置为需要smtp认证功能。其他相关的mailserverqmail:postfix:qpop:Imail:4.11finger不应该启动这个效劳进程。如果一定要使用,请使用最新的版本。UUCP建议不要使用删除所有的rhosts文件〔UUCP目录下的〕确保ds文件属主为root对UUCP登陆进行限制确保UUCP文件没有被设置为所有人可写WorldWideWeb(WWW)–d使用你选择的WEBSERVER的最新版本不要使用ROOT用户运行d在chroot环境中运行d尽量不要使用CGI脚本对CGI脚本进行平安审计链接使用静态库过滤危险字符,如\n\r(.,/;~!)>|^&$`<等使用s进行关键业务传送。比拟流行的webserver是netscpe的webserver和browserIETF的Web事务平安工作组维持着一个特别针对WWW平安问题的邮寄列表.

要订阅,可发e-mail到www-security-request@.在信息的正文里写上SUBSCRIBE

www-security

你的email地址主要的WWW

FAQ也包含关于Web平安的问与答,如记录文件管理和效劳软件来源等.这个FAQ的最新版在:FTP平安问题主要的ftpserverwuftp 最新版本是26.1下载地址是.tar.gzproftp 最新版本是rc2下载地址是ncftp 最新版本是2下载地址是配置Configuration检查所有的默认配置选项确定没有SITEEXEC问题设置/etc/ftpusers确定禁止使用ftp的用户使用chroot环境运行ftpd使用自己的ls等命令参加对quota,pam等支持配置/etc/ftpaccess文件,禁止系统信息泄露和设置最大连接数配置/etc/ftphosts,设置允许使用FTP的HOST和USER针对不同用户设置不同权限经常查看LOG记录/var/log/xferlog配置文件属性改为600Anonymousftp编译时翻开允许匿名选项如果使用分布式passwords(e.g.,NIS,NIS+),需要设置好密码文件。匿名用户只给读权限〔在/etc/ftpaccess中设置〕系统设置平安(SystemSettingSecurity)5.1限制控制台的使用禁止使用控制台程序:删除/etc/security/console.apps中的效劳[root@deep]#rm-f/etc/security/console.apps/servicename,比方:[root@deep]#rm-f/etc/security/console.apps/halt[root@deep]#rm-f/etc/security/console.apps/poweroff[root@deep]#rm-f/etc/security/console.apps/reboot[root@deep]#rm-f/etc/security/console.apps/shutdown[root@deep]#rm-f/etc/security/console.apps/xserver〔如删除,只有root能启动Xserver〕禁止控制台的访问:在/etc/pam.d中的所有文件中,给包含pam_console.so的行加上注释5.2系统关闭Ping关闭ping,使系统对ping不做反响,对网络平安大有好处。可以使用如下命令:[root@deep]#echo1>/proc/sys/net/ipv4/icmp_echo_ignore_all可以将这一行加到/etc/rc.d/rc.local文件中去,这样系统重启动后会自动执行恢复系统的Ping响应:[root@deep]#echo0>/proc/sys/net/ipv4/icmp_echo_ignore_all5.3关闭或更改系统信息关闭telnet系统信息RedHat6.2中,编辑/etc/inetd.conftelnetstreamtcpnowaitroot/usr/sbin/tcpdin.telnetd–h加上参数-h可以关闭telnet信息RedHat7.0中,编辑/etc/xinetd.d/telnet加上server_args=-h,可以关闭telnet信息/etc/rc.d/rc.local中关闭或修改系统信息/etc/issue和/etc/中包含本地登录和网络登录时提示的系统信息,对它们进行更改可以改变系统信息,或直接删除,并在/etc/rc.d/rc.local文件中注释相关行:#echo"">/etc/issue#echo"$R">>/etc/issue#echo"Kernel$(uname-r)on$a$(uname-m)">>/etc/issue#cp-f/etc/issue/etc/#echo>>/etc/issue5.4/etc/securetty文件/etc/securetty文件规定root从哪个TTY设备登录,列出的是允许的tty设备,将不允许的tty设备行注释掉.5.5/etc/host.conf文件/etc/host.conf定义主机名怎样解析,使用什么效劳,什么顺序解析#LookupnamesviaDNSfirstthenfallbackto/etc/hosts.orderbind,hosts#WehavemachineswithmultipleIPaddresses.multion#CheckforIPaddressspoofing.nospoofonorder指定选择效劳的顺序multi指定主机能不能有多个IP地址,ON代表允许nospoof指定不允许IP伪装,此参数必须设置为ON5.6禁止IP源路径路由允许IP源路径路由(IPsourcerouting)会使得黑客能够欺骗你的计算机,截取信息包.强烈建议禁止,使用如下命令:forfin/proc/sys/net/ipv4/conf/*/accept_source_route;doecho0>$fdone将accept_source_route设置为0,并将上述命令加到/etc/rc.d/rc.local中去,每次重启动将自动执行5.7资源限制为了防止拒绝效劳攻击,需要对系统资源的使用做一些限制。首先,编辑/etc/security/limits.conf,参加或改变如下*hardcore0〔禁止创立core文件〕*hardrss5000〔除root外,其他用户最多使用5M内存〕*hardnproc20〔最多进程数限制为20〕编辑/etc/pam.d/login,在文件末尾加上:sessionrequired/lib/security/pam_limits.so对TCPSYNCookie的保护:〔防止SYNFlood攻击〕[root@deep]#echo1>/proc/sys/net/ipv4/tcp_syncookies5.8LILO平安在“/etc/lilo.conf〞文件中添加3个参数:time-out、restricted和password。这些选项会在启动时间〔如“linuxsingle〞〕转到启动转载程序过程中,要求提供密码。步骤1编辑lilo.conf文件〔/etc/lilo.conf〕,添加和更改这三个选项:boot=/dev/hdamap=/boot/mapinstall=/boot/boot.btime-out=00#changethislineto00promptDefault=linuxrestricted#addthislinepassword=#addthislineandputyourpasswordimage=/boot/vmlinuz--12label=linuxinitrd=/boot/initrd--12.imgroot=/dev/hda6read-only步骤2由于其中的密码未加密,“/etc/lilo.conf〞文件只对根用户为可读。[root@kapil/]#chmod600/etc/lilo.conf〔不再为全局可读〕步骤3作了上述修改后,更新配置文件“/etc/lilo.conf〞。[Root@kapil/]#/sbin/lilo-v〔更新lilo.conf文件〕步骤4还有一个方法使“/etc/lilo.conf〞更平安,那就是用chattr命令将其设为不可:[root@kapil/]#chattr+i/etc/lilo.conf它将阻止任何对“lilo.conf〞文件的更改,无论是否成心。5.9Control-Alt-Delete键盘关机命令编辑“/etc/inittab〞文件,只要在下面行前面加“#〞,改为注释行。ca::ctrlaltdel:/sbin/shutdown-t3-rnow改为:#ca::ctrlaltdel:/sbin/shutdown-t3-rnow然后,为使更改生效,在提示符下输入:[root@kapil/]#/sbin/initq5.10日志系统平安为了保证日志系统的完整性,防止黑客删除日志,需要对日志系统进行平安配置。本专题将有专门文档来讲述日志系统的平安。5.11修正脚本文件在“/etc/rc.d/init.d〞目录下的权限对脚本文件的权限进行修正,脚本文件用以决定启动时需要运行的所有正常过程的开启和停止。添加:[root@kapil/]#chmod-R700/etc/rc.d/init.d/*这句指的是,只有根用户允许在该目录下使用Read、Write,和Execute脚本文件。文件系统平

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论