作为IT工程师,确保Linux服务器的安全性是至关重要的职责。以下是一套全面的安全命令和最佳实践,帮助您加固服务器防御。
# 查看所有用户
cat /etc/passwd
# 查看有密码的用户
getent shadow | grep -v ':\*:\|:\!:' | cut -d: -f1
# 检查空密码账户
awk -F: '($2 == "") {print}' /etc/shadow
# 查看sudo权限用户
grep -Po '^sudo.+:\K.*$' /etc/group
# 锁定用户
sudo usermod -L username
# 解锁用户
sudo usermod -U username
# 设置密码过期策略
sudo chage -M 90 -m 7 -W 14 username
# 查看最近登录
last
# 查看失败登录尝试
lastb
# 查看当前登录用户
who
# 查看登录历史
cat /var/log/auth.log | grep -i "failed"
# 查看运行进程
ps aux
# 实时监控进程
top
htop
# 查找异常进程
ps aux | grep -E '(nmap|metasploit|sqlmap|john)'
# 查看活动连接
netstat -tulnp
ss -tulnp
# 查看路由表
route -n
ip route
# 检查ARP表
arp -a
# iptables查看规则
sudo iptables -L -n -v
# ufw防火墙管理
sudo ufw status
sudo ufw allow 22/tcp
sudo ufw enable
# 查找SUID/SGID文件
find / -perm -4000 -o -perm -2000 -type f -exec ls -la {} \; 2>/dev/null
# 查找可写文件
find / -perm -2 -type f -exec ls -la {} \; 2>/dev/null
# 检查无主文件
find / -nouser -o -nogroup -exec ls -la {} \; 2>/dev/null
# 计算文件哈希
sha256sum /path/to/file
# 监控重要文件变化
sudo apt install aide
sudo aideinit
sudo aide --check
# Debian/Ubuntu
sudo apt update
sudo apt list --upgradable
sudo apt upgrade
# RHEL/CentOS
sudo yum check-update
sudo yum update
# 检查SSH配置
cat /etc/ssh/sshd_config | grep -v "^#" | grep -v "^$"
# 推荐的SSH配置修改:
# PermitRootLogin no
# PasswordAuthentication no
# AllowUsers your_username
# Port 2222 (非标准端口)
# 安装并运行Lynis安全审计
sudo apt install lynis
sudo lynis audit system
# 使用chkrootkit检查rootkit
sudo apt install chkrootkit
sudo chkrootkit
# 使用rkhunter检查rootkit
sudo apt install rkhunter
sudo rkhunter --check
# 查看系统日志
journalctl -xe
# 分析安全日志
sudo grep -i "fail" /var/log/auth.log
sudo grep -i "invalid" /var/log/auth.log
通过掌握这些命令和最佳实践,您将能够显著提高Linux服务器的安全性,及时发现潜在威胁,并采取适当的防御措施。