作为一名IT工程师,我将介绍如何通过命令行工具有效保护Linux服务器的安全。以下是关键防护措施和相应命令:
保持系统更新是基础安全措施:
# Debian/Ubuntu系统
sudo apt update && sudo apt upgrade -y
# RHEL/CentOS系统
sudo yum update -y
# 自动安全更新(仅限Ubuntu/Debian)
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
使用ufw
或firewalld
管理防火墙:
# 使用ufw(Ubuntu)
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 使用firewalld(RHEL/CentOS)
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
# 修改SSH配置文件
sudo nano /etc/ssh/sshd_config
# 推荐修改项:
Port 2222 # 修改默认端口
PermitRootLogin no
PasswordAuthentication no # 仅使用密钥认证
MaxAuthTries 3
LoginGraceTime 1m
# 重启SSH服务
sudo systemctl restart sshd
# 生成SSH密钥对(在客户端执行)
ssh-keygen -t ed25519
ssh-copy-id -p 2222 user@your_server_ip
安装并配置AIDE(高级入侵检测环境):
sudo apt install aide # Debian/Ubuntu
sudo yum install aide # RHEL/CentOS
# 初始化数据库
sudo aideinit
# 手动检查变更
sudo aide --check
使用ClamAV进行病毒扫描:
sudo apt install clamav clamav-daemon # Debian/Ubuntu
sudo yum install clamav clamd # RHEL/CentOS
# 更新病毒定义
sudo freshclam
# 扫描系统
sudo clamscan -r --bell -i /
# 检查特权账户
awk -F: '($3 == "0") {print}' /etc/passwd
# 检查空密码账户
awk -F: '($2 == "") {print $1}' /etc/shadow
# 设置密码策略
sudo nano /etc/login.defs
# 修改:
PASS_MAX_DAYS 90
PASS_MIN_DAYS 7
PASS_WARN_AGE 14
# 安装并配置sudo权限
sudo visudo
# 限制特定用户组使用sudo
%admin ALL=(ALL) ALL
# 查看认证日志
sudo tail -f /var/log/auth.log # Debian/Ubuntu
sudo tail -f /var/log/secure # RHEL/CentOS
# 使用logwatch进行日志分析
sudo apt install logwatch # Debian/Ubuntu
sudo yum install logwatch # RHEL/CentOS
sudo logwatch --output mail --format html --mailto admin@example.com
# 查看监听端口
sudo netstat -tulnp
sudo ss -tulnp
# 禁用不必要的服务
sudo systemctl stop servicename
sudo systemctl disable servicename
# 检查SUID/SGID文件
sudo find / -perm -4000 -type f -exec ls -la {} 2>/dev/null \;
sudo find / -perm -2000 -type f -exec ls -la {} 2>/dev/null \;
使用Lynis进行系统审计:
# 下载并安装
sudo apt install lynis # Debian/Ubuntu
sudo yum install lynis # RHEL/CentOS
# 执行审计
sudo lynis audit system
# 创建/etc目录的加密备份
sudo tar -czf /backup/etc_backup_$(date +%Y%m%d).tar.gz /etc
sudo gpg -c /backup/etc_backup_*.tar.gz # 加密备份
sudo rm /backup/etc_backup_*.tar.gz # 删除未加密版本
# 设置自动备份(crontab)
0 2 * * * /path/to/backup_script.sh
通过以上命令行工具和技术的组合使用,你可以显著提高Linux服务器的安全性。定期执行这些检查和维护,确保系统持续安全运行。