作为IT工程师,以下是5个关键Linux命令及其用法,可显著提升服务器安全性:
last -i | grep -v "0.0.0.0" | grep -v "192.168." | grep -v "10.0."
作用:检查非本地网络的登录活动,识别潜在入侵尝试
优化建议:
- 结合grep -v
排除内部IP段
- 定期检查/var/log/auth.log
或/var/log/secure
find / -perm /4000 -o -perm /2000 -type f -exec ls -la {} \; 2>/dev/null
作用:查找具有特殊权限的文件,这些文件可能被利用进行权限提升
安全措施:
# 移除不必要的SUID权限
chmod u-s /path/to/file
ss -tulnp | grep -v "127.0.0.1"
作用:显示所有非本地监听的网络服务
加固方法:
# 禁用不必要的服务
systemctl disable servicename
systemctl stop servicename
# 使用防火墙限制访问
ufw allow from trusted_ip to any port 22
crontab -l -u root
ls -la /etc/cron* /var/spool/cron/crontabs/
作用:审查root的计划任务,防止恶意脚本执行
最佳实践:
- 限制cron文件权限:chmod 600 /etc/crontab
- 使用/etc/cron.allow
限制可使用cron的用户
# 首次运行时创建基准
find / -type f -exec md5sum {} \; > /var/log/file_integrity.log
# 后续检查差异
md5sum -c /var/log/file_integrity.log | grep -v "OK"
作用:检测关键系统文件是否被篡改
增强方案:
- 使用专业工具如AIDE或Tripwire
- 对/bin
、/sbin
、/usr/bin
等目录设置不可变属性:
bash
chattr +i /path/to/file
apt update && apt upgrade -y # Debian/Ubuntu
yum update -y # RHEL/CentOS
# 编辑/etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
AllowUsers your_username
# 安装并配置logwatch
apt install logwatch
这些命令和措施组合使用,可以显著提高Linux服务器的安全性。建议定期执行这些检查,并建立自动化监控机制。