系统更新
# 更新软件包列表
sudo apt update && sudo apt upgrade -y # Debian/Ubuntu
sudo yum update -y # CentOS/RHEL
修改SSH默认端口
sudo nano /etc/ssh/sshd_config
# 修改 Port 22 为其他端口(如2222)
sudo systemctl restart sshd
禁用root远程登录
sudo nano /etc/ssh/sshd_config
# 设置 PermitRootLogin no
sudo systemctl restart sshd
创建普通用户并授予sudo权限
sudo adduser username
sudo usermod -aG sudo username # Debian/Ubuntu
sudo usermod -aG wheel username # CentOS/RHEL
设置强密码策略
sudo nano /etc/login.defs
# 修改:
PASS_MAX_DAYS 90
PASS_MIN_DAYS 10
PASS_WARN_AGE 7
禁用不必要用户
sudo passwd -l username
UFW防火墙(简单)
sudo apt install ufw
sudo ufw allow 2222/tcp # 替换为你的SSH端口
sudo ufw enable
Firewalld(高级)
sudo systemctl start firewalld
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
安装Fail2Ban防暴力破解
sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
配置基本规则
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
# 修改:
bantime = 1h
maxretry = 3
启用日志服务
sudo systemctl enable rsyslog
sudo systemctl start rsyslog
日志轮转配置
sudo nano /etc/logrotate.conf
# 确保配置合理
禁用IPv6(如不需要)
sudo nano /etc/sysctl.conf
# 添加:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
sudo sysctl -p
限制SUDO权限
sudo visudo
# 限制特定命令:
username ALL=(ALL) /usr/bin/apt, /usr/bin/systemctl
安装并配置Lynis安全审计工具
sudo apt install lynis
sudo lynis audit system
设置自动安全更新
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
定期检查rootkit
sudo apt install rkhunter chkrootkit
sudo rkhunter --update
sudo rkhunter --check
记住,安全是一个持续的过程,不是一次性设置。定期审查这些配置并根据需要进行调整是保持服务器安全的关键。