Port knocking 是一种用来减小主机被恶意攻击的手段。可以参考如下链接https://en.wikipedia.org/wiki/Port_knocking
Linux 安全加固
1. 部署好的机器, 马上修改密码为强密码, 10位以上, 包括#@等异形字母
2. 监控每个进程的流量, 用nethogs
3. 用APF firewall 扫描 port, 关闭全部, 只允许80, 443, etc
4. 用port knocking 开防止恶意攻击
Port knocking | 是一种用来减小主机被恶意攻击的手段。可以参考如下链接https://en.wikipedia.org/wiki/Port_knocking 暴力破解,装了fail2ban来限制攻击者的IP,但是攻击者频繁换IP的话fail2ban也没辙。需要Port Knocking,
|
功能和特性 | 部署系统 Centos 7
准备工作
用到的命令 iptables knockd knock yum service wget
|
安装konockd server和konck命令 |
wget http://li.nux.ro/download/nux/misc/el7/x86_64/knock-server-0.7-1.el7.nux.x86_64.rpm
yum localinstall knock-server-0.7-1.el7.nux.x86_64.rpm -y
wget http://li.nux.ro/download/nux/misc/el7/x86_64/knock-0.7-1.el7.nux.x86_64.rp
yum localinstall knock-0.7-1.el7.nux.x86_64.rp -y
|
部署过程 | 部署过程
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
chkconfig --level 2345 knockd on
vi /etc/knockd.conf
[options] LogFile = /var/log/knockd.log Interface = eth1 [opencloseSSH] sequence = 2000:udp,3000:tcp,4000:udp seq_timeout = 30 tcpflags = syn start_command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport ssh -j ACCEPT cmd_timeout = 30 stop_command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport ssh -j ACCEPT
说明:
iptables -A INPUT -p tcp --dport 22 -j REJECT
|
登录被守护的主机
|
Knock -v -d 1000 host_ip port_num1[:udp] port_num2[:udp] port_num3[:udp]
ssh host_ip
Knock -v -d 1000 host_ip port_num1[:udp] port_num2[:udp] port_num3[:udp]:ssh host_ip
|