插件窝 干货文章 使用命令行工具提高你的Linux服务器安全性

使用命令行工具提高你的Linux服务器安全性

sudo install 安全 检查 466    来源:    2025-04-12

使用命令行工具提高Linux服务器安全性

作为IT工程师,我理解服务器安全的重要性。以下是使用命令行工具增强Linux服务器安全性的全面指南:

1. 系统更新与补丁管理

# 更新软件包列表并升级所有已安装软件
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
sudo dpkg-reconfigure -plow unattended-upgrades  # Debian/Ubuntu

2. 用户账户安全

# 检查空密码账户
sudo awk -F: '($2 == "") {print}' /etc/shadow

# 强制密码复杂性要求
sudo apt install libpam-pwquality  # Debian/Ubuntu
sudo yum install pam_pwquality  # CentOS/RHEL

# 编辑密码策略
sudo nano /etc/security/pwquality.conf
# 添加以下内容:
minlen = 12
minclass = 3
maxrepeat = 3
maxsequence = 3

3. SSH安全加固

# 备份原始SSH配置
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

# 编辑SSH配置
sudo nano /etc/ssh/sshd_config
# 修改以下参数:
Port 2222  # 更改默认端口
PermitRootLogin no
PasswordAuthentication no  # 仅允许密钥认证
MaxAuthTries 3
LoginGraceTime 60
ClientAliveInterval 300
ClientAliveCountMax 2

# 重启SSH服务
sudo systemctl restart sshd

# 检查SSH监听端口
sudo ss -tulnp | grep ssh

4. 防火墙配置

# 使用UFW (Ubuntu/Debian)
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp  # 替换为你的SSH端口
sudo ufw enable

# 使用firewalld (CentOS/RHEL)
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

5. 入侵检测与日志监控

# 安装并配置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
# 修改SSH端口和封禁时间
[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 1h

# 重启fail2ban
sudo systemctl restart fail2ban

# 检查日志
sudo journalctl -u fail2ban -f

6. 文件系统安全

# 检查SUID/SGID文件
sudo find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \;

# 检查世界可写文件
sudo find / -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print

# 检查无主文件
sudo find / -xdev \( -nouser -o -nogroup \) -print

7. 进程与服务管理

# 查看运行中的服务
sudo systemctl list-units --type=service --state=running

# 禁用不必要的服务
sudo systemctl disable <service_name>

# 检查监听端口
sudo netstat -tulnp
sudo ss -tulnp

8. 定期安全审计

# 安装并运行Lynis安全审计工具
sudo apt install lynis  # Debian/Ubuntu
sudo yum install lynis  # CentOS/RHEL

# 运行审计
sudo lynis audit system

# 检查审计结果
sudo cat /var/log/lynis.log

9. 自动安全扫描

# 使用rkhunter检查rootkit
sudo apt install rkhunter  # Debian/Ubuntu
sudo yum install rkhunter  # CentOS/RHEL

# 更新数据库并运行扫描
sudo rkhunter --update
sudo rkhunter --checkall

10. 备份重要配置

# 创建备份目录
sudo mkdir /backups

# 备份重要配置文件
sudo tar -czvf /backups/etc_backup_$(date +%Y%m%d).tar.gz /etc

# 设置定期备份 (添加到crontab)
sudo crontab -e
# 添加以下内容:
0 3 * * * tar -czvf /backups/etc_backup_$(date +\%Y\%m\%d).tar.gz /etc

通过实施这些命令行安全措施,你可以显著提高Linux服务器的安全性。记得根据你的具体环境调整这些命令,并定期审查安全配置。