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

使用命令行工具维护你的Linux服务器安全

sudo 检查 安全 echo 786    来源:    2025-04-11

Linux服务器安全维护命令行指南

作为IT工程师,维护Linux服务器的安全性是至关重要的日常工作。以下是一些关键的命令行工具和技术,可以帮助你有效保护服务器安全。

1. 系统更新与补丁管理

# 检查可用更新(Ubuntu/Debian)
sudo apt update
sudo apt list --upgradable

# 执行安全更新(Ubuntu/Debian)
sudo apt upgrade --only-upgrade

# CentOS/RHEL检查更新
sudo yum check-update
sudo yum update --security

2. 用户账户管理

# 检查当前登录用户
who

# 查看所有用户
cat /etc/passwd

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

# 锁定用户账户
sudo passwd -l username

# 设置密码过期策略(编辑)
sudo vi /etc/login.defs

3. SSH安全配置

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

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

# 重启SSH服务
sudo systemctl restart sshd

# 检查SSH登录尝试
sudo grep "Failed password" /var/log/auth.log

4. 防火墙配置

# UFW防火墙(Ubuntu)
sudo ufw enable
sudo ufw allow 2222/tcp  # SSH端口
sudo ufw status verbose

# firewalld(CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

# iptables(通用)
sudo iptables -L -v -n

5. 文件系统安全

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

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

# 检查文件权限
sudo find / -type f -perm -o+w -exec ls -l {} \;

# 检查/etc/passwd和/etc/shadow权限
ls -l /etc/passwd /etc/shadow

6. 进程和服务监控

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

# 检查异常进程
ps aux | grep -E '(nmap|nikto|john|hydra|medusa)'

# 检查网络连接
sudo netstat -tulnp
# 或
sudo ss -tulnp

# 检查可疑的cron任务
sudo crontab -l -u root
ls /etc/cron.*/

7. 日志分析

# 查看系统日志
sudo journalctl -xe

# 查看认证日志
sudo tail -f /var/log/auth.log

# 查找失败的登录尝试
sudo grep "authentication failure" /var/log/auth.log

# 使用logwatch进行日志分析(需安装)
sudo logwatch --detail High

8. 入侵检测工具

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

# 使用chkrootkit检查rootkit
sudo apt install chkrootkit
sudo chkrootkit

# 使用rkhunter检查rootkit
sudo apt install rkhunter
sudo rkhunter --check --sk

9. 定期安全检查脚本

#!/bin/bash
# 简单安全检查脚本

echo "===== 安全检查报告 ====="
echo "生成日期: $(date)"
echo ""

echo "1. 系统更新状态:"
sudo apt list --upgradable 2>/dev/null || sudo yum list updates 2>/dev/null
echo ""

echo "2. 最近登录用户:"
last -n 10
echo ""

echo "3. 开放的端口:"
sudo netstat -tulnp
echo ""

echo "4. SUID/SGID文件检查:"
sudo find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \; 2>/dev/null | head -n 20
echo ""

echo "5. 失败的登录尝试:"
sudo grep "Failed password" /var/log/auth.log | tail -n 10
echo ""

echo "检查完成"

10. 备份重要配置

# 备份重要配置文件
sudo tar -czvf /backup/security_config_$(date +%Y%m%d).tar.gz \
    /etc/ssh/sshd_config \
    /etc/passwd \
    /etc/shadow \
    /etc/group \
    /etc/sudoers \
    /etc/hosts.allow \
    /etc/hosts.deny

记住,安全是一个持续的过程,而不是一次性任务。定期执行这些检查,并保持系统和安全工具的更新,才能有效保护你的Linux服务器。