作为IT工程师,我为您整理了一套通过命令行工具增强Linux服务器安全性的综合方案,涵盖系统加固、监控和防护措施。
# 更新软件包列表并升级所有已安装软件包
sudo apt update && sudo apt upgrade -y # Debian/Ubuntu
sudo yum update -y # CentOS/RHEL
# 自动安全更新配置 (Debian/Ubuntu)
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
# 检查空密码账户
sudo awk -F: '($2 == "") {print $1}' /etc/shadow
# 强制密码复杂性要求 (Debian/Ubuntu)
sudo apt install libpam-pwquality
sudo nano /etc/security/pwquality.conf
# 修改参数如: minlen=12, dcredit=-1, ucredit=-1, ocredit=-1, lcredit=-1
# 锁定不必要账户
sudo passwd -l username
# 设置密码过期策略
sudo chage -M 90 -m 7 -W 7 username
# 编辑SSH配置
sudo nano /etc/ssh/sshd_config
# 推荐修改项:
Port 2222 # 更改默认端口
PermitRootLogin no # 禁止root登录
PasswordAuthentication no # 禁用密码认证,仅用密钥
MaxAuthTries 3 # 最大尝试次数
ClientAliveInterval 300 # 超时设置
ClientAliveCountMax 2
AllowUsers user1 user2 # 仅允许特定用户
# 重启SSH服务
sudo systemctl restart sshd
# 生成SSH密钥对 (在客户端执行)
ssh-keygen -t ed25519 -a 100
ssh-copy-id user@server -p 2222
# UFW (简单防火墙)
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp # 允许SSH
sudo ufw enable
# 或者使用iptables
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
sudo iptables -A INPUT -j DROP
sudo iptables-save > /etc/iptables/rules.v4
# 安装并配置fail2ban防暴力破解
sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
# 修改参数如: bantime = 1h, findtime = 10m, maxretry = 3
sudo systemctl restart fail2ban
# 安装并配置rkhunter rootkit检测
sudo apt install rkhunter
sudo rkhunter --update
sudo rkhunter --propupd
sudo rkhunter --check --sk
# 日志监控工具
sudo apt install logwatch
sudo nano /etc/logwatch/conf/logwatch.conf
# 检查SUID/SGID文件
sudo find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \;
# 检查无属主文件
sudo find / -nouser -o -nogroup
# 设置文件权限
sudo chmod 700 /home/user/.ssh
sudo chmod 600 /home/user/.ssh/authorized_keys
# 查看监听端口
sudo netstat -tulnp
sudo ss -tulnp
# 禁用不必要的服务
sudo systemctl stop servicename
sudo systemctl disable servicename
# 检查异常进程
ps auxf
top
htop
# 使用Lynis进行安全审计
sudo apt install lynis
sudo lynis audit system
# 使用ClamAV进行病毒扫描
sudo apt install clamav clamav-daemon
sudo freshclam # 更新病毒库
sudo clamscan -r / --exclude-dir=/sys/ --exclude-dir=/proc/
# 创建重要文件备份
sudo tar -czvf /backup/etc_backup_$(date +%F).tar.gz /etc
# 设置定时备份 (编辑crontab)
sudo crontab -e
# 添加: 0 3 * * * tar -czvf /backup/etc_backup_$(date +\%F).tar.gz /etc
# 安装SELinux (CentOS/RHEL)
sudo yum install selinux-policy selinux-policy-targeted
sudo setenforce 1
# 或AppArmor (Debian/Ubuntu)
sudo apt install apparmor apparmor-utils
sudo aa-enforce /etc/apparmor.d/*
# 安装AIDE文件完整性检查
sudo apt install aide
sudo aideinit
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
sudo aide --check
通过实施这些命令行安全措施,您可以显著提高Linux服务器的安全性。建议定期执行安全审计,并根据具体业务需求调整安全策略。