共计 4668 个字符,预计需要花费 12 分钟才能阅读完成。
第一章 账户安全及权限
一、禁用 root 以外的超级用户
1. 检测方法:
cat /etc/passwd 查看口令文件,文件格式如下
login_name:password:user_ID:group_ID:comment:home_dir:command
若 user_ID=0,则该用户拥有超级用户的权限。查看此处是否有多个 ID=0
2. 检测命令:
cat /etc/passwd | awk -F ‘:’ ‘{print$1,$3}’ | grep ‘ 0$’
3. 备份方法:
cp -p /etc/passwd /etc/passwd_bak
4. 加固方法:
使用命令 passwd -l < 用户名 > 锁定不必要的超级账户
使用命令 passwd -u < 用户名 > 解锁需要恢复的超级账户
或把用户 shell 改为 /sbin/nologin
二、删除不必要的账号
1. 应该删除所有默认的被操作系统本身启动的并且不必要的账号,Linux 提供了很多默认账号,而账号越多,系统就越容易受到攻击。
2. 可删除的用户, 如
adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher 等
3. 可删除的组, 如
adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers 等
4. 删除命令
userdel username
groupdel groupname
三、用户口令设置
用户口令是 Linux/Unix 安全的一个基本起点,很多人使用的用户口令过于简单,这等于给侵入者敞开了大门,虽然从理论上说,只要有足够的时间和资源可以利用,就没有不能破解的用户口令,但选取得当的口令是难于破解的。较好的用户口令是那些只有他自己容易记得并理解的一串字符,最好不要把密码记录出来,如果有需要的话,也要保管好记录密码的文件,或者将这个文件加密。
生产环境口令要求: 包含大写字母、小写字母、数字和特殊字符四种中的三种,并且口令整体长度大于 10 位,每台服务器的口令不相同。
四、检查空口令账号
如果发现有账号口令为空,需要强制加入符合规格的口令
检查方法:
#awk -F: ‘($2 == “”) {print $1}’ /etc/shadow
五、口令文件加锁
chattr 命令给下面的文件加上不可更改属性,从而防止非授权用户获得权限。
#chattr +i/etc/passwd
#chattr +i/etc/shadow
#chattr +i/etc/group
#chattr +i/etc/gshadow
六、设置 root 账户自动注销时限
修改环境引导文件 /etc/profile 中的 TMOUT 参数,TMOUT 参数按秒计算
vim/etc/profile
在 ”HISTFILESIZE=” 后面加入下面这行
TMOUT=300
改变这项设置后,必须先注销用户,再用该用户登陆才能激活这个功能
如果想修改某个用户的自动注销时限,可以在用户目录下的 ”.bashrc” 文件中添加该值,以便系统对该用户实行特殊的自动注销时间
七、限制 su 命令
禁止任何人能够 su 切换为 root,编辑 /etc/pam.d/su 文件,增加如下行:
authrequired pam_wheel.so use_uid
这时,仅 wheel 组的用户可以 su 作为 root。此后,如果希望用户 admin 能够 su 作为 root,可以运行如下命令:
#usermod –G 10 admin
八、限制普通用户无法执行关机、重启、配置网络等敏感操作
删除 /etc/security/console.apps 下的 halt、reboot、poweroff、shutdown 等程序的访问控制文件,以禁止普通用户执行该命令
也可以整体删除 /etc/security/console.apps 下的所有配置文件
rm –rf /etc/security/console.apps/*
九、禁用 Ctrl+Alt+Delete 组合键重新启动机器命令
修改 /etc/inittab 文件,将 ”ca::ctrlaltdel:/sbin/shutdown-t3-rnow” 一行注释掉。
十、设置开机启动服务文件夹权限
设置 /etc/rc.d/init.d/ 目录下所有文件的许可权限,此目录下文件
为开机启动项,运行如下命令:
#chmod –R 700 /etc/rc.d/init.d/
这样便仅有 root 可以读、写或执行上述所有脚本文件。
十一、避免 login 时显示系统和版本信息
删除信息文件:
rm –rf /etc/issue
rm –rf /etc/issue.net
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-11/109900p2.htm
第二章 限制网络访问
一、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
二、登录终端设置
/etc/securetty 文件指定了允许 root 登录的 tty 设备,由 /bin/login 程序读取,其格式是一个被允许的名字列表,可以编辑 /etc/securetty 且注释掉如下的行。
#tty2
#tty3
#tty4
#tty5
#tty6
这时,root 仅可在 tty1 终端登录。
第三章 防止攻击
一、防止 IP 欺骗
编辑 host.conf 文件并增加如下几行来防止 IP 欺骗攻击。
orderbind,hosts
multioff
nospoofon
二、防止 DoS 攻击
对系统所有的用户设置资源限制可以防止 DoS 类型攻击。如最大进程数和内存使用数量等。例如,可以在 /etc/security/limits.conf 中添加如下几行:
*hardcore0
*hardrss5000
*hardnproc20
然后必须编辑 /etc/pam.d/login 文件检查下面一行是否存在。
sessionrequired/lib/security/pam_limits.so
上面的命令禁止调试文件,限制进程数为 50 并且限制内存使用为 5MB。
第一章 账户安全及权限
一、禁用 root 以外的超级用户
1. 检测方法:
cat /etc/passwd 查看口令文件,文件格式如下
login_name:password:user_ID:group_ID:comment:home_dir:command
若 user_ID=0,则该用户拥有超级用户的权限。查看此处是否有多个 ID=0
2. 检测命令:
cat /etc/passwd | awk -F ‘:’ ‘{print$1,$3}’ | grep ‘ 0$’
3. 备份方法:
cp -p /etc/passwd /etc/passwd_bak
4. 加固方法:
使用命令 passwd -l < 用户名 > 锁定不必要的超级账户
使用命令 passwd -u < 用户名 > 解锁需要恢复的超级账户
或把用户 shell 改为 /sbin/nologin
二、删除不必要的账号
1. 应该删除所有默认的被操作系统本身启动的并且不必要的账号,Linux 提供了很多默认账号,而账号越多,系统就越容易受到攻击。
2. 可删除的用户, 如
adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher 等
3. 可删除的组, 如
adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers 等
4. 删除命令
userdel username
groupdel groupname
三、用户口令设置
用户口令是 Linux/Unix 安全的一个基本起点,很多人使用的用户口令过于简单,这等于给侵入者敞开了大门,虽然从理论上说,只要有足够的时间和资源可以利用,就没有不能破解的用户口令,但选取得当的口令是难于破解的。较好的用户口令是那些只有他自己容易记得并理解的一串字符,最好不要把密码记录出来,如果有需要的话,也要保管好记录密码的文件,或者将这个文件加密。
生产环境口令要求: 包含大写字母、小写字母、数字和特殊字符四种中的三种,并且口令整体长度大于 10 位,每台服务器的口令不相同。
四、检查空口令账号
如果发现有账号口令为空,需要强制加入符合规格的口令
检查方法:
#awk -F: ‘($2 == “”) {print $1}’ /etc/shadow
五、口令文件加锁
chattr 命令给下面的文件加上不可更改属性,从而防止非授权用户获得权限。
#chattr +i/etc/passwd
#chattr +i/etc/shadow
#chattr +i/etc/group
#chattr +i/etc/gshadow
六、设置 root 账户自动注销时限
修改环境引导文件 /etc/profile 中的 TMOUT 参数,TMOUT 参数按秒计算
vim/etc/profile
在 ”HISTFILESIZE=” 后面加入下面这行
TMOUT=300
改变这项设置后,必须先注销用户,再用该用户登陆才能激活这个功能
如果想修改某个用户的自动注销时限,可以在用户目录下的 ”.bashrc” 文件中添加该值,以便系统对该用户实行特殊的自动注销时间
七、限制 su 命令
禁止任何人能够 su 切换为 root,编辑 /etc/pam.d/su 文件,增加如下行:
authrequired pam_wheel.so use_uid
这时,仅 wheel 组的用户可以 su 作为 root。此后,如果希望用户 admin 能够 su 作为 root,可以运行如下命令:
#usermod –G 10 admin
八、限制普通用户无法执行关机、重启、配置网络等敏感操作
删除 /etc/security/console.apps 下的 halt、reboot、poweroff、shutdown 等程序的访问控制文件,以禁止普通用户执行该命令
也可以整体删除 /etc/security/console.apps 下的所有配置文件
rm –rf /etc/security/console.apps/*
九、禁用 Ctrl+Alt+Delete 组合键重新启动机器命令
修改 /etc/inittab 文件,将 ”ca::ctrlaltdel:/sbin/shutdown-t3-rnow” 一行注释掉。
十、设置开机启动服务文件夹权限
设置 /etc/rc.d/init.d/ 目录下所有文件的许可权限,此目录下文件
为开机启动项,运行如下命令:
#chmod –R 700 /etc/rc.d/init.d/
这样便仅有 root 可以读、写或执行上述所有脚本文件。
十一、避免 login 时显示系统和版本信息
删除信息文件:
rm –rf /etc/issue
rm –rf /etc/issue.net
更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-11/109900p2.htm