You are on page 1of 17

LINUX 安全加固手册

2010 年 8 月 6 日

目 录
1 概述............................................................................................................................................................3
2 安装............................................................................................................................................................3
3 用户帐号安全 Password and account security..........................................................................................4
3.1 密码安全策略.................................................................................................................................4
3.2 检查密码是否安全.........................................................................................................................4
3.3 Password Shadowing.......................................................................................................................4
3.4 管理密码.........................................................................................................................................4
3.5 其它.................................................................................................................................................5
4 网络服务安全(Network Service Security)................................................................................................5
4.1 服务过滤 Filtering...........................................................................................................................6
4.2 /etc/inetd.conf............................................................................................................................6
4.3 R 服务.......................................................................................................................................7
4.4 Tcp_wrapper..............................................................................................................................7
4.5 /etc/hosts.equiv 文件.................................................................................................................8
4.6 /etc/services.....................................................................................................................................8
4.7 /etc/aliases.................................................................................................................................8
4.8 NFS..................................................................................................................................................9
4.9 Trivial ftp (tftp)..........................................................................................................................9
4.10 Sendmail........................................................................................................................................9
4.11 finger............................................................................................................................................10
4.12 UUCP......................................................................................................................................10
4.13 World Wide Web (WWW) – httpd..........................................................................................10
4.14 FTP 安全问题.........................................................................................................................11
5 系统设置安全(System Setting Security)............................................................................................12
5.1 限制控制台的使用.......................................................................................................................12
5.2 系统关闭 Ping...............................................................................................................................12
5.3 关闭或更改系统信息...................................................................................................................12
5.4 /etc/securetty 文件.........................................................................................................................13
5.5 /etc/host.conf 文件........................................................................................................................13
5.6 禁止 IP 源路径路由......................................................................................................................13
5.7 资源限制.......................................................................................................................................13
5.8 LILO 安全.....................................................................................................................................14
5.9 Control-Alt-Delete 键盘关机命令...............................................................................................14
5.10 日志系统安全.............................................................................................................................15
5.11 修正脚本文件在“/etc/rc.d/init.d”目录下的权限.......................................................................15
6 文件系统安全(File System Security).................................................................................................15
6.1 文件权限.......................................................................................................................................15
6.2 控制 mount 上的文件系统...........................................................................................................16
6.3 备份与恢复...................................................................................................................................16
7 其它.....................................................................................................................................................16
7.1 使用防火墙...................................................................................................................................16
7.2 使用第三方安全工具...................................................................................................................16

LINUX 安全加固手册 第 2 页 共 17 页
1 概述

近几年来 Internet 变得更加不安全了。网络的通信量日益加大,越来越多的重要交易正在通过网


络完成,与此同时数据被损坏、截取和修改的风险也在增加。
只要有值得偷窃的东西就会有想办法窃取它的人。Internet 的今天比过去任何时候都更真实地体现
出这一点,基于 Linux 的系统也不能摆脱这个“普遍规律”而独善其身。因此,优秀的系统应当拥
有完善的安全措施,应当足够坚固、能够抵抗来自 Internet 的侵袭,这正是 Linux 之所以流行并且
成为 Internet 骨干力量的主要原因。但是,如果你不适当地运用 Linux 的安全工具,它们反而会埋
下隐患。配置拙劣的安全系统会产生许多问题,本文将为你解释必须掌握的 Linux 安全知识。 本
文讲述了如何通过基本的安全措施,使 Linux 系统变得可靠。

2 安装

使系统处于单独(或隔离)的网络中。以防止未受保护的系统连接到其它网络或互联网中受到可
能的攻击
安装完成后将下面软件卸载
pump apmd lsapnptools redhat-logos
mt-st kernel-pcmcia-cs Setserial redhat-relese
eject linuxconf kudzu gd
bc getty_ps raidtools pciutils
mailcap setconsole gnupg
用下面的命令卸载这些软件:
[root@deep]#rpm –e softwarename
卸载它们之前最好停掉三个进程:
[root@deep]# /etc/rc.d/init.d/apmd stop
[root@deep]# /etc/rc.d/init.d/sendmail stop
[root@deep]# /etc/rc.d/init.d/kudzu stop

LINUX 安全加固手册 第 3 页 共 17 页
3 . 用 户 帐 号 安 全 Password and account

security

3.1 密码安全策略

 口令至少为 6 位,并且包括特殊字符
 口令不要太简单,不要以你或者有关人的相关信息构成的密码,比如生日、电话、
姓名的拼音或者缩写、单位的拼音或者英文简称等等。
 口令必须有有效期
 发现有人长时间猜测口令,需要更换口令

3.2 检查密码是否安全

可以使用以下几种工具检查自己的密码是否安全:
 JOHN,crack 等暴力猜测密码工具
 在线穷举工具,包括 Emailcrk、流光等

3.3 Password Shadowing

 使用 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 文件,在文件头部加上:
auth sufficient /lib/security/pam_rootok.so debug

LINUX 安全加固手册 第 4 页 共 17 页
auth required /lib/security/pam_wheel.so group=wheel
Red hat 7.0 中 su 文件已做了修改,直接去掉头两行的注释符就可以了
[root@deep]# usermod -G10 admin 来将用户加入 wheel 组

3.5 其它

 清除不必要的系统帐户
[root@deep]# userdel adm
[root@deep]# userdel lp
[root@deep]# userdel sync
[root@deep]# userdel shutdown
[root@deep]# userdel halt
[root@deep]# userdel news
[root@deep]# userdel uucp
[root@deep]# userdel operator
[root@deep]# userdel games (如果不使用 X Window,则删除)
[root@deep]# userdel gopher
[root@deep]# userdel ftp (如果不使用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 ;chmod 0 /.rhosts
 使用 ssh 来代替 telnetd,ftpd.pop 等通用服务。传统的网络服务程序,如:ftp、pop 和
telnet 在本质上都是不安全的,因为它们在网络上用明文传送口令和数据。

4 网络服务安全(Network Service Security)

Linux 系统对外提供强大、多样的服务,由于服务的多样性及其复杂性,在配置和管理这
些服务时特别容易犯错误,另外,提供这些服务的软件本身也存在各种漏洞,所以,在决定
系统对外开放服务时,必须牢记两个基本原则:
 只对外开放所需要的服务,关闭所有不需要的服务。对外提供的服务越少,所面临
的外部威胁越小。

LINUX 安全加固手册 第 5 页 共 17 页
 将所需的不同服务分布在不同的主机上,这样不仅提高系统的性能,同时便于配
置和管理,减小系统的安全风险。
在上述两个基本原则下,还要进一步检查系统服务的功能和安全漏洞。
这里针对主机所提供的服务进行相应基本安全配置,某些常用服务的安全配置请参考相
关文档。

4.1 服务过滤 Filtering

 在 SERVER 上禁止这些服务
 如果一定要开放这些服务,通过防火墙、路由指定信任 IP 访问。
 要确保只有真正需要的服务才被允许外部访问,并合法地通过用户的路由器过滤检
查。尤其在下面的服务不是用户真正需要时候,要从路由器上将其过滤掉
NAME PORT PROTOCOL
echo 7 TCP/UDP
systat 11 TCP
netstat 15 TCP
bootp 67 UDP
tftp 69 UDP
link 87 TCP
supdup 95 TCP
sunrpc 111 TCP/UDP
news 144 TCP
snmp 161 UDP
xdmcp 177 UDP
exec 512 TCP
login 513 TCP
shell 514 TCP
printer 515 TCP
biff 512 UDP
who 513 UDP
syslog 514 UDP
uucp 540 TCP
route 520 UDP
openwin 2000 TCP
nfs 2049 UDP/TCP
x11 6000 to 6000+n TCP
注意:有些 UDP 服务可以导致 DOS 攻击和远程溢出,如
rpc.ypupdated
rpcbind
rpc.cmsd 100068
rpc.statd 100024

LINUX 安全加固手册 第 6 页 共 17 页
rpc.ttdbserver 100083
sadmind 100232/10
 配置完成以后,利用网络扫描器模拟入侵者从外部进行扫描测试。如利用 nmap

1.1 /etc/inetd.conf

 确保文件权限设置为 600
 确保文件属主设置为 root
 注释掉所有不需要的服务,需要重新启动 inetd 进程
 使用 netstat –an 命令,查看本机所提供的服务。确保已经停掉不需要的服务

1.2 R 服务

不必使用 R 服务
 关闭 R 服务,Red hat 6.2 在/etc/inetd.conf 文件中注释以下服务,并且重新启动 inetd 服
务。Red hat 7.0 在/etc/xinetd.d 目录中删除
exec 512 TCP
Rlogin 513 TCP
Rshell 514 TCP
 预先生成$HOME/.rhosts,/etc/hosts.equiv 文件,并且设置为 0000,防止被写入”+ +”。
(攻击者经常使用类似符号链接或者利用 ROOTSHELL 写入,并且远程打开受保护
主机的 R 服务)

必须使用 R 服务
 使用更安全版本的 r 服务。如 Wietse Venema 的 logdaemon 程序等。
 在路由或者防火墙上禁止外部网络访问受保护主机的 512,513 and 514 (TCP)端口。
 使用 TCP WRAPPERS 设置可访问受保护主机 R 服务的信任机器。

1.3 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 地址

LINUX 安全加固手册 第 7 页 共 17 页
 在/etc/hosts.deny 中设置为 all:all,默认所有不允许
Access is denied by default.
# Deny access to everyone.
ALL: ALL@ALL, PARANOID #Matches any host whose name does not match its address, see
bellow.
 在/etc/hosts.allow 中设置允许的服务和地址
如:sshd: 208.164.186.1 gate.openarch.com
 使用 tcpdchk 检查
 UDP 服务使用 tcpwrapper 时要使用/etc/inetd.conf 中的 nowait 选项。

1.4 /etc/hosts.equiv 文件

不必使用/etc/hosts.equiv 文件
 从系统中删除此文件
 预先生成/etc/hosts.equiv 文件,并且设置为 0000,防止被写入”+ +”。(攻击者经常使
用类似符号链接或者利用 ROOTSHELL 写入,并且远程打开受保护主机的 R 服务)

必须使用/etc/hosts.equiv 文件
 确保此文件中可信赖主机为必须的。
 预先生成/etc/hosts.equiv 文件,并且设置为 0000,防止被写入”+ +”。(攻击者经常使
用类似符号链接或者利用 ROOTSHELL 写入,并且远程打开受保护主机的 R 服务)
 如果使用 NIS 或者 NIS+的话,此文件中的组应该是容易管理的。
 信赖主机必须确保可靠
 信赖主机使用全名,如例如 hostname.domainname.cn
 任何时候都不应该出现”+”字符,因为这样会使任何一台主机上的任何用户都可以不
加口令地访问系统
 文件中不要使用'!' 和'#'符号,因为在该文件中那并不表示注释信息
 文件开始字符不应该为'-'.,请查阅 C8
 确保该文件的访问权限被设置成 600。
 文件属主确保为 ROOT。
 在每次安装补丁程序或操作系统之后,都应该重新检查该文件夹的设置情况

4.6 /etc/services

 确保文件权限设置为 600
 确保文件属主设置为 root
 如果需要提供一些常见服务,如 telnetd 等,可以在此修改端口
此文件为端口号和服务的对应关系,给此文件加上保护,避免没有授权的修改和删除
[root@deep]# chattr +i /etc/services

LINUX 安全加固手册 第 8 页 共 17 页
1.5 /etc/aliases

 修改/etc/aliases 文件,注释掉"decode" "games,ingress,system,toor,manager,….”.等


 使用/usr/bin/newaliases 命令激活新配置
 确保文件权限设置为 755
 确保文件属主设置为 root

4.8 NFS

NFS 文件系统应注意以下几方面的安全
 在外部路由上过滤端口 111、2049 (TCP/UDP),不允许外部访问。
 检查PATCH更新情况。
 检查 /etc/exports 输出路径的权限,确定只有 root 能修改, all user 只能 read
 用 exportfs 去增加或删除 directories
exportfs -o access=engineering,ro=dancer /usr
exportfs -u /usr
 假如你的机器没有 NIS(YP server)的服务,当更改资料时记得修改
/etc/passwd
/etc/group
/etc/hosts
/etc/ethers
 不允许 export 出去包含本地入口的目录
 确定对方机器是完全可信赖的。使用全名
 确保输出列表没有超过 256 个字符。
 使用 showmount –e 命令查看自己的 export 设置
 将/etc/exports 权限设置为 644,属主为 root
 使用 noexec,nodev.nosuid 等选项控制 mount 的文件系统,在/etc/fstab 中设置。

1.6 Trivial ftp (tftp)

无论何种情况下都不应该启动这个服务进程。

4.10 Sendmail

sendmail 提供了许多在编译期间选择的功能特性。通常情况下,按照其缺省配置,即可
满足一般用户的需要。但是,了解研究其提供的特性,可以实现对 sendmail 许多功能的更为

LINUX 安全加固手册 第 9 页 共 17 页
准确的配置使用。从网络安全的角度考虑,通过合理地配置有关特性,可以在提供服务和保
证安全之间找到更为准确的平衡点(配置特性的方法是将需要的特性加入到相应系统的.mc 文
件 中 , 然 后 利 用 工 具 m4 生 成 最 终 的 sendmail.cf 文 件 。 目 前 最 新 版 本 是 sendmail8.11.1.
(www.sendmail.org)
 最新的发行包
 promiscuous_relay:该特性打开任意转发功能,也即关闭 8.9 带来的邮件转发方面的
安全增强控制。此特性的使用会对电子邮件服务的滥用留下许多隐患,建议除非特别
情况,不要使用此特性。
 accept_unqualified_senders:缺省情况下,该特性被关闭,即当 MAIL FROM:参数中
的地址表明属于网络连接,但是却不包含合法的主机地址时,sendmail 将拒绝继续通
信。打开此特性则不再根据 MAIL FROM:参数拒绝接收邮件。建议不可轻易使用该特
性。
 loose_relay_check :通常情况下,当邮件使用了源路由功能,例如 user%site@othersite,
如果 othersite 属于转发邮件的范围,则 sendmail 将分离 othersite,继续检查 site 是否属
于转发范围.使用该特性将改变上述缺省操作.建议不要轻易使用该特性
 accept_unresolvable_domains :通常情况下,当 MAIL FROM:参数中的主机地址部分无
法解析,即无法判定为合法主机地址时,sendmail 将拒绝连接.使用该特性将改变上述操
作. 在某些情况下,例如,邮件服务器位于防火墙后面,无法正常解析外部主机地址,但是
仍然希望能够正常接收邮件时,可能需要利用该特性.
 blacklist_recipients :打开接收黑名单功能。接收黑名单可以包括用户名、主机名、或
其它地址。
 relay_entire_domain :缺省配置下,sendmail 只为在转发控制数据库(access db)中定义
为 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:http://www.imailbox.com/

4.11 finger

 不应该启动这个服务进程。
 如果一定要使用,请使用最新的版本。

1.7 UUCP

 建议不要使用
 删除所有的 rhosts 文件(UUCP目录下的)

LINUX 安全加固手册 第 10 页 共 17 页
 确保.cmds 文件属主为 root
 对UUCP登陆进行限制
 确保UUCP文件没有被设置为所有人可写

1.8 World Wide Web (WWW) – httpd

 使用你选择的WEBSERVER的最新版本
 不要使用ROOT用户运行 httpd
 在 chroot 环境中运行 httpd
 尽量不要使用CGI脚本
 对CGI脚本进行安全审计
 链接使用静态库
 过滤危险字符,如\n \r (.,/;~!)>|^&$`< 等
 使用 https 进行关键业务传送。

比较流行的 webserver 是
apache http://www.apache.org
netscpe 的 web server 和 browser http://home.netscape.com/enterprise/v3.6/index.html
IETF 的 Web 事务安全工作组维持着一个特别针对 WWW 安全问题的邮寄列表.
要订阅,可发 e-mail 到 www-security-request@nsmx.rutger.edu.在信息的
正文里写上
SUBSCRIBE www-security 你的 email 地址
主要的 WWW FAQ 也包含关于 Web 安全的问与答,如记录文件管理和服务软件来源等.这
个 FAQ 的最新版在: http://www.boutell.com/faq/

1.9 FTP 安全问题

主要的 ftp server


 wuftp 最新版本是26.1
下载地址是 ftp://ftp.wu-ftpd.org/pub/wu-ftpd-attic/wu-ftpd-2.6.1.tar.gz
 proftp 最新版本是 1.2.0rc2
下载地址是 ftp://ftp.proftpd.net/pub/proftpd
 ncftp 最新版本是2.6.3
下载地址是 http://www.ncftp.com/ncftpd/

配置 Configuration
 检查所有的默认配置选项
 确定没有 SITE EXEC 问题
 设置/etc/ftpusers 确定禁止使用 ftp 的用户
 使用 chroot 环境运行 ftpd
 使用自己的 ls 等命令
 加入对 quota,pam 等支持

LINUX 安全加固手册 第 11 页 共 17 页
 配置/etc/ftpaccess 文件,禁止系统信息泄露和设置最大连接数
 配置/etc/ftphosts,设置允许使用FTP的HOST和USER
 针对不同用户设置不同权限
 经常查看LOG记录 /var/log/xferlog
 配置文件属性改为600

Anonymous ftp
 编译时打开允许匿名选项
 如果使用分布式 passwords (e.g., NIS, NIS+),需要设置好密码文件。
 匿名用户只给读权限(在/etc/ftpaccess 中设置)

2 系统设置安全(System Setting Security)

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]#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
可以将这一行加到/etc/rc.d/rc.local 文件中去,这样系统重启动后会自动执行
恢复系统的 Ping 响应:
[root@deep]#echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

LINUX 安全加固手册 第 12 页 共 17 页
5.3 关闭或更改系统信息

关闭 telnet 系统信息
Red Hat 6.2 中,编辑/etc/inetd.conf
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd –h
加上参数-h 可以关闭 telnet 信息
Red Hat 7.0 中,编辑/etc/xinetd.d/telnet
加上 server_args = -h,可以关闭 telnet 信息
/etc/rc.d/rc.local 中关闭或修改系统信息
/etc/issue 和/etc/issue.net 中包含本地登录和网络登录时提示的系统信息 ,对它们进行更改
可以改变系统信息,或直接删除,并在/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/issue.net
#echo >> /etc/issue

5.4 /etc/securetty 文件

/etc/securetty 文件规定 root 从哪个 TTY 设备登录,列出的是允许的 tty 设备,将不允许的 tty


设备行注释掉.

5.5 /etc/host.conf 文件

/etc/host.conf 定义主机名怎样解析,使用什么服务,什么顺序解析
# Lookup names via DNS first then fall back to /etc/hosts.
order bind,hosts
# We have machines with multiple IP addresses.
multi on
# Check for IP address spoofing.
nospoof on
order指定选择服务的顺序
multi指定主机能不能有多个IP地址,ON代表允许
nospoof指定不允许IP伪装,此参数必须设置为ON

LINUX 安全加固手册 第 13 页 共 17 页
5.6 禁止 IP 源路径路由

允许 IP 源路径路由(IP source routing)会使得黑客能够欺骗你的计算机,截取信息包.强烈


建议禁止,使用如下命令:
for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo 0 > $f
done
将 accept_source_route 设置为 0,并将上述命令加到/etc/rc.d/rc.local 中去,每次重启动将
自动执行

5.7 资源限制

为了避免拒绝服务攻击,需要对系统资源的使用做一些限制。
首先,编辑/etc/security/limits.conf,加入或改变如下
* hard core 0 (禁止创建 core 文件)
* hard rss 5000 (除 root 外,其他用户最多使用 5M 内存)
* hard nproc 20 (最多进程数限制为 20)
编辑/etc/pam.d/login,在文件末尾加上:
session required /lib/security/pam_limits.so

对 TCP SYN Cookie 的保护:(防止 SYN Flood 攻击)


[root@deep]# echo 1 > /proc/sys/net/ipv4/tcp_syncookies

5.8 LILO 安全

在“/etc/lilo.conf”文件中添加 3 个参数:time-out、restricted 和 password。这些选项会在启


动时间(如“linux single”)转到启动转载程序过程中,要求提供密码。
步骤 1
编辑 lilo.conf 文件(/etc/lilo.conf),添加和更改这三个选项:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
time-out=00  #change this line to 00
prompt
Default=linux
restricted  #add this line
password=  #add this line and put your password
image=/boot/vmlinuz-2.2.14-12

LINUX 安全加固手册 第 14 页 共 17 页
label=linux
initrd=/boot/initrd-2.2.14-12.img
root=/dev/hda6
read-only

步骤 2
由于其中的密码未加密,“/etc/lilo.conf”文件只对根用户为可读。
[root@kapil /]# chmod 600 /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.9 Control-Alt-Delete 键盘关机命令

编辑“/etc/inittab”文件,只要在下面行前面加“#”,改为注释行。
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
改为:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
然后,为使更改生效,在提示符下输入:
[root@kapil /]# /sbin/init q

5.10 日志系统安全

为了保证日志系统的完整性,防止黑客删除日志,需要对日志系统进行安全配置。本专
题将有专门文档来讲述日志系统的安全。

5.11 修正脚本文件在“/etc/rc.d/init.d”目录下的权限

对脚本文件的权限进行修正,脚本文件用以决定启动时需要运行的所有正常过程的开启
和停止。添加:[root@kapil/]# chmod -R 700 /etc/rc.d/init.d/*
这句指的是,只有根用户允许在该目录下使用 Read、Write,和 Execute 脚本文件。

LINUX 安全加固手册 第 15 页 共 17 页
3 文件系统安全(File System Security)

6.1 文件权限

 去掉不必要的 suid 程序,可以通过脚本查看


[root@deep]# find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls –lg {}\;
通过下面的命令来去掉不需要的程序的‘s’位
[root@deep]# chmod a-s /usr/bin/commandname
 重要的配置文件如/etc/passwd,/etc/shadow,/etc/inetd.conf 等设置为 0755,并设置为不可
更改
 /etc, /usr/etc, /bin, /usr/bin, /sbin, /usr/sbin, /tmp and/var/tmp 的属主是 root,并且设置粘滞。
 /dev 目录下没有特殊文件。
 查找任何人可写的文件和目录
[root@deep]# find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \;
[root@deep]# find / -type d \( -perm -2 -o -perm -20 \) -exec ls -ldg {} \;
 查找异常文件,如..文件,…文件等
find / -name ".. " -print –xdev
find / -name ".*" -print -xdev | cat -v
 检查没有属主的文件。
Find / -nouser –o –nogroup
 检查在/dev 目录以外还有没有特殊的块文件
find / \( -type b -o -type c \) -print | grep -v '^/dev/'
 使用 checksum md5 或者 PGP 来效验文件

6.2 控制 mount 上的文件系统

可以使用 noexec, nodev, nosuid 来控制 mount 上的文件系统.在/etc/fstab 中设置,比如:


将/dev/sda11 /tmp ext2 defaults 1 2
/dev/sda6 /home ext2 defaults 1 2
改为:/dev/sda11 /tmp ext2 nosuid,nodev,noexec 1 2
/dev/sda6 /home ext2 nosuid,nodev 1 2
noexec 表示不允许可执行,nodev 表示不允许块设备,nosuid 表示不允许 suid 位

LINUX 安全加固手册 第 16 页 共 17 页
6.3 备份与恢复

定期对文件系统进行备份,可以将损失减小到最小程度。
Linux 下有多种方法进行备份,如:dd, cpio, tar, dump 等

4 其它

7.1 使用防火墙

防火墙是网络安全的重要方面,我们将另有专题来详细阐述防火墙,包括防火墙的原
理,linux 2.2 内核下 IPChains 实现,linux 2.4 内核下 netfilter 实现,商业防火墙产品应用等。

7.2 使用第三方安全工具

Linux 下有很多很好的安全工具,比如: Tripwire, SSH, Sudo, Tcpdump, nmap, nessus,


snort, sniffit… …我们将安排专题来具体讲述这些非常实用的安全工具。

LINUX 安全加固手册 第 17 页 共 17 页

You might also like