分享一个iptables 脚本

#!/bin/bash
IPTS=/usr/sbin/iptables
INIF="eno16780032"
export IPTS INIF

# core network
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
    echo "1" > $i
done
for i in /proc/sys/net/ipv4/conf/*/log_martians; do
    echo "1" > $i
done
for i in /proc/sys/net/ipv4/conf/*/accept_source_route; do
    echo "0" > $i
done
for i in /proc/sys/net/ipv4/conf/*/accept_redirects; do
    echo "0" > $i
done
for i in /proc/sys/net/ipv4/conf/*/send_redirects; do
    echo "0" > $i
done

# clear default
PATH=/sbin:/usr/sbin:/bin:/usr/bin;export PATH

$IPTS -F
$IPTS -X
$IPTS -Z
$IPTS -P INPUT DROP
$IPTS -P OUTPUT ACCEPT
$IPTS -P FORWARD ACCEPT
$IPTS -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# ICMP
$IPTS -A INPUT -p icmp -j DROP

# Loopback
$IPTS -A INPUT -i lo -j ACCEPT
$IPTS -A OUTPUT -o lo -j ACCEPT

# SYN-Flooding
$IPTS -N syn-flood
$IPTS -A INPUT -i $INIF -p tcp --syn -j syn-flood
$IPTS -A syn-flood -p tcp -m limit --limit 9000/s --limit-burst 120 -j RETURN
$IPTS -A syn-flood -j DROP

# Make sure that new TCP connections are SYN packets
$IPTS -A INPUT -i $INIF -p tcp ! --syn -m state --state NEW -j DROP

#deny
$IPTS -A INPUT -p tcp -i $INIF -s 112.24.28.0/24 -j DROP
$IPTS -A INPUT -p tcp -i $INIF -s 50.115.170.0/24 -j DROP
$IPTS -A INPUT -p tcp -i $INIF -s 104.160.171.0/24 -j DROP

# services
$IPTS -A INPUT -p TCP -i $INIF --dport 22 -j ACCEPT # SSH
$IPTS -A INPUT -p TCP -i $INIF --dport 80 -j ACCEPT # WWW
$IPTS -A INPUT -p TCP -i $INIF --dport 443 -j ACCEPT #https
$IPTS -A INPUT -p TCP -i $INIF --dport 3399 -j ACCEPT # api
$IPTS -A INPUT -p TCP -i $INIF --dport 3333 -j ACCEPT #https
$IPTS -A INPUT -p TCP -i $INIF --dport 3355 -j ACCEPT # WWW
$IPTS -A INPUT -p TCP -i $INIF --dport 10050 -j ACCEPT # zabbix-agent

# drop all
$IPTS -A INPUT -p TCP -j DROP
$IPTS -A INPUT -p UDP -j DROP

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值