用SSHGuard免费工具帮你保护服务器

译文
运维 服务器运维
今天我们来介绍一款类似的工具sshguard,它与上面另外两款工具的不同之处在于,它是用C编写的,所以它在运行时占用的内存和处理器资源比较少,但仍能收到同样的效果。

我之前已介绍了fail2ban和logcheck这两款工具可以扫描日志,并且根据你创建/修改的规则,采取相应的操作;你通常可以修改iptables规则,阻止针对你服务器发动的主动攻击,或者要是日志里面发现什么异常,就发警示信息给你。

今天我们来介绍一款类似的工具sshguard,它与上面另外两款工具的不同之处在于,它是用C编写的,所以它在运行时占用的内存和处理器资源比较少,但仍能收到同样的效果。

那么,sshguard又有什么样的本领呢?

简单地说,它可以接收日志消息,可以根据日志消息来检测网络服务何时遭到攻击,并且阻止服务攻击者的地址;一段时间过后,它会解禁。

完整地说,sshguard在机器上作为一个很小的后台驻留程序来运行,能够接收日志消息(可接收来自诸多途径的消息,比如来自系统日志)。如果它确定了X地址对Y服务造成危害,就会启动机器里面防火墙(注:防火墙须得到支持)中的规则,以阻止X地址。

shguard阻止X地址的状态会保持一段时间,但是之后会自动解禁。

请注意:尽管名称很容易让人误解,但是sshguard在默认情况下能够阻止针对许多服务的攻击,不仅仅是针对SSH的攻击,还能针对几种ftpd、Exim和dovecot等服务的攻击。它能够适用于各大防火墙系统,并且提供对IPv6、白名单、悬挂和消息验证等功能的支持。

安装

sshguard采用宽容的BSD许可证来发行:你可以使用、修改和再发行软件,风险自负,可以用于任何环境(包括商业环境),但前提是你得保留在里面发现的原始版权通知。软件在最常用的GNU/Linux发行版的主存储库中发行,面向某个*BSD系统,但是你也可以从下载页面(http://www.sshguard.net/download/)下载源代码。

要把sshguard安装到Debian(或Ubuntu等.deb其他发行版)上,只要从终端运行下列命令:
sudo aptitude install sshguard

#p# 设置和配置

Sshguard与系统相连的点有两个:
•日志系统(sshguard如何接收需要监控的日志消息)
•防火墙(sshguard如何阻止异常的地址)

自版本1.5以后,sshguard就随带Log Sucker(http://www.sshguard.net/docs/setup/getlogs/log-sucker/)。借助Log Sucker,SSHGuard可以积极主动地获取日志条目,并且透明地处理一些事件,比如轮转日志文件以及文件消失和重现。

在官方的说明文档页面(http://www.sshguard.net/docs/setup/),附有针对许多不同防火墙的操作说明,我将遵照netfilter/iptables的操作说明。

sshguard并没有配置文件。需要完成的所有配置就是在iptables的INPUT链中创建一个名为“sshguard”的链,sshguard就会自动插入规则,丢弃来自坏主机的数据包:

# for regular IPv4 support:(针对普通的IPv4支持功能)
iptables -N sshguard
# if you want IPv6 support as well:(如果你还想要获得IPv6支持功能)
ip6tables -N sshguard

现在,更新INPUT链,以便它能将所有流量传送到sshguard,用–dport指定你想用sshguard来保护的服务的所有端口。如果你想阻止攻击者将任何流量发送到主机,只要完全删除这个选项即可:

# block any traffic from abusers(阻止来自攻击者的任何流量)
iptables -A INPUT -j sshguard
ip6tables -A INPUT -j sshguard
         -- or --
  # block abusers only for SSH, FTP, POP, IMAP services (use "multiport" module)(阻止攻击者,只允许SSH、FTP、POP和IMAP服务,使用“multiport”模块)
iptables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143 -j sshguard
ip6tables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143 -j sshguard

如果你目前没有使用iptables,只想让sshguard建立并运行起来,又不对你的系统造成任何进一步的影响,下面这些命令就会创建并保存iptables配置,除了允许sshguard运行外,绝不会进行任何操作:

# iptables -F
# iptables -X
# iptables -P INPUT ACCEPT
# iptables -P FORWARD ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -N sshguard
# iptables -A INPUT -j sshguard
# /etc/rc.d/iptables save

小结

要让基本安装的sshguard建立并运行起来,只要完成上面这几个步骤,它会帮助你让你的ssh、ftp及其他后台驻留程序更安全一点。

原文链接:http://linuxaria.com/recensioni/protect-your-server-with-sshguard?lang=en

责任编辑:张玉 来源: 51CTO
相关推荐

2014-02-24 16:26:15

云存储

2013-03-07 09:20:46

公有云服务微软AzureMetricsHub

2018-02-01 09:59:52

服务器监控工具

2013-04-19 10:05:24

2011-06-09 13:07:03

2011-09-05 10:11:44

Windows内存

2018-08-02 10:33:42

2016-01-06 09:57:00

云计算云存储

2020-12-07 15:04:26

Windows文件管理器工具

2011-10-12 10:07:52

2020-07-01 08:45:00

开源开发工具

2019-03-29 10:42:12

2011-10-11 10:05:09

微软免费服务器

2011-03-18 13:41:50

2011-11-21 16:32:19

2023-06-26 14:19:35

2024-01-02 09:00:00

无服务器架构RASP

2019-04-30 10:27:46

无服务器云计算安全

2017-09-13 07:23:03

2009-07-02 11:52:17

点赞
收藏

51CTO技术栈公众号