LINUX安全加固手册.docx
- 文档编号:10554804
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:21
- 大小:28.23KB
LINUX安全加固手册.docx
《LINUX安全加固手册.docx》由会员分享,可在线阅读,更多相关《LINUX安全加固手册.docx(21页珍藏版)》请在冰豆网上搜索。
LINUX安全加固手册
LINUX安全加固手册
2010年8月6日
目录
1概述3
2安装3
3用户帐号安全Passwordandaccountsecurity4
3.1密码安全策略4
3.2检查密码是否安全4
3.3PasswordShadowing4
3.4管理密码4
3.5其它5
4网络服务安全(NetworkServiceSecurity)5
4.1服务过滤Filtering6
4.2/etc/inetd.conf6
4.3R服务7
4.4Tcp_wrapper7
4.5/etc/hosts.equiv文件8
4.6/etc/services8
4.7/etc/aliases8
4.8NFS9
4.9Trivialftp(tftp)9
4.10Sendmail9
4.11finger10
4.12UUCP10
4.13WorldWideWeb(WWW)–httpd10
4.14FTP安全问题11
5系统设置安全(SystemSettingSecurity)12
5.1限制控制台的使用12
5.2系统关闭Ping12
5.3关闭或更改系统信息12
5.4/etc/securetty文件13
5.5/etc/host.conf文件13
5.6禁止IP源路径路由13
5.7资源限制13
5.8LILO安全14
5.9Control-Alt-Delete键盘关机命令14
5.10日志系统安全15
5.11修正脚本文件在“/etc/rc.d/init.d”目录下的权限15
6文件系统安全(FileSystemSecurity)15
6.1文件权限15
6.2控制mount上的文件系统16
6.3备份与恢复16
7其它16
7.1使用防火墙16
7.2使用第三方安全工具16
1概述
近几年来Internet变得更加不安全了。
网络的通信量日益加大,越来越多的重要交易正在通过网络完成,与此同时数据被损坏、截取和修改的风险也在增加。
只要有值得偷窃的东西就会有想办法窃取它的人。
Internet的今天比过去任何时候都更真实地体现出这一点,基于Linux的系统也不能摆脱这个“普遍规律”而独善其身。
因此,优秀的系统应当拥有完善的安全措施,应当足够坚固、能够抵抗来自Internet的侵袭,这正是Linux之所以流行并且成为Internet骨干力量的主要原因。
但是,如果你不适当地运用Linux的安全工具,它们反而会埋下隐患。
配置拙劣的安全系统会产生许多问题,本文将为你解释必须掌握的Linux安全知识。
本文讲述了如何通过基本的安全措施,使Linux系统变得可靠。
2安装
使系统处于单独(或隔离)的网络中。
以防止未受保护的系统连接到其它网络或互联网中受到可能的攻击
安装完成后将下面软件卸载
pumpapmdlsapnptoolsredhat-logos
mt-stkernel-pcmcia-csSetserialredhat-relese
ejectlinuxconfkudzugd
bcgetty_psraidtoolspciutils
mailcapsetconsolegnupg
用下面的命令卸载这些软件:
[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/kudzustop
3用户帐号安全Passwordandaccountsecurity
3.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.sodebug
authrequired/lib/security/pam_wheel.sogroup=wheel
Redhat7.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访问。
●要确保只有真正需要的服务才被允许外部访问,并合法地通过用户的路由器过滤检查。
尤其在下面的服务不是用户真正需要时候,要从路由器上将其过滤掉
NAMEPORTPROTOCOL
echo7TCP/UDP
systat11TCP
netstat15TCP
bootp67UDP
tftp69UDP
link87TCP
supdup95TCP
sunrpc111TCP/UDP
news144TCP
snmp161UDP
xdmcp177UDP
exec512TCP
login513TCP
shell514TCP
printer515TCP
biff512UDP
who513UDP
syslog514UDP
uucp540TCP
route520UDP
openwin2000TCP
nfs2049UDP/TCP
x116000to6000+nTCP
注意:
有些UDP服务可以导致DOS攻击和远程溢出,如
rpc.ypupdated
rpcbind
rpc.cmsd100068
rpc.statd100024
rpc.ttdbserver100083
sadmind100232/10
●配置完成以后,利用网络扫描器模拟入侵者从外部进行扫描测试。
如利用nmap
4.2/etc/inetd.conf
●确保文件权限设置为600
●确保文件属主设置为root
●注释掉所有不需要的服务,需要重新启动inetd进程
●使用netstat–an命令,查看本机所提供的服务。
确保已经停掉不需要的服务
4.3R服务
不必使用R服务
●关闭R服务,Redhat6.2在/etc/inetd.conf文件中注释以下服务,并且重新启动inetd服务。
Redhat7.0在/etc/xinetd.d目录中删除
exec512TCP
Rlogin513TCP
Rshell514TCP
●预先生成$HOME/.rhosts,/etc/hosts.equiv文件,并且设置为0000,防止被写入”++”。
(攻击者经常使用类似符号链接或者利用ROOTSHELL写入,并且远程打开受保护主机的R服务)
必须使用R服务
●使用更安全版本的r服务。
如WietseVenema的logdaemon程序等。
●在路由或者防火墙上禁止外部网络访问受保护主机的512,513and514(TCP)端口。
●使用TCPWRAPPERS设置可访问受保护主机R服务的信任机器。
4.4Tcp_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,see
bellow.
●在/etc/hosts.allow中设置允许的服务和地址
如:
sshd:
208.164.186.1
●使用tcpdchk检查
●UDP服务使用tcpwrapper时要使用/etc/inetd.conf中的nowait选项。
4.5/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
4.7/etc/aliases
●修改/etc/aliases文件,注释掉"decode""games,ingress,system,toor,manager,….”.等
●使用/usr/bin/newaliases命令激活新配置
●确保文件权限设置为755
●确保文件属主设置为root
4.8NFS
NFS文件系统应注意以下几方面的安全
●在外部路由上过滤端口111、2049(TCP/UDP),不允许外部访问。
●检查PATCH更新情况。
●检查/etc/exports输出路径的权限,确定只有root能修改, alluser只能read
●用exportfs去增加或删除directories
exportfs-oaccess=engineering,ro=dancer/usr
exportfs-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中设置。
4.9Trivialftp(tftp)
无论何种情况下都不应该启动这个服务进程。
4.10Sendmail
sendmail提供了许多在编译期间选择的功能特性。
通常情况下,按照其缺省配置,即可满足一般用户的需要。
但是,了解研究其提供的特性,可以实现对sendmail许多功能的更为准确的配置使用。
从网络安全的角度考虑,通过合理地配置有关特性,可以在提供服务和保证安全之间找到更为准确的平衡点(配置特性的方法是将需要的特性加入到相应系统的.mc文件中,然后利用工具m4生成最终的sendmail.cf文件。
目前最新版本是sendmail8.11.1.(www.sendmail.org)
●最新的发行包
●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认证功能。
●其他相关的mailserver
qmail:
www.qmail.org
postfix:
www.postfix.org
qpop:
http:
//www.qpopper.org/
Imail:
4.11finger
●不应该启动这个服务进程。
●如果一定要使用,请使用最新的版本。
4.12UUCP
●建议不要使用
●删除所有的rhosts文件(UUCP目录下的)
●确保.cmds文件属主为root
●对UUCP登陆进行限制
●确保UUCP文件没有被设置为所有人可写
4.13WorldWideWeb(WWW)–httpd
●使用你选择的WEBSERVER的最新版本
●不要使用ROOT用户运行httpd
●在chroot环境中运行httpd
●尽量不要使用CGI脚本
●对CGI脚本进行安全审计
●链接使用静态库
●过滤危险字符,如\n\r(.,/;~!
)>|^&$`<等
●使用https进行关键业务传送。
比较流行的webserver是
apachehttp:
//www.apache.org
netscpe的webserver和browser
IETF的Web事务安全工作组维持着一个特别针对WWW安全问题的邮寄列表.
要订阅,可发e-mail到www-security-request@nsmx.rutger.edu.在信息的
正文里写上
SUBSCRIBE www-security 你的email地址
主要的WWW FAQ也包含关于Web安全的问与答,如记录文件管理和服务软件来源等.这个FAQ的最新版在:
4.14FTP安全问题
主要的ftpserver
●wuftp最新版本是26.1
下载地址是ftp:
//ftp.wu-ftpd.org/pub/wu-ftpd-attic/wu-ftpd-2.6.1.tar.gz
●proftp最新版本是1.2.0rc2
下载地址是ftp:
//
●ncftp最新版本是2.6.3
下载地址是
配置Configuration
●检查所有的默认配置选项
●确定没有SITEEXEC问题
●设置/etc/ftpusers确定禁止使用ftp的用户
●使用chroot环境运行ftpd
●使用自己的ls等命令
●加入对quota,pam等支持
●配置/etc/ftpaccess文件,禁止系统信息泄露和设置最大连接数
●配置/etc/ftphosts,设置允许使用FTP的HOST和USER
●针对不同用户设置不同权限
●经常查看LOG记录 /var/log/xferlog
●配置文件属性改为600
Anonymousftp
●编译时打开允许匿名选项
●如果使用分布式passwords(e.g.,NIS,NIS+),需要设置好密码文件。
●匿名用户只给读权限(在/etc/ftpaccess中设置)
5系统设置安全(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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LINUX 安全 加固 手册