◆修改swatch配置以监测针对SSH守护进程的攻击

通过扫描日志文件及时掌握系统安全状况有重要意义。日志的作用只有通过人们对日志信息的运用才能真正体现出来。在设法弄到系统上的一个用户名后,黑客就可以发动“暴力”攻击了,这是一种通过SSH服务试测几千个口令字以期获得远程系统shell访问权限的攻击手段。这种暴力攻击会在系统Red Hat)的日志里留下记录类似下面这样:

Jun  6 13:01:56 chim sshd(pam_unix)[17331]: authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=192.168.1.199  user=rreck
Jun  6 13:02:01 chim sshd[17331]: Failed password for rreck from 192.168.1.199 port 33181 ssh2
Jun  6 13:02:03 chim sshd[17331]: Failed password for rreck from 192.168.1.199 port 33181 ssh2
Jun  6 13:02:03 chim sshd(pam_unix)[17331]: 2 more authentication failures; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=192.168.1.199
user=rreck

让自己尽早获知这些事情正在发生是防范这类攻击最有效的策略。为了做到这一点,需要把一段下面这样的swatch配置代码添加到系统的swatchrc文件里:

# Failed password

watchfor   / Failed password for /
echo
bell
mail

此后,当swatch以cron计划任务或以“tail”模式运行时,如果在日志文件里发现这种攻击的特征,就会立刻通过电子邮件向你发出警报。这种电子邮件警报是有行动信号。根据你的具体情况,你或许需要允许rreck用户从多个主机登录。编辑/etc/ssh/sshd_config文件,下面给出的配置代码将明确地拒绝rreck用户从已发生多次试测口令字失败活动的主机进行登录,但同时允许rreck从其他主机登录:

# Prevent access for hacker even if they guess the password !

DenyUsers rreck@192.168.1.99

AllowUsers rreck@*

接下来,向sshd发出一个SIGHUP信号或者用下面这条命令重新启动它:

/etc/rc.d/sshd restart

当你在/var/log/messages文件里看到sshd发来的如下消息时,就可以知道你做的修改已经生效,攻击者的登录企图已经被sshd拒绝了:

Apr  1 17:42:55 linux sshd[5864]: User rreck not allowed because listed in DenyUsers

这条日志消息表示,即使猜到了正确的口令字,rreck用户也不能登录。从黑客那边看,没有任何东西可以让他知道你已经改变了配置,他们怎么努力也不可能得逞。

总结:笔者想通过这个例子告诉大家,信息安全工作没有尽头;它需要长期持久的努力。降低或者消除风险的最佳办法是保持勤奋和警惕。一定要密切留意日志,一定要不断总结系统上各种正常活动的规律。必须时刻保持警惕并认真解读日志消息的含义,只有常备不懈,才能保证安全。对日志进行监控可以帮助你及时发现问题并指导你对有关配置做出针对性的修改。

说到最后,最好的安全防御措施就是采取行动。在事情发生之前把一切可以采取的措施都考虑周全会对今后产生极大的帮助,这将保证你在采取行动前不会浪费任何时间。提前做好安排还有助于避免在事情发生时的情绪化因素干扰你的判断和思考,保证你对事件做出的反应是在力所能及的范围内最合理有效的。51CTO.com独家特稿,合作网站请注明出处为51CTO.com及原文作者。】

相关文章】

  • 掌握系统一举一动 Linux日志管理
  • 网管玩转日志分析 抵制外部入侵
  • 专题:系统应用日志分析管理


相关内容