我正在管理一个服务器,显然我有点担心它的安全性是否受到威胁。因此,我会定期检查安全性是否完好无损。以下是我大约每周做两次的事情,也许你可以对此发表评论和/或提供一些补充。
我愿意:
- 运行
chkrootkit
并rkhunter
- 检查
cat /var/log/auth.log | grep opened | grep sshd:session
用户登录情况(我知道谁在度假,因此这些人不应该登录) - 检查
cat /var/log/auth.log | grep opened | grep root
是否有人获得了 root 访问权限(尽管我获得了) - 如果出现可疑情况,请随意检查正在运行的任务
我实际上并不是想讨论安全措施,而是想讨论如何在短时间内定期检查安全完整性(我所做的事情大约需要 10 分钟)。
感谢您的帮助。
答案1
我个人建议使用一款名为奥塞克(主机入侵检测系统)如果配置正确(这相当容易,只需按照安装程序即可)将定期向您发送系统和安全相关的信息,例如正在监听哪个端口、任何重要文件的哈希值是否已更改、软件何时安装、删除、清除或升级、任何适配器是否进入混杂模式等。它也是高度可定制的,因此您可以更改它向您发出警报的内容并增加某些警报,例如它监视的文件。
我还建议您定期clamav
使用可以安装的 AV 来扫描您的服务器。
并且您设置fail2ban
阻止任何黑客多次尝试登录您的服务器并尝试强行进入。
答案2
如果您只是想简化/自动化使用脚本和 crontab 执行的不同任务,那么这个答案更适合您。
您可以设置一个可随时运行的脚本。
#!/bin/bash
chkrootkit
rkhunter
cat /var/log/auth.log | grep opened | grep sshd:session | more
#the ' | more' splits output into multiple screens, you can cut it off if you want
read
#delays the next command, waits until you press enter to move on, again, uncomment if you are doing this automatically
cat /var/log/auth.log | grep opened | grep root | more
read
#same as previous command
ps aux
#change this to whatever command you use to check processes...
read
只要修改脚本,只要您觉得合适即可。确保它可以通过 执行。随时chmod +x myNewScript.sh
运行此脚本 ( )。bash /path/to/script/myNewScript.sh
您还可以通过将此命令放入alias secCheck='bash /path/to/script/myNewScript.sh
文件.bashrc
(主目录)中来为其添加别名。然后,secCheck
只要您想检查安全性,就可以随时运行。
如果你想让脚本自动化,即不需要用户交互,删除所有read
's 并将猫的输出到某处以便稍后检查,等等。然后你可以设置定时任务按照您希望的频率运行该脚本。