直播源码开发利用iptables防止工具扫描端口

发布来源:云豹科技
发布人:云豹科技
2022-11-10 09:54:14

场景:直播源码开发好多人通过nmap等软件恶意扫描别人服务器上的端口,通过其他提权操作攻击服务器等一系列操作 

实现:

我们可以通过shell脚本和iptables设置的一系列规则匹配来访问的IP,如果直播源码开发出现异常, 然后将其加入黑名单 实行封禁处理,但是这个在小型网站访问方面可以,大型高并发网站还是建议用防火墙等专业软件来处理

操作步骤如下:

iptables规则设置
新建脚本iptables.sh

 
vim iptables.sh
IPT="/sbin/iptables"$IPT --delete-chain$IPT --flush#Default Policy$IPT -P INPUT DROP  $IPT -P FORWARD DROP $IPT -P OUTPUT DROP#INPUT Chain$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT$IPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT$IPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT$IPT -A INPUT -i lo -j ACCEPT$IPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT$IPT -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT$IPT -A INPUT -p tcp --syn -m recent --name portscan --rcheck --seconds 60 --hitcount 10 -j LOG$IPT -A INPUT -p tcp --syn -m recent --name portscan --set -j DROP#OUTPUT Chain$IPT -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT$IPT -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT$IPT -A OUTPUT -o lo -j ACCEPT$IPT -A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT$IPT -A OUTPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT

保存重启

#iptables saveservice iptables saveservice iptables restart


2、iptables日志位置更改
编辑/etc/syslog.conf,添加:

kern.warning /var/log/iptables.log
 
重启syslog
/etc/init.d/syslog restart


3、防端口扫描shell脚本
安装inotify:

yum install inotify-tools


保存以下代码为ban-portscan.sh

 
vim ban-portscan.sh
btime=600 #封ip的时间while true;do    while inotifywait -q -q -e modify /var/log/iptables.log;do        ip=`tail -1 /var/log/iptables.log | awk -F"[ =]" '{print $13}' | grep '\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}'`        if test -z "`/sbin/iptables -nL | grep $ip`";then;          /sbin/iptables -I INPUT -s $ip -j DROP            {            sleep $btime && /sbin/iptables -D INPUT -s $ip -j DROP            } &        fi    donedone


执行命令开始启用端口防扫描

nohup ./ban-portscan.sh &

声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.yunbaokj.com

声明:
以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任