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

利用命令行工具提升Linux服务器的安全性

sudo install 检查 Ubuntu 567    来源:    2025-04-12

利用命令行工具提升Linux服务器安全性

作为IT工程师,以下是通过命令行工具增强Linux服务器安全性的全面方案:

1. 系统更新与补丁管理

# 检查可用更新
sudo apt update && sudo apt list --upgradable  # Debian/Ubuntu
sudo yum check-update  # CentOS/RHEL

# 执行安全更新
sudo apt upgrade --only-upgrade security  # Debian/Ubuntu
sudo yum update --security  # CentOS/RHEL

# 设置自动安全更新
sudo dpkg-reconfigure -plow unattended-upgrades  # Debian/Ubuntu
sudo yum install yum-cron && sudo systemctl enable --now yum-cron  # CentOS/RHEL

2. 用户与权限管理

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

# 锁定不必要账户
sudo passwd -l username

# 检查UID为0的账户(除root外)
sudo awk -F: '($3 == 0) {print}' /etc/passwd

# 设置密码策略
sudo vi /etc/login.defs  # 修改PASS_MAX_DAYS, PASS_MIN_DAYS等
sudo apt install libpam-pwquality  # Debian/Ubuntu
sudo yum install pam_pwquality  # CentOS/RHEL

3. SSH安全加固

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

# 推荐设置:
Port 2222  # 修改默认端口
PermitRootLogin no
PasswordAuthentication no  # 使用密钥认证
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 0
AllowUsers your_username

# 重启SSH服务
sudo systemctl restart sshd

# 生成SSH密钥对(在客户端执行)
ssh-keygen -t ed25519
ssh-copy-id -p 2222 user@server_ip

4. 防火墙配置

# 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

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 vi /etc/fail2ban/jail.local

# 检查登录尝试
lastb | less
grep "Failed password" /var/log/auth.log  # Debian/Ubuntu
grep "Failed password" /var/log/secure  # CentOS/RHEL

# 安装配置Lynis安全审计工具
sudo apt install lynis  # Debian/Ubuntu
sudo yum install epel-release && sudo yum install lynis  # CentOS/RHEL
sudo lynis audit system

6. 文件系统安全

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

# 检查世界可写文件
sudo find / -xdev -type d -perm -0002 -exec ls -ld {} \;
sudo find / -xdev -type f -perm -0002 -exec ls -ld {} \;

# 检查无属主文件
sudo find / -xdev -nouser -o -nogroup

# 设置文件权限
sudo chmod 700 /home/*
sudo chmod 600 /etc/shadow
sudo chmod 644 /etc/passwd

7. 网络服务安全

# 检查开放端口
sudo netstat -tulnp
sudo ss -tulnp
sudo lsof -i

# 禁用不必要服务
sudo systemctl list-unit-files --type=service | grep enabled
sudo systemctl disable servicename
sudo systemctl stop servicename

# 检查异常连接
sudo netstat -antp | grep ESTABLISHED
sudo lsof -i

8. 定期安全审计

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

# 使用chkrootkit
sudo apt install chkrootkit  # Debian/Ubuntu
sudo chkrootkit

# 检查内核模块
lsmod

9. 备份重要配置

# 备份关键配置文件
sudo tar -czvf /backup/config_backup_$(date +%F).tar.gz /etc/ssh/sshd_config /etc/passwd /etc/shadow /etc/group /etc/sudoers /etc/fail2ban/jail.local

# 设置定期备份
sudo crontab -e
# 添加:0 3 * * * /path/to/backup_script.sh

10. 安全增强工具

# 安装配置AppArmor (Ubuntu)
sudo apt install apparmor apparmor-utils
sudo aa-status
sudo aa-enforce /path/to/profile

# 安装配置SELinux (CentOS/RHEL)
sudo yum install selinux-policy selinux-policy-targeted
sudo sestatus
sudo setenforce 1

通过以上命令行工具和配置,可以显著提升Linux服务器的安全性。建议定期执行安全检查,保持系统更新,并根据实际业务需求调整安全策略。