利用fwknop给sshd加一道门,向暴力黑客Say no-way!

相信不少Linux服务器的机主对各类暴力攻击是深恶痛绝的了,尤其是那些针对sshd的愚蠢黑客,成功率极低还给机主带来不少麻烦。
对付这些拿着毫无技术含量的脚本到处乱撞的低级黑客(在我眼中,称他们为黑客是抬举他们),比较常见的有fail2ban、denyhosts、以及knockd,前两者的原理是通过对日志文件的分析找出攻击者ip,然后设置防火墙屏蔽之,属于被动防御,对于受攻击频率不高的机器还有点用处;后者则反其道而行,先设置防火墙拒绝任何访问,合法访问者须通过“正确”的敲门动作打开门才可连接登录,属于主动防御。
主动防御的思路是不错的,但是knockd的敲门方式私密性不佳,黑客可侦听并简单模仿敲门动作而成功连接,安全性低。
下面介绍一款我认为安全性较高的主动防御工具:fwknop,她与knockd的最根本区别在于其采用经过加密处理的“单包认证”敲门方式,私密性好得多。
详细原理及配置就不细说了,有兴趣可以去他的官网慢慢看:
http://www.cipherdyne.org/fwknop/docs/fwknop-tutorial.html

本文将安装、配置的过程简单罗列出来,分享给有需要的朋友们,少走弯路节省时间。

一、操作系统、工具环境
1.客户端:Windows 7, Visual Studio 2008或以上版本;Linux。
2.服务器端:CentOS 6.8, gcc等常用开发工具;CentOS 7, firewalld防火墙。

二、安装、配置客户端
客户端是Linux的,根据系统的情况下载安装整个软件包,这样服务端和客户端就都有了,配置方法参考其官网的教程。
Windows需要下载fwknop源码自己编译客户端,下载地址:https://github.com/mrash/fwknop/releases
1)下载、解压fwknop-master.zip,进入其win32子目录;
2)如果你使用的是VS2008,把libfko.sln、libfko.vcproj、fwknop-client.vcproj删除或改名,把后缀名为.vs2008的三个文件改为刚刚被删除的那三个文件名;否则用纯文本编辑器打开libfko.vcproj和fwknop-client.vcproj,找到"..\lib\fko_util.c"、"..\lib\fko_util.h"、"..\lib\strlcat.c"、"..\lib\strlcpy.c"这几处地方,把其中的lib改为common,保存。
3)双击打开libfko.sln,编译其中的Release-full-static或者Release-static版本,得到单一的可执行文件fwknop.exe;
4)新建一个空文件夹(譬如D:\fwk)并把此文件拷贝过来,打开一个命令行窗口,然后执行:
D:
cd \fwk
fwknop --version
看到版本信息表明编译成功了。
5)下载wget:http://www.interlog.com/~tcharron/wgetwin-1_5_3_1-binary.zip,解压其中的wget.exe,放在和fwknop.exe同一个文件夹里;
6)在此文件夹内,用纯文本编辑器新建一个文件:bwget.bat,内容只有一行:@wget --no-check-certificate %1 %2 %3 %4 %5 %6 %7 %8 2>nul,保存;
7)在刚才打开的命令行窗口内,执行命令:
fwknop -n cen6 -A tcp/22,tcp/4432 -a 192.168.0.137 -D 192.168.0.186 --use-hmac -p 62201 -P udp -k --save-rc-stanza
下面逐项作解释:
-n cen6 给后面的参数起一个名字,方便以后调用;
-A tcp/22,tcp/4432 请求服务端打开的端口及其协议;
-a 192.168.0.137 客户端的IP地址;
-D 192.168.0.186 服务端的IP地址;
--use-hmac 采用hmac加密认证方式;
-p 62201 服务端等待请求的侦听端口;
-P udp 服务端等待请求的协议;
-k 生成一个加密密钥;
--save-rc-stanza 保存以上参数的执行结果。
现在,用文本编辑器去打开用户工作路径里的.fwknoprc文件(在我的机器上是C:\Users\suntongo\),其内容如下:
[default]
[cen6]
SPA_SERVER_PROTO            udp
SPA_SERVER_PORT             62201
ALLOW_IP                    192.168.0.137
ACCESS                      tcp/22,tcp/4432
SPA_SERVER                  192.168.0.186
KEY_BASE64                  0hLAT/i8uBuvwU+GiAZQ/X0MkiCq4waCyMWiF8ROkaQ=
HMAC_KEY_BASE64             0hLAT/i8uBuvwU+GiAZQ/X0MkiCq4waCyMWiF8ROkaQyUvkHV7FYJRe2vdkNTl+8gD7Y/picCtdspuKrX0qo5Q==
USE_HMAC                    Y
上面打那么长的命令行,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值