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

  • 开机自启动