잠시만 기다려 주세요

HOME   |  여기는?   |  바다물때표   |  여러가지 팁 (888)  |  추천 및 재미 (153)  |  자료실 (20)  |  끄적거림 (520)  |  시나리오 (760)  |  드라마 대본 (248)  |  

2020년 09월 24일
말을 옮기는 사람이 되어서는 안된다. 없는 말과 오해살 말을 하게 된다. 말을 참을 줄 알아야 한다. - 바다아이
 




    리눅스 서버

리눅스 서버 - 데비안, 우분투 iptables 방화벽 설정하기
이 름 : 바다아이   |   조회수 : 3718         짧은 주소 : https://www.bada-ie.com/su/?541591838337

저는 centos 를 주로 사용하다보니 아래 설정들을 금방 잊습니다.
그래서 일단 메모를 합니다... 잘 정리해논 것이 있길래 퍼왔습니다
우분투나 데비안은 iptables 이거가 좀 불편합니다. -.-;



현재 Iptables 설정 보기

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
 

iptable에 적용할 설정들을 마련하기

# vi /etc/iptables.이름.rules
 
*filter

# Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

# Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allows all outbound traffic
# You could modify this to only allow certain traffic

-A OUTPUT -j ACCEPT

# Allows HTTP and HTTPS connections from anywhere (the normal ports for websites) 허용할 포트들
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

# Allows SSH connections
# The --dport number is the same as in /etc/ssh/sshd_config   SSH를 위한 포트 허용

-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

# Now you should read up on iptables rules and consider whether ssh access
# for everyone is really desired. Most likely you will only allow access from certain IPs.


# Allow ping   핑 허용
#  note that blocking other types of icmp packets is considered a bad idea by some
#  remove -m icmp --icmp-type 8 from this line to allow all kinds of icmp:
#  https://security.stackexchange.com/questions/22711

-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

# log iptables denied calls (access via 'dmesg' command)
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

# Reject all other inbound - default deny unless explicitly allowed policy:   위의 내용빼고 모든 포트 막기
-A INPUT -j REJECT
-A FORWARD -j REJECT

COMMIT
 

만든 설정을 iptables에 적용하기

이름 부분에 임의의 영문이름을 넣어주세요

# iptables-restore < /etc/iptables.이름.rules
 

적용이 잘 되었는지 확인하기

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             loopback/8           reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:22
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
 

반대로 이미 적용 되어 있는 iptables을 백업 할 수 도 있습니다.

iptables-save > /etc/iptables.up.rules
 
 
 

데비안 8 재부팅 후에 iptables 방화벽 설정 자동 적용하기

check : exam) iptables.up.rules

현재 iptables 설정을 파일로 저장

iptables-save > /etc/iptables.up.rules
 

재부팅 후 실행할 배치 파일 만들기

 editor /etc/network/if-pre-up.d/iptables
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.up.rules
 

권한 설정하기

chmod +x /etc/network/if-pre-up.d/iptables



출처 : https://wewe.be/wewe/bin/view/%EC%84%9C%EB%B2%84/%EB%A6%AC%EB%88%85%EC%8A%A4/%EB%8D%B0%EB%B9%84%EC%95%88/%EB%8D%B0%EB%B9%84%EC%95%888%20%EC%84%A4%EC%B9%98%20%EC%A7%81%ED%9B%84%20%EB%B0%A9%ED%99%94%EB%B2%BD%20%EA%B8%B0%EB%B3%B8%20%EC%84%A4%EC%A0%95%20%ED%95%98%EA%B8%B0%20iptables%20%EA%B0%84%EB%8B%A8%20%EC%82%AC%EC%9A%A9%EB%B2%95/
 
| |


      1 page / 5 page
번 호 카테고리 제 목 이름 조회수
136 리눅스 서버 ... ntp .. ... 바다아이 216
135 리눅스 서버 archlinux netstat , netstat ... 바다아이 275
134 리눅스 서버 ps , ps option 바다아이 284
133 리눅스 서버 , swap , ... swap . 바다아이 264
132 리눅스 서버 crontab , .... 바다아이 240
131 리눅스 서버 ssh , ssh 바다아이 502
130 리눅스 서버 SSH SSH , ssh-keygen rsa 바다아이 486
129 리눅스 서버 , date : () , () , 바다아이 787
128 리눅스 서버 aws lightsail, ssh .. .pem 바다아이 852
127 리눅스 서버 , ubuntu generic kernel 바다아이 1278
126 리눅스 서버 .. apt ... 바다아이 1223
125 리눅스 서버 ... ubuntu kernel compile 바다아이 1469
124 리눅스 서버 nginx http2 , . 바다아이 1302
123 리눅스 서버 psql libreadline.so.7: cannot open shared object file: No such file or directory 바다아이 1730
122 리눅스 서버 ssh .bashrc , bash .. .bash_profile 바다아이 1641
121 리눅스 서버 , , 바다아이 1654
120 리눅스 서버 rc.local ... , 바다아이 1707
119 리눅스 서버 ? - IPv4 Subnetting, (Subnet Mask) 바다아이 1784
118 리눅스 서버 TCP UDP ? 바다아이 1738
117 리눅스 서버 FTP passive(), active() 바다아이 1658
116 리눅스 서버 ftp passive .... filezilla ftp ... 바다아이 2270
115 리눅스 서버 ssh sftp ... sftp ... 바다아이 1846
114 리눅스 서버 rpm 바다아이 1907
113 리눅스 서버 /tmp ... /tmp ... tmpfs 바다아이 2437
112 리눅스 서버 archlinux ... mirror, 바다아이 1825
111 리눅스 서버 centos7 pgadmin4 .... ... pgadmin4 server mode, postgresql admin .. 바다아이 1895
110 리눅스 서버 centos 7, freebsd postfix dovecot , 바다아이 2015
109 리눅스 서버 Centos 7 Postgresql 10, 11 바다아이 1845
108 리눅스 서버 [Network] SSL / TLS 바다아이 2150
107 리눅스 서버 TLS , ssl 바다아이 2617
| |








Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ FreeBSD + GoLang + PostgreSQL ]
서버위치 : vultr.com 서울  실행시간 : 0.26102
to webmaster... gogo sea. gogo sea.