漏洞描述:未安装安全补丁的系统和软件容易受到已知漏洞攻击。
修复方法:
# 更新所有软件包
sudo apt update && sudo apt upgrade -y # Debian/Ubuntu
sudo yum update -y # CentOS/RHEL
sudo dnf upgrade -y # Fedora
# 设置自动更新(可选)
sudo apt install unattended-upgrades # Debian/Ubuntu
sudo dpkg-reconfigure unattended-upgrades # 配置自动更新
漏洞描述:使用默认或弱密码容易被暴力破解。
修复方法: - 强制使用强密码策略: ```bash sudo apt install libpam-pwquality # Debian/Ubuntu sudo yum install libpwquality # CentOS/RHEL
# 编辑密码策略
sudo nano /etc/security/pwquality.conf
添加/修改以下内容:
minlen = 12
dcredit = -1
ucredit = -1
ocredit = -1
lcredit = -1
```
bash
sudo nano /etc/ssh/sshd_config
修改:
PermitRootLogin no
然后重启SSH服务:
bash
sudo systemctl restart sshd
漏洞描述:运行不必要的服务会增加攻击面。
修复方法:
# 查看监听端口
sudo netstat -tulnp
sudo ss -tulnp
# 禁用不必要的服务
sudo systemctl stop <service_name>
sudo systemctl disable <service_name>
# 使用防火墙限制访问
sudo ufw enable # Ubuntu
sudo ufw allow 22/tcp # 只允许SSH
sudo ufw allow from 192.168.1.0/24 to any port 22 # 限制IP范围
# CentOS/RHEL使用firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --remove-service=http # 移除不需要的服务
sudo firewall-cmd --reload
漏洞描述:关键文件权限设置不当可能导致信息泄露或权限提升。
修复方法:
# 关键目录权限设置
sudo chmod 700 /root
sudo chmod 600 /etc/shadow
sudo chmod 644 /etc/passwd
# 设置用户home目录权限
sudo chmod 750 /home/*
# 查找全局可写文件
sudo find / -xdev -type f -perm -0002 -exec ls -l {} \;
sudo find / -xdev -type d -perm -0002 -exec ls -ld {} \;
# 查找无主文件
sudo find / -xdev -nouser -o -nogroup
漏洞描述:SSH配置不当可能导致暴力破解或中间人攻击。
修复方法:
编辑/etc/ssh/sshd_config
:
Port 2222 # 更改默认端口
Protocol 2
PermitRootLogin no
MaxAuthTries 3
LoginGraceTime 1m
ClientAliveInterval 300
ClientAliveCountMax 0
AllowUsers user1 user2 # 只允许特定用户
UsePAM yes
X11Forwarding no
PrintMotd no
TCPKeepAlive no
AllowTcpForwarding no
PermitTunnel no
然后重启SSH服务:
sudo systemctl restart sshd
漏洞描述:不当的SUID/SGID设置可能导致权限提升。
修复方法:
# 查找所有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 \;
# 移除不必要的SUID/SGID
sudo chmod u-s /path/to/file
sudo chmod g-s /path/to/file
漏洞描述:内核参数配置不当可能导致系统更容易受到攻击。
修复方法:
编辑/etc/sysctl.conf
:
# 禁用IP转发
net.ipv4.ip_forward = 0
net.ipv6.conf.all.forwarding = 0
# 禁用ICMP重定向
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
# 启用SYN Cookie保护
net.ipv4.tcp_syncookies = 1
# 禁用源路由
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
# 启用IP欺骗保护
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# 记录可疑数据包
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1
应用配置:
sudo sysctl -p
漏洞描述:缺乏日志监控可能导致无法及时发现入侵行为。
修复方法:
# 安装并配置logwatch
sudo apt install logwatch # Debian/Ubuntu
sudo yum install logwatch # CentOS/RHEL
# 配置每日日志报告
sudo nano /etc/logwatch/conf/logwatch.conf
设置:
Output = mail
Format = html
MailTo = admin@example.com
Range = yesterday
Detail = High
考虑使用更高级的日志监控方案如ELK Stack、Graylog或Splunk。
漏洞描述:明文传输敏感数据容易被窃听。
修复方法: - 使用SSH替代Telnet/FTP - 为Web服务启用HTTPS - 使用SFTP/SCP替代FTP - 考虑使用VPN进行远程访问
漏洞描述:缺乏备份可能导致数据永久丢失。
修复方法:
# 简单备份脚本示例
#!/bin/bash
BACKUP_DIR="/backups"
DATE=$(date +%Y-%m-%d)
tar -czf $BACKUP_DIR/backup-$DATE.tar.gz /path/to/important/data
# 设置cron定期执行
crontab -e
添加:
0 2 * * * /path/to/backup_script.sh
考虑使用专业备份工具如Bacula、Duplicity或rsnapshot。
使用安全扫描工具:
sudo apt install lynis # Debian/Ubuntu
sudo yum install lynis # CentOS/RHEL
sudo lynis audit system
检查rootkit:
sudo apt install rkhunter # Debian/Ubuntu
sudo yum install rkhunter # CentOS/RHEL
sudo rkhunter --update
sudo rkhunter --check
检查开放端口:
sudo nmap -sS -O 127.0.0.1
通过实施以上措施,可以显著提高Linux服务器的安全性,减少被攻击的风险。