二:文件和文件系统安全优化
(一):文件系统层次的安全优化
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网络中的远程登录。
同样需要添加认证支持然后修改配置文件