作为IT工程师,掌握命令行工具是保障Linux服务器安全的基础技能。以下是一套全面的Linux服务器安全命令行工具及使用指南:
# 查看运行中的进程
ps aux | grep suspicious_process
# 实时监控系统进程
top
htop
# 查看进程打开的文件
lsof -p <PID>
# 检查网络连接
netstat -tulnp
ss -tulnp
# 查看系统日志
journalctl -xe
tail -f /var/log/syslog
tail -f /var/log/auth.log
# 使用grep筛选关键日志
grep -i "fail\|error\|warning\|unauthorized" /var/log/syslog
# 使用ausearch进行审计日志查询
ausearch -k my-key -i
# 查看系统用户
cat /etc/passwd
# 查看有登录权限的用户
grep -v "/sbin/nologin" /etc/passwd
# 查看sudo权限用户
grep -Po '^sudo.+:\K.*$' /etc/group
# 检查空密码账户
awk -F: '($2 == "") {print}' /etc/shadow
# 检查密码过期策略
chage -l username
# 强制用户下次登录修改密码
passwd -e username
# 检查弱密码
john --show /etc/shadow
# 使用AIDE进行文件完整性检查
aide --check
# 查找SUID/SGID文件
find / -perm -4000 -type f -exec ls -la {} 2>/dev/null \;
find / -perm -2000 -type f -exec ls -la {} 2>/dev/null \;
# 查找可写文件
find / -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print
# 查找包含密码的文件
grep -r "password" /etc 2>/dev/null
# 检查隐藏文件
find / -name ".*" -ls
# 使用iftop监控网络流量
iftop -n
# 使用tcpdump抓包分析
tcpdump -i eth0 -w capture.pcap
# 检查异常连接
netstat -anp | grep ESTABLISHED
# UFW防火墙
ufw status verbose
ufw allow 22/tcp
ufw deny from 192.168.1.100
# iptables防火墙
iptables -L -n -v
iptables -A INPUT -s 10.0.0.0/8 -j DROP
# 使用lynis进行系统审计
lynis audit system
# 使用OpenVAS进行漏洞扫描
openvas-cli --target=192.168.1.1 --profile="Full and fast"
# 检查已知漏洞
apt-get update && apt-get upgrade -s
# 禁用不必要的服务
systemctl disable <service_name>
# 更新系统
apt update && apt upgrade -y # Debian/Ubuntu
yum update -y # RHEL/CentOS
# 内核参数加固
sysctl -w net.ipv4.conf.all.rp_filter=1
sysctl -w net.ipv4.conf.default.rp_filter=1
# 使用rkhunter检查rootkit
rkhunter --check
# 使用chkrootkit检查rootkit
chkrootkit
# 检查异常计划任务
crontab -l
ls -la /etc/cron*
# 隔离受影响系统
iptables -A INPUT -j DROP
# 收集证据
tar czvf evidence.tar.gz /var/log /etc/passwd /etc/shadow
# 分析可疑进程
strace -p <PID>
# 使用CIS-CAT进行基准测试
cis-cat-full/CIS-CAT.sh -b CIS_Ubuntu_Linux_20.04_Benchmark_v1.0.0
# 使用Tiger进行安全检查
tiger -e
# 使用Ansible进行安全配置
ansible-playbook security_hardening.yml
# 使用Puppet管理安全策略
puppet apply security.pp
通过熟练掌握这些命令行工具,您可以有效提升Linux服务器的安全性,及时发现并应对潜在威胁。