二:文件和文件系统安全优化
(一):文件系统层次的安全优化
1合理规划系统分区
/boot/home/var/opt 等建议单独分区
2:通过挂载禁止执行set位程序 、二进制程序
mount命令的选项
-o nosuid、禁止文件的suidsgid位权限
-o noexec 禁止执行分区中的程序文件(防止恶意程序或病毒代码)
3 锁定不希望更改的系统文件
使用chattr命令对文件属性修改,添加+i属性后文件不能被修改,若添加+a属性,则文件只能以追加的方式添加内容“>>
lsattr命令 查看文件的属性状态
(二):应用程序和服务
1:关闭不需要的系统服务
使用ntsysvchkconfig管理工具
2:禁止普通用户执行init.d目录中的脚本
限制“other”组的权限(o-rwx/750
3:禁止普通用户执行控制台程序
consolehelper控制台助手
配置目录:/etc/security/console.apps/
 4:去除程序文件中非必需的set-uidset-gid附加权限
找出设置了set位权限的文件
[root@localhost ~]# ls -lh $(find / -type f -perm +6000)
root@localhost ~]# find / -type f -perm +6000 -exec ls -lh {} \;
去掉程序文件的suid/sgid为权限
Chmod a-s /tmp/hack.vim
监控系统中新增了哪些使用set位权限的文件
#!/bin/bash
OLD_LIST=/etc/sfilelist
for i in `find / -type f -a -perm +6000`
do
    grep -F "$i" $OLD_LIST > /dev/null
    [ $? -ne 0 ] && ls -lh $i
Done
 
三:系统引导和登录安全优化
(一):开关机安全控制
1:调整BIOS引导设置
   将第一优先引导设备(first boot device)设为当前系统所在的硬盘,其他引导设置为‘disabled’。为BIOS设置管理员密码,安全级别调整为“setup”。
2:禁用Ctrl+Alt+Del重启热键
修改/etc/inittab文件(将
注释掉),并执行“init q”重载配置
(二):GRUB引导菜单加密
加密引导菜单的作用
修改启动参数时需要验证密码(全局部分(第一个“title”之前))
进入所选择的系统前需要验证密码(系统引导参数部分(每个“title”部分之后))
grub.conf文件中设置密码的方式
password  明文密码串
password  --md5  加密密码串
(三):终端及登录控制
1:立即禁止普通用户登录/etc/nologin
    当服务器正在进行备份或调试等维护工作时,可能不希望再有新的用户登录系统。这时候,只需要简单地建立/etc/nologin文件即可。Login程序会检查/etc/nologin文件是否存在,如果存在则拒绝普通用户登录系统(root用户不受限制),删除该文件或者重启系统后可恢复。
2:设置启用哪些tty终端vi  /etc/inittab    init q
     Linux系统默认开放了tty1~tty6共六个本地终端(控制台),如果需要禁用多余的tty终端,可以修改/etc/inittab文件,并将对应的行注释掉。
3:控制允许root用户登录的终端/etc/securetty
    Linux系统中,login程序通常会读取/etc/securetty文件,已决定允许root用户从哪些终端登录系统。若要禁止root用户从某个终端登录,只需从该文件中删除或者注释掉对应的行即可。
4:更改系统登录提示,隐藏系统版本信息/etc/issue /etc/issue.net
登录Linux系统终端时,通常会看到带有系统名称、内核版本等内容的提示信息,许多网络攻击者往往利用这些信息来对服务器做进一步的扫描和探测。
通过修改/etc/issue/etc/issue.net文件(分别对应本地登录、网络登录),可以实现隐藏登录提示信息,或者将提示信息修改为其他内容。重启系统后,新的设置将生效。
5:使用pam_access认证控制用户登录地点
使用pam_access模块,可以按具体的用户名、登录地点两方面进行控制。Pam_access认证读取/etc/security/access.conf配置文件。该文件的配置行依次由“权限”、“用户”、“来源”三个部分内容组成,使用冒号进行分隔。
Ø       “权限”部分为“+”号或者“-”号,分别表示允许、拒绝。
Ø       “用户”部分为用户名,若为多个用户则使用空格分开,若为一个组的用户则使用“@组名”的形式表示。“ALL”表示所有用户。
Ø       “来源”部分表示用户从哪个终端或远程主机登录,可以使用tty1127.0.0.1192.168.1.0/24等形式表示,多个来源地点之间使用空格分开。
例:禁止除了root以外的用户从tty1终端上登录系统。
例:禁止root用户从192.168.1.0/24172.16.0.0/8网络中的远程登录。
同样需要添加认证支持然后修改配置文件