Linux服务器安全加固(二)
一、建立日志服务器
日志服务器的好处在于,每个工作服务器将自己的日志信息发送给日志服务器进行集中管理,即使有人入侵了服务器并将自己的登录信息悄悄删除,但由于日志信息实时与日志服务器同步,保证了日志的完整性。以备工作人员根据日志服务器信息对服务器安全进行评测。
客户端配置:
打开 /etc/rsyslog.conf 配置文件
你想把哪种类型的日志文件发送给服务端,你就把他原来的对应的目录改成: @192.168.207.20
如果你想吧所有的日志文件都发送给服务器的话,你可以在文件最后加上: *.* @@192.168.207.20:514
然后重启rsyslog服务: systemctl restart rsyslog
服务器配置:
打开 /etc/rsyslog.conf 配置文件
将这里的注释给去掉
重启rsyslog服务:systemctl restart rsyslog
开启防火墙: firewall-cmd --add-port=514/tcp
这样客户端的相应的日志文件就会保存在服务器端的相应的文件中。
二、远程连接的安全性配置
1 合规规则: 2 执行命令返回值为空则安全,否则不安全 3 加固方案: 4 1、执行:find / -name .netrc,检查系统中是否有.netrc 文件; 5 2、执行:find / -name .rhosts ,检查系统中是否有.rhosts 文件; 6 3、删除这两个文件
三、重要目录和文件的权限设置
1 检查依据: 2 若权限设置过低则系统用户无法进入文件目录或操作文件,如果权限设置太高不安全,容易攻击。不符合。 3 检查步骤: 4 执行以下命令检查目录和文件的权限设置情况: 5 ls –l /etc/#ls –l /etc/rc.d/init.d/ 6 ls –l /tmp#ls –l /etc/inetd.conf 7 ls –l /etc/passwd 8 ls –l /etc/shadow 9 ls –l /etc/group 10 ls –l /etc/security 11 ls –l /etc/services 12 ls -l /etc/rc*.d 13 加固方案: 14 建议按如下命令设置: 15 chmod -R 750 /etc/rc.d/init.d/*,使root 可以读、写和执行这个目录下的脚本。
四、查找未授权的SUID\SGID文件
1 检查依据: 2 若存在未授权的文件,则不安全。 3 检查步骤: 4 用下面的命令查找系统中所有的SUID 和SGID 程序, 5 执行: 6 find .-perm /4000 7 find .-perm /2000 8 加固方案: 9 通过chmod u+s 文件名 //用户加s权限
通过chmod g+s 文件名 //组加s权限 10 注:建议经常性的对比suid/sgid 文件列表,以便能够及时发现可疑的后门程序
五、停止或禁用与系统无关的服务
1 检查方法: 2 查看当前init级别: 3 who -r 4 runlevel 5 查看所有服务的状态: 6 chkconfig --list 7 加固方法: 8 1.备份方法:在改之前记录需要关闭服务的名称 9 2. 设置服务在个init级别下开机是否启动 10 chkconfig --level <服务名> on|off|reset
六、系统文件-----系统core dump 状态
1 检查方法: 2 执行:more /etc/security/limits.conf 3 检查是否包含下列项: 4 * soft core 0 5 * hard core 0 6 合规依据: 7 若不存在,则低于安全要求。 8 加固方法: 9 1.备份方法: 10 cp /etc/security/limits.conf /etc/security/limits.conf.bat 11 2. 加固 12 将下列加入文件中即可: 13 * soft core 0 14 * hard core 0 15 注:core dump 中可能包括系统信息,易被入侵者利用,建议关闭
七、检查root用户的path环境变量
1 配置要求: 2 root用户环境变量的安全性 3 检查步骤 4 使用命令echo $PATH查看PATH环境变量的值,确认PATH环境变量中是否存在.或者..的路径: 5 .:/usr/bin:..:/usr/sbin 6 执行:echo $PATH | egrep '(^|:)(\.|:|$)' ,检查是否包含父目录
检查是否包含组目录与文件权限为777的目录 7 执行:find -typr d \( -perm -002 -o -perm -020 \) -ls
执行:find -typr f \( -perm -002 -o -perm -020 \) -ls 8 合规标准 9 $PATH环境变量中不存在.或者..的路径则合规,否则不合规。 10 注:确保root用户的系统路径中包含父目录,在非必要的情况下,不应包含组权限为777的目录 11 加固方案 12 1、修改文件/etc/profile或/root/.bash_profile 13 修改环境变量$PATH,删除环境变量值包含的(.和..)的路径。