作为IT工程师,维护Linux服务器安全是至关重要的任务。以下是一套全面的Linux服务器安全维护命令和最佳实践:
# 更新软件包列表
sudo apt update # Debian/Ubuntu
sudo yum check-update # CentOS/RHEL
# 升级所有已安装的软件包
sudo apt upgrade # Debian/Ubuntu
sudo yum update # CentOS/RHEL
# 自动安全更新 (Debian/Ubuntu)
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
# 检查当前登录用户
who
# 查看所有用户
cat /etc/passwd
# 添加新用户
sudo adduser newusername
# 设置/修改密码
sudo passwd username
# 锁定/解锁用户
sudo usermod -L username # 锁定
sudo usermod -U username # 解锁
# 删除用户
sudo userdel -r username # -r同时删除家目录
# 检查空密码账户
sudo awk -F: '($2 == "") {print}' /etc/shadow
# 编辑SSH配置文件
sudo nano /etc/ssh/sshd_config
# 推荐修改以下参数:
Port 2222 # 修改默认端口
PermitRootLogin no # 禁止root直接登录
PasswordAuthentication no # 禁用密码认证,仅使用密钥
MaxAuthTries 3 # 最大尝试次数
ClientAliveInterval 300 # 超时断开非活动连接
AllowUsers user1 user2 # 只允许特定用户登录
# 重启SSH服务
sudo systemctl restart sshd
# UFW (Ubuntu)
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp # 允许SSH新端口
# firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
# iptables (通用)
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
sudo iptables -A INPUT -j DROP
# 检查文件权限
find / -type f -perm -o+w -exec ls -l {} \; # 查找全局可写文件
find / -type d -perm -o+w -exec ls -ld {} \; # 查找全局可写目录
# 设置关键文件权限
sudo chmod 600 /etc/shadow
sudo chmod 644 /etc/passwd
sudo chmod 640 /etc/group
# 查找SUID/SGID文件
find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \;
# 查看系统日志
sudo tail -f /var/log/syslog # Debian/Ubuntu
sudo tail -f /var/log/messages # CentOS/RHEL
# 查看认证日志
sudo tail -f /var/log/auth.log # Debian/Ubuntu
sudo tail -f /var/log/secure # CentOS/RHEL
# 查看失败的登录尝试
sudo grep "Failed password" /var/log/auth.log
sudo grep "Invalid user" /var/log/auth.log
# 安装并配置fail2ban防止暴力破解
sudo apt install fail2ban # Debian/Ubuntu
sudo yum install fail2ban # CentOS/RHEL
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local # 根据需要修改配置
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# 安装ClamAV进行病毒扫描
sudo apt install clamav clamav-daemon # Debian/Ubuntu
sudo yum install clamav clamd # CentOS/RHEL
# 更新病毒定义
sudo freshclam
# 扫描系统
sudo clamscan -r --bell -i /
# 安装rkhunter进行rootkit检测
sudo apt install rkhunter # Debian/Ubuntu
sudo yum install rkhunter # CentOS/RHEL
# 更新并运行检测
sudo rkhunter --update
sudo rkhunter --check
# 查看当前网络连接
sudo netstat -tulnp
sudo ss -tulnp
# 查看可疑连接
sudo lsof -i
# 安装iftop监控带宽使用
sudo apt install iftop # Debian/Ubuntu
sudo yum install iftop # CentOS/RHEL
sudo iftop
# 使用Lynis进行安全审计
sudo apt install lynis # Debian/Ubuntu
sudo yum install lynis # CentOS/RHEL
sudo lynis audit system
# 使用OpenSCAP进行合规检查
sudo apt install openscap-scanner scap-security-guide # Debian/Ubuntu
sudo yum install openscap-scanner scap-security-guide # CentOS/RHEL
sudo oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_standard --results scan-results.xml /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-ds.xml
# 创建关键文件备份
sudo tar -czvf /backup/etc_backup_$(date +%Y%m%d).tar.gz /etc
# 设置自动备份 (编辑crontab)
sudo crontab -e
# 添加以下行进行每日备份
0 2 * * * tar -czvf /backup/etc_backup_$(date +\%Y\%m\%d).tar.gz /etc
通过以上命令和实践,您可以显著提高Linux服务器的安全性,减少被攻击的风险。