1. 身份鉴别
1.1 配置SSH服务,禁止root用户远程登录
修改SSH配置文件/etc/ssh/sshd_config,将PermitRootLogin设置为no
重启SSH服务
1.2 配置SSH服务,禁止密码登录
修改SSH配置文件/etc/ssh/sshd_config,将PasswordAuthentication设置为no
重启SSH服务
1.3 配置SSH服务,使用密钥登录
生成密钥对
将公钥复制到服务器上的~/.ssh/authorized_keys文件中
修改SSH配置文件/etc/ssh/sshd_config,将PubkeyAuthentication设置为yes
重启SSH服务
1.4 配置sudoers文件,限制sudo权限
修改sudoers文件/etc/sudoers
添加如下内容:
%admin ALL=(ALL) ALL
%admin ALL=(ALL) NOPASSWD: /usr/bin/apt-get,/usr/bin/aptitude,/usr/bin/dpkg,/usr/sbin/service
2. 系统服务
2.1 关闭不必要的服务
查看所有服务列表:systemctl list-units --type=service
关闭不必要的服务:systemctl stop <服务名>
设置开机不自启动:systemctl disable <服务名>
2.2 禁止不必要的端口
查看所有监听端口:netstat -tunlp
禁止不必要的端口:iptables -A INPUT -p tcp --dport <端口号> -j DROP
2.3 配置防火墙
安装防火墙:yum install firewalld -y
启动防火墙:systemctl start firewalld
开机自启动:systemctl enable firewalld
配置防火墙规则:firewall-cmd --permanent --add-service=<服务名>
重新加载防火墙规则:firewall-cmd --reload
2.4 安装SELinux
安装SELinux:yum install selinux-policy -y
启动SELinux:setenforce 1
开机自启动:修改/etc/selinux/config文件中SELINUX=disabled为SELINUX=enforcing
3. 文件系统
3.1 配置文件系统安全策略
设置umask值:umask 027
设置登录超时:TMOUT=600,export TMOUT
3.2 禁止不必要的文件系统挂载
查看当前挂载的文件系统列表:mount | column -t
禁止不必要的文件系统挂载:修改/etc/fstab文件,注释掉不需要挂载的行即可。
3.3 设置文件权限
设置目录权限为755:chmod -R 755 <目录名>
设置文件权限为644:chmod -R 644 <文件名>
4. 日志审计
4.1 开启日志审计功能
安装rsyslog软件包:yum install rsyslog -y
启动rsyslog服务:systemctl start rsyslog.service
开机自启动