红联Linux门户
Linux帮助

Debian使用Fail2Ban和Tinyhoneypot增加网络安全

发布时间:2016-06-26 11:16:45来源:topspeedsnail.com作者:斗大的熊猫

主要针对使用IPv4协议的Debian服务器。


需要的软件

fail2ban:可以根据规则动态更改修改防火墙规则,屏蔽恶意攻击者
tinyhoneypot:监听TCP/IP端口,记录开放端口的相关信息(日志)
xinetd:启动tinyhoneypot并管理它监听的端口

安装上面列出的软件包:

$  su
# apt-get install tinyhoneypot fail2ban xinetd


设置

更改SSH监听的端口,默认监听端口是22,更改为2201端口。

编辑ssh配置文件:

# vim /etc/ssh/sshd_config

找到Port 22一行,更改为:

Port 2201

重启SSH服务,监听2201端口:

# service ssh restart

检查SSH服务的监听端口:

# netstat -lptn | grep ssh

Debian使用Fail2Ban和Tinyhoneypot增加网络安全

从上图可以看出,更改已经生效。

连接到SSH服务的指定端口语法:

$ ssh user@remotehostip -p XXX

配置Xinetd启动tinyhoneypot,并监听TCP 22端口:

# cp -v /usr/share/doc/tinyhoneypot/examples/xinetd.d/thp-pasv /etc/xinetd.d/

编辑/etc/xinetd.d/thp-pasv文件:

# vim /etc/xinetd.d/thp-pasv

内容修改如下:

# default: on
# description: thp-ftpd calls the generic thpsvcs with param "ftp",
#       resulting in an ftpd emulation.

service thp-pasv
{
type                    = UNLISTED
socket_type             = stream
protocol                = tcp
port                    = 22
wait                    = no
user                    = thpot
server                  = /usr/sbin/thpot
server_args             = nullresp
nice                    = 10
disable                 = no
instances               = 1
per_source              = 1
}

重启xinetd服务:

# service xinetd restart

检查xinetd的监听端口:

# netstat -lptn | grep xinetd

Debian使用Fail2Ban和Tinyhoneypot增加网络安全


Fail2Ban和TinyHoneyPot配合使用

# cd /etc/fail2ban/

不要直接编辑jail.conf,创建一个.local:

# cp -v jail.conf jail.local

在jail.local找到[ssh]段,修改为SSH服务监听端口([Port 2201):

[ssh]

enabled  = true
port     = 2201
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

ssh尝试登陆6次,屏蔽IP。

在[ssh]段后加入一段:

[thp-ssh]

enabled  = true
port     = all
filter   = thpot
logpath  = /var/log/thpot/captures
banaction = iptables-allports
maxretry = 1
findtime = 1800
bantime = 99999

Fail2Ban读取tinyhoneypot的日志文件。

创建filter:

# vim /etc/fail2ban/filter.d/thpot.local

内容如下:

[Definition]

failregex = SRC=<HOST>
ignoreregex =

重启fail2ban:

# service fail2ban restart

你可以测试了。尝试使用ssh(22端口)登陆,这个IP会被防火墙屏蔽。


目前为止Fail2Ban和tinyhoneypot并不能处理IPv6。


本文永久更新地址:http://www.linuxdiyf.com/linux/21856.html