服务器安全加固

环境: CentOS 7.2

背景

帮客户托管在机房的服务器系统做安全加固,加固好后会有第三方机构进行安全扫描。

步骤

  1. 禁止root用户直接登陆
1) 编辑配置文件/etc/ssh/sshd_config 修改PermitRootLogin 后面的yes 为 no ,并且去掉前面的注释符
2)编辑 /etc/pam.d/login文件,配置auth required pam_securetty.so
 3)编辑/etc/passwd,账户信息的shell为/sbin/nologin的为禁止远程登陆,如要允许,则改成可以登陆的shell即可,如/sbin/bash。
4)然后重启sshd服务 service sshd restart
  1. 设置用户密码复杂度和过期时间
是在/etc/login.defs文件,里面几个选项
PASS_MAX_DAYS   90  #密码最长过期天数
PASS_MIN_DAYS   80  #密码最小过期天数
PASS_MIN_LEN    10  #密码最小长度
PASS_WARN_AGE   7   #密码过期警告天数
  1. 登陆超时设置
/etc/profile最后一行加入TMOUT=300

4.系统关键文件权限设置

通过chmod命令对目录的权限进行实际设置
/etc/passwd 必须所有用户都可读,root用户可写 –rw-r—r— 
/etc/shadow 只有root可读 –r-------- 
/etc/group  须所有用户都可读,root用户可写 –rw-r—r—
使用如下命令设置:
chmod 644 /etc/passwd
chmod 600 /etc/shadow
chmod 644 /etc/group

5.设置文件与目录缺省权限

在文件/etc/profile中设置umask 027或UMASK 027
设置默认权限: 
vi /etc/login.defs, 
在末尾增加umask 027或UMASK 027,将缺省访问权限设置为750

6.设置ssh登录前警告Banner

1.  执行如下命令创建ssh banner信息文件: 
#touch /etc/ssh_banner 
#chown bin:bin /etc/ssh_banner 
#chmod 644 /etc/ssh_banner 
#echo " Authorized only. All activity will be monitored and reported "> /etc/ssh_banner 
可根据实际需要修改该文件的内容。 
2.  修改/etc/ssh/sshd_config文件,添加如下行: 
Banner /etc/ssh_banner 
3.  重启sshd服务: 
#/etc/init.d/sshd restart 

7.设置文件与目录缺省权限

在文件/etc/profile中设置umask 027或UMASK 027
设置默认权限: 
vi /etc/login.defs, 
在末尾增加umask 027或UMASK 027,将缺省访问权限设置为750
如果服务器类型为采集服务器或应用中需要使用ftp的,需要设置umask为007,并把ftp用户组和启动应用的用户设置为同一用户组下

8.修改ssh默认端口

# vi /etc/ssh/sshd_config 修改
Port 17382
#service sshd restart

9.限制用户su到root

编辑su文件(vi /etc/pam.d/su),在开头添加下面两行: 
auth sufficient pam_rootok.so 和 
auth required pam_wheel.so group=wheel 这表明只有wheel组的成员可以使用su命令成为root用户。 
你可以把用户添加到wheel组,以使它可以使用su命令成为root用户。 
添加方法为:usermod –G wheel username
备注:双方共同运维服务器,且root密码为我方知晓时设置

10.检查拥有suid和sgid权限的文件

执行命令: 
find /usr/bin/chage /usr/bin/gpasswd /usr/bin/wall /usr/bin/chfn /usr/bin/chsh /usr/bin/newgrp /usr/bin/write /usr/sbin/usernetctl /usr/sbin/traceroute /bin/mount /bin/umount /bin/ping /sbin/netreport -type f -perm -04000 -o -perm -02000 -type f -xdev 2>/dev/null 
如果存在输出结果,则使用chmod 755 文件名 命令修改文件的权限。 
例如:chmod a-s /usr/bin/chage

注:所有软件最好用最新版本.
还对ftp端口进行了修改,防火墙注释掉对21 22端口的放行。vsp使用的是被动模式,开放出了高端位端口,目前还未进行安全扫描,后续根据扫描结果会继续修改本文。

你可能感兴趣的:(服务器安全加固)