전 회사 다닐때 만든 iptables 스크립트 > 자유게시판

본문 바로가기


사이트 내 전체검색 (구글)

자유게시판

전 회사 다닐때 만든 iptables 스크립트

페이지 정보

profile_image
작성자 세인 (192.♡.0.1)
댓글 1건 조회 36회 작성일 25-09-04 09:37

본문

#!/bin/sh

deny_ip="
#14.52.220.0/24
51.222.0.0/16
66.249.0.0/16
185.191.0.0/16
5.188.0.0/16
193.150.0.0/16
193.218.0.0/16
157.180.29.204
154.28.229.71
154.28.229.97
164.90.208.56
64.226.65.160
154.28.229.106
154.28.229.85
154.28.229.174
146.190.63.248
68.183.180.73
51.81.245.138
"

all_open_port_tcp="20 21 80 443 25 587 465 995 993"

all_open_port_udp="25 587 465 995 993"

all_open_ip="
192.168.0.14
35.202.117.120
34.68.200.154
"

open_ip_port_tcp="

"
open_ip_port_udp=""
all_open_port_out_tcp=""
all_open_port_out_udp=""

# 1. Flush previous iptables settings
iptables -F
iptables -P INPUT ACCEPT

# 2. Deny IP
for ip in $deny_ip
do
    echo "iptables -A INPUT -s $ip -j DROP"
    iptables -A INPUT -s $ip -j DROP
done

# 3-1. Block NULL packet
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

# 3-2. Block SYN flooding
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

# 4. Open for localhost & previous connection
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -j ACCEPT

# 5-1. Port opened for all(TCP)
for port in $all_open_port_tcp
do
    echo "iptables -A INPUT -p tcp -m tcp --dport $port -j ACCEPT"
    iptables -A INPUT -p tcp -m tcp --dport $port -j ACCEPT
done

# 5-2. Port opened for all(UDP)
for port in $all_open_port_udp
do
    echo "iptables -A INPUT -p tcp -m tcp --dport $port -j ACCEPT"
    iptables -A INPUT -p udp -m udp --dport $port -j ACCEPT
done

# 6. IP opened for all ports
for ip in $all_open_ip
do
    echo "iptables -A INPUT -s $ip -j ACCEPT"
    iptables -A INPUT -s $ip -j ACCEPT
done

# 7-1. Open IP/Port(TCP)
for ip_port in $open_ip_port_tcp
do
    ip=${ip_port%:*}
    port=${ip_port#*:}
    echo "iptables -A INPUT -p tcp -s $ip --dport $port -j ACCEPT"
    iptables -A INPUT -p tcp -s $ip --dport $port -j ACCEPT
done

# 7-2. Open IP/Port(UDP)
for ip_port in $open_ip_port_udp
do
    ip=${ip_port%:*}
    port=${ip_port#*:}
    echo "iptables -A INPUT -p udp -s $ip --dport $port -j ACCEPT"
    iptables -A INPUT -p udp -s $ip --dport $port -j ACCEPT
done

# 8. Drop all undefined policies
echo "iptables -A INPUT -j DROP"
iptables -A INPUT -j DROP

echo "iptables -A INPUT -p icmp -j DROP"
iptables -A INPUT -p icmp -j DROP

# 9-1. Port opened for all_output(TCP)
for port in $all_open_port_out_tcp
do
    echo "iptables -A OUTPUT -p tcp -m tcp --dport $port -j ACCEPT"
    iptables -A OUTPUT -p tcp -m tcp --dport $port -j ACCEPT
done

# 9-2. Port opened for all_output(UDP)
for port in $all_open_port_out_udp
do
    echo "iptables -A OUTPUT -p udp -m udp --dport $port -j ACCEPT"
    iptables -A OUTPUT -p udp -m udp --dport $port -j ACCEPT
done

# Attach settings to system
service iptables save
추천0

댓글목록

profile_image

세인님의 댓글

세인 아이피 (192.♡.0.1) 작성일
Total 21건 1 페이지
자유게시판 목록
번호 제목 글쓴이 조회 추천 날짜
21
ㅇㅇ N새글
세인 1 0 13:20
20 세인 9 0 04-20
19 세인 19 0 01-25
18 세인 14 0 11-30
17 세인 12 0 11-16
열람중 세인 37 0 09-04
15 세인 41 0 09-04
14 세인 23 0 08-28
13 세인 84 0 08-11
12 세인 221 0 08-06
11 세인 13 0 07-30
10
work check 댓글1
세인 8 0 07-13
9 세인 16 0 07-13
8 최고관리자 5 0 03-25

검색


회사소개 개인정보취급방침 서비스이용약관 상단으로

contact.https://open.kakao.com/o/s20mpzke
discord.https://discord.gg/rEcZHwBuAh
웹마스터:공세인 개인정보관리책임자:공세인

Copyright © quail.kr All rights reserved.