作为IT工程师,确保Linux服务器的安全性是我们的首要任务。以下是一些关键的命令行工具和技术,可帮助您有效保护服务器安全。
top
/htop
htop # 交互式进程查看器,比top更直观
netstat
/ss
ss -tulnp # 查看所有监听端口及相关进程
netstat -antp # 传统方式查看网络连接
lsof
lsof -i # 查看所有网络连接和打开的文件
passwd
passwd -S username # 检查用户密码状态
passwd -e username # 强制用户下次登录修改密码
chage
chage -l username # 查看密码过期信息
chage -M 90 username # 设置密码最长有效期90天
sudo
visudo # 安全编辑sudoers文件
sudo -l # 查看当前用户的sudo权限
find
(查找可疑文件)find / -type f -perm -4000 -ls # 查找SUID文件
find / -type f -perm -2000 -ls # 查找SGID文件
find / -nouser -o -nogroup # 查找无主文件
chmod
/chown
chmod 600 sensitive_file # 设置严格权限
chown root:root critical_file # 确保关键文件属主正确
iptables
/nftables
iptables -L -n -v # 查看当前防火墙规则
nft list ruleset # nftables规则查看
fail2ban
fail2ban-client status # 查看fail2ban状态
fail2ban-client status sshd # 查看sshd jail状态
journalctl
(systemd系统)journalctl -u sshd --since "1 hour ago" # 查看sshd最近1小时日志
journalctl -p err -b # 查看本次启动的错误日志
grep
/awk
/sed
grep "Failed password" /var/log/auth.log # 查找认证失败记录
awk '/Failed password/{print $(NF-3)}' /var/log/auth.log | sort | uniq -c | sort -nr # 统计失败登录尝试
lynis
lynis audit system # 全面的系统安全审计
rkhunter
/chkrootkit
rkhunter --check # 检查rootkit
chkrootkit # 另一种rootkit检查工具
# 编辑SSH配置文件
vim /etc/ssh/sshd_config
# 推荐配置:
# PermitRootLogin no
# PasswordAuthentication no
# MaxAuthTries 3
# ClientAliveInterval 300
# ClientAliveCountMax 0
unattended-upgrades
(Debian/Ubuntu)apt install unattended-upgrades
dpkg-reconfigure unattended-upgrades
yum-cron
(RHEL/CentOS)yum install yum-cron
systemctl enable yum-cron
systemctl start yum-cron
通过熟练使用这些命令行工具并遵循安全最佳实践,您可以显著提高Linux服务器的安全性,减少潜在的安全风险。