作为IT工程师,我将为您提供一套完整的Linux服务器网络安全防护方案,帮助您从潜在入侵中保护系统安全。
# 定期更新系统
sudo apt update && sudo apt upgrade -y # Debian/Ubuntu
sudo yum update -y # CentOS/RHEL
# 禁用root远程登录
sudo sed -i 's/^PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
# 创建专用管理用户
sudo useradd -m -s /bin/bash adminuser
sudo passwd adminuser
sudo usermod -aG sudo adminuser # Debian/Ubuntu
sudo usermod -aG wheel adminuser # CentOS/RHEL
# 修改SSH默认端口
sudo sed -i 's/^#Port 22/Port 2222/' /etc/ssh/sshd_config
# 启用密钥认证,禁用密码认证
sudo sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
# 限制SSH访问IP
echo "AllowUsers adminuser@192.168.1.*" | sudo tee -a /etc/ssh/sshd_config
# 应用更改
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端口
sudo ufw allow http
sudo ufw allow https
# 使用firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
# 安装
sudo apt install fail2ban -y # Debian/Ubuntu
sudo yum install fail2ban -y # CentOS/RHEL
# 创建本地配置文件
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# 编辑配置
sudo nano /etc/fail2ban/jail.local
配置示例:
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 86400
# 安装rkhunter
sudo apt install rkhunter -y # Debian/Ubuntu
sudo yum install rkhunter -y # CentOS/RHEL
# 初始化和检查
sudo rkhunter --propupd
sudo rkhunter --check
# 安装logwatch
sudo apt install logwatch -y # Debian/Ubuntu
sudo yum install logwatch -y # CentOS/RHEL
# 配置每日报告
sudo nano /etc/logwatch/conf/logwatch.conf
配置示例:
Output = mail
Format = html
MailTo = admin@yourdomain.com
Range = yesterday
Detail = High
# 使用journalctl查看系统日志
sudo journalctl -f
# 查看特定服务日志
sudo journalctl -u nginx -f
# 查找全局可写文件
find / -xdev -type f -perm -0002 -exec ls -l {} \;
# 查找无主文件
find / -xdev -nouser -o -nogroup
# 安装aide
sudo apt install aide -y # Debian/Ubuntu
sudo yum install aide -y # CentOS/RHEL
# 初始化和检查
sudo aideinit
sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
sudo aide --check
# 安装
sudo apt install lynis -y # Debian/Ubuntu
sudo yum install lynis -y # CentOS/RHEL
# 运行审计
sudo lynis audit system
# 使用OpenVAS或Nessus进行漏洞扫描
# 定期运行扫描并分析报告
# 使用rsync进行增量备份
rsync -avz --delete /path/to/source user@backup-server:/path/to/destination
# 使用cron定时任务
0 2 * * * /usr/bin/rsync -avz --delete /path/to/source user@backup-server:/path/to/destination
# 检查SELinux状态 (CentOS/RHEL)
sestatus
# 安装AppArmor (Ubuntu)
sudo apt install apparmor apparmor-utils -y
sudo aa-status
# 为SSH添加Google Authenticator
sudo apt install libpam-google-authenticator -y # Debian/Ubuntu
google-authenticator
通过实施这些安全措施,您可以显著提高Linux服务器的安全性,降低被入侵的风险。请记住,安全是一个持续的过程,需要定期审查和更新安全策略。