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

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

sudo 安全 配置 install 120    来源:    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    # Debian/Ubuntu
sudo dpkg-reconfigure unattended-upgrades

2. 用户账户与权限管理

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

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

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

# 配置sudo权限
sudo visudo  # 限制sudo权限给必要用户

3. SSH安全加固

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

# 推荐配置:
Port 2222                     # 更改默认端口
PermitRootLogin no             # 禁止root直接登录
PasswordAuthentication no      # 禁用密码认证,仅使用密钥
MaxAuthTries 3                 # 限制认证尝试次数
ClientAliveInterval 300        # 设置超时断开
ClientAliveCountMax 2
AllowUsers user1 user2         # 仅允许特定用户

# 重启SSH服务
sudo systemctl restart sshd

# 生成SSH密钥对
ssh-keygen -t ed25519 -a 100   # 更安全的密钥类型

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 systemctl start firewalld
sudo systemctl enable firewalld
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
sudo iptables-save > /etc/iptables/rules.v4

5. 入侵检测与监控

# 安装配置Fail2Ban
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  # 自定义配置
sudo systemctl enable fail2ban && sudo systemctl start fail2ban

# 安装Rootkit检查工具
sudo apt install rkhunter chkrootkit -y
sudo rkhunter --update
sudo rkhunter --propupd
sudo rkhunter --check

# 安装Lynis安全审计工具
sudo apt install lynis -y
sudo lynis audit system

6. 文件系统安全

# 检查文件权限
find / -type f -perm -o+w -exec ls -l {} \;  # 查找全局可写文件
find / -type d -perm -o+w -exec ls -ld {} \; # 查找全局可写目录

# 设置重要文件不可变
sudo chattr +i /etc/passwd /etc/shadow /etc/group /etc/sudoers

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

7. 日志监控与分析

# 安装并配置logwatch
sudo apt install logwatch -y
sudo nano /etc/logwatch/conf/logwatch.conf

# 重要的日志文件监控
tail -f /var/log/auth.log      # 认证日志
tail -f /var/log/syslog        # 系统日志
journalctl -f                  # 系统日志(新系统)

# 配置日志轮转
sudo nano /etc/logrotate.conf

8. 网络服务安全

# 检查开放端口
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

9. 定期安全扫描

# 使用Nmap进行端口扫描
sudo apt install nmap -y
sudo nmap -sS -sV -O -T4 localhost

# 使用OpenVAS或Nessus进行漏洞扫描
# 需要单独安装配置

10. 备份与恢复

# 配置自动备份
sudo apt install rsync -y
sudo crontab -e
# 添加类似: 0 2 * * * /usr/bin/rsync -a /important/data /backup/location

# 验证备份完整性
md5sum /important/data/file.txt
md5sum /backup/location/file.txt

安全最佳实践

  1. 最小权限原则:只授予必要的最小权限
  2. 定期审计:每月至少进行一次完整的安全审计
  3. 多因素认证:对关键系统实施多因素认证
  4. 安全基线:遵循CIS基准等安全标准
  5. 入侵响应计划:准备好应急响应流程

通过以上命令行工具和技术的组合使用,可以显著提高Linux服务器的安全性。记住,安全是一个持续的过程,需要定期维护和更新。