二:文件和文件系统安全优化

(一):文件系统层次的安全优化

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网络中的远程登录。

同样需要添加认证支持然后修改配置文件