插件窝 干货文章 如何使用命令行来增强你的Linux服务器安全

如何使用命令行来增强你的Linux服务器安全

sudo install Ubuntu 安全 173    来源:    2025-04-12

使用命令行增强Linux服务器安全

作为IT工程师,以下是提高Linux服务器安全性的关键命令行操作:

1. 系统更新与补丁管理

# 更新软件包列表
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 -plow unattended-upgrades

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, dcredit=-1, ucredit=-1, ocredit=-1, lcredit=-1

# 设置密码过期策略
sudo chage -M 90 -m 7 -W 7 [username]

3. SSH安全加固

# 编辑SSH配置
sudo nano /etc/ssh/sshd_config

# 推荐设置:
Port 2222                      # 更改默认端口
PermitRootLogin no             # 禁止root登录
PasswordAuthentication no      # 禁用密码认证,仅用密钥
MaxAuthTries 3                 # 最大尝试次数
ClientAliveInterval 300        # 超时设置
ClientAliveCountMax 0
AllowUsers yourusername        # 仅允许特定用户

# 重启SSH服务
sudo systemctl restart sshd

4. 防火墙配置

# 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

5. 文件系统安全

# 检查文件权限
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 600 /home/*/.ssh/authorized_keys

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

6. 入侵检测与日志监控

# 安装并配置fail2ban
sudo apt install fail2ban    # Debian/Ubuntu
sudo yum install fail2ban    # CentOS/RHEL

# 查看系统日志
sudo tail -f /var/log/auth.log    # Debian/Ubuntu
sudo tail -f /var/log/secure      # CentOS/RHEL

# 安装并配置rkhunter进行rootkit检测
sudo apt install rkhunter          # Debian/Ubuntu
sudo yum install rkhunter          # CentOS/RHEL
sudo rkhunter --update
sudo rkhunter --check

7. 服务最小化

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

# 禁用不必要的服务
sudo systemctl stop [service]
sudo systemctl disable [service]

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

8. 定期安全审计

# 使用Lynis进行安全审计
sudo apt install lynis    # Debian/Ubuntu
sudo yum install lynis    # CentOS/RHEL
sudo lynis audit system

# 使用ClamAV进行恶意软件扫描
sudo apt install clamav clamav-daemon    # Debian/Ubuntu
sudo yum install clamav clamav-update    # CentOS/RHEL
sudo freshclam
sudo clamscan -r /home

9. 内核安全加固

# 检查当前sysctl安全设置
sudo sysctl -a | grep security

# 编辑/etc/sysctl.conf添加以下内容
kernel.exec-shield = 1
kernel.randomize_va_space = 2
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.log_martians = 1

# 应用设置
sudo sysctl -p

10. 备份重要数据

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

# 设置定期备份 (添加至crontab)
0 3 * * * tar -czf /backup/etc_backup_$(date +\%Y\%m\%d).tar.gz /etc

通过实施这些命令行操作,你可以显著提高Linux服务器的安全性。记得在执行任何更改前先测试,并在生产环境中谨慎操作。