插件窝 干货文章 了解如何使用命令行工具应对Linux服务器安全问题

了解如何使用命令行工具应对Linux服务器安全问题

检查 使用 bash 安全 765    来源:    2025-04-11

Linux服务器安全命令行工具指南

作为IT工程师,掌握命令行工具是保障Linux服务器安全的基础技能。以下是一套全面的Linux服务器安全命令行工具及使用指南:

1. 系统监控与审计

1.1 进程监控

# 查看运行中的进程
ps aux | grep suspicious_process

# 实时监控系统进程
top
htop

# 查看进程打开的文件
lsof -p <PID>

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

1.2 日志审计

# 查看系统日志
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

2. 用户与权限管理

2.1 用户账户检查

# 查看系统用户
cat /etc/passwd

# 查看有登录权限的用户
grep -v "/sbin/nologin" /etc/passwd

# 查看sudo权限用户
grep -Po '^sudo.+:\K.*$' /etc/group

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

2.2 密码策略

# 检查密码过期策略
chage -l username

# 强制用户下次登录修改密码
passwd -e username

# 检查弱密码
john --show /etc/shadow

3. 文件系统安全

3.1 文件完整性检查

# 使用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

3.2 敏感文件检查

# 查找包含密码的文件
grep -r "password" /etc 2>/dev/null

# 检查隐藏文件
find / -name ".*" -ls

4. 网络安全工具

4.1 网络连接监控

# 使用iftop监控网络流量
iftop -n

# 使用tcpdump抓包分析
tcpdump -i eth0 -w capture.pcap

# 检查异常连接
netstat -anp | grep ESTABLISHED

4.2 防火墙管理

# 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

5. 漏洞扫描与加固

5.1 漏洞扫描

# 使用lynis进行系统审计
lynis audit system

# 使用OpenVAS进行漏洞扫描
openvas-cli --target=192.168.1.1 --profile="Full and fast"

# 检查已知漏洞
apt-get update && apt-get upgrade -s

5.2 系统加固

# 禁用不必要的服务
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

6. 入侵检测与响应

6.1 入侵检测

# 使用rkhunter检查rootkit
rkhunter --check

# 使用chkrootkit检查rootkit
chkrootkit

# 检查异常计划任务
crontab -l
ls -la /etc/cron*

6.2 应急响应

# 隔离受影响系统
iptables -A INPUT -j DROP

# 收集证据
tar czvf evidence.tar.gz /var/log /etc/passwd /etc/shadow

# 分析可疑进程
strace -p <PID>

7. 自动化安全工具

7.1 自动化审计

# 使用CIS-CAT进行基准测试
cis-cat-full/CIS-CAT.sh -b CIS_Ubuntu_Linux_20.04_Benchmark_v1.0.0

# 使用Tiger进行安全检查
tiger -e

7.2 安全配置管理

# 使用Ansible进行安全配置
ansible-playbook security_hardening.yml

# 使用Puppet管理安全策略
puppet apply security.pp

最佳实践建议

  1. 定期审计:设置cron任务定期运行安全扫描
  2. 最小权限原则:始终遵循最小权限分配
  3. 日志集中:配置远程日志服务器(syslog-ng/rsyslog)
  4. SSH加固:禁用root登录,使用密钥认证
  5. 及时更新:建立补丁管理流程

通过熟练掌握这些命令行工具,您可以有效提升Linux服务器的安全性,及时发现并应对潜在威胁。