*먼저 내 업무에서는 iptables와 hosts.allow 파일을 함께 이용 한다.
1. 방화벽 내용 넣고 > 방화벽 실행 > 방화벽 내용 저장
#cd /etc/sysconfig/
#vi iptables
(iptables 내용)
#service iptables restart
#/etc/init.d/iptables save
--------------▶ iptables 사용법
-기본 모두 막고 시작하기-
# iptables -F
# iptables -X
# iptables -P INPUT DROP
# iptables -P FORWARD DROP
# iptables -P OUTPUT DROP
-루프백 허용-
# iptables -A INPUT -i lo -j ACCEPT
# iptables -A OUTPUT -o -lo -j ACCEPT
iptables [-t table] command [match] [target\jump]
-A(--append) : 규칙을 추가한다.
-N(--new-chain) : 새로운 체인 생성
-X(--delete-chain) : 체인 제거
-P(--policy) : 체인 기본정책 변경
-L(--list) : 체인의 규칙상태 보기
-F(--flush) : 체인내의 모든 규칙 제거(방화벽 초기화)
-Z(--zero) : 체인내의 모든 규칙의 패킷과 바이트의 카운트를 0으로 초기화
-D(--delete) : 규칙을 삭제
-R(--replace) : 새로운 규칙으로 대체
-I(--insert) : 체인의 가장 처음에 규칙을 추가한다.
-E(--rename-chain) : 체인의 이름을 변경한다.
2) iptables 체인 종류
INPUT : 로컬로 들어오는 패킷(입력 패킷)
FORWARD : INPUT와 OUTPUT 역할, 라우터에 방화벽을 적용할 때 쓰임
OUTPUT : 외부로 나가는 패킷(출력 패킷)
INPUT 체인에 사용자 정의로 체인을 추가하여 INPUT 체인 대신에 사용할 수 있는데, 페도라 코어의 경우는 RH-Firewall-1-INPUT라는 사용자 정의 체인을 사용한다. 3개의 기본 체인(INPUT, OUTPUT, FORWARD)은 수정이나 삭제가 불가능하며, 사용자 정의 체인은 다음과 같은 방법으로 생성해 줄 수 있다.
3) iptables 다루기
▶ 방화벽 정책 초기화
# iptables -F # iptables -X # iptables -Z |
▶ 기본 정책 설정
# iptables -P INPUT DROP # iptables -P OUTPUT DROP # iptables -P FORWARD DROP |
▶ 사용자 정의 체인 생성 및 INPUT 체인에 추가
# iptables -N 사용자정의체인명 # iptables -A INPUT -j 사용자정의체인명 |
▶ 허용 정책 설정
루프백 접속 허용
다른 곳과 네트워크가 연결되어 있지 않더라도 시스템의 기본 네트워크이며 로컬 호스트의 인터페이스인 루프백에 대해서는 접속이 이뤄질 수 있도록 해야 하므로, 다음과 같이 설정한다.
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT |
내부 네트워크 접속
iptables -A fedora -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT iptables -A OUTPUT -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT |
내부 -> 외부 접속
iptables -A fedora -s 외부주소 -p tcp -m tcp --sport 포트번호 -j ACCEPT iptables -A OUTPUT -d 외부주소 -p tcp -m tcp --dport 포트 -j ACCEPT |
① DNS 포트 허용
iptables -A fedora -p udp -m udp --sport 53 -j ACCEPT iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT |
② ICMP 핑 허용
iptables -A OUTPUT -o eth0 -p icmp --icmp-type echo-request -j ACCEPT iptables -A fedora -i eth0 -p icmp --icmp-type echo-reply -j ACCEPT iptables -A OUTPUT -o eth0 -p icmp --icmp-type echo-reply -j ACCEPT |
③ SSH 포트 허용 ( 192.168.0.1 -> 172.16.1.20)
iptables -A fedora -s 172.16.1.20 -p tcp -m tcp --sport 22 -j ACCEPT iptables -A OUTPUT -d 172.16.1.20 -p tcp -m tcp --dport 22 -j ACCEPT |
④ HTTP 포트 허용
iptables -A fedora -i eth0 -p tcp -m tcp --sport 80 --dport 1024:65535 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 --dport 80 -j ACCEPT |
⑤ FTP 포트 허용
* 명령(제어) 포트(tcp 21) 접속
iptables -A fedora -i eth0 -p tcp -m tcp --sport 21 --dport 1024:65535 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 --dport 21 -j ACCEPT |
*데이터 포트(tcp20) 접속(능동 모드 접속)
iptables -A fedora -i eth0 -p tcp -m tcp --sport 21 --dport 1024:65535 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 --dport 21 -j ACCEPT |
*데이터 포트(tcp 1024이상의 포트) (Passive 모드 접속)
iptables -A fedora -i eth0 -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT |
외부 -> 내부 접속
① SSH 포트 허용
iptables -A fedora -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 22 -j ACCEPT |
② http 포트 허용
iptables -A fedora -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT iptables -A OUTPUT -o eth0 0p tcp -m tcp --sport 80 -j ACCEPT |
③ ftp 포트 허용 ( passive mode)
iptables -A fedora -i eth0 -p tcp -m tcp --dport 21 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 21 -j ACCEPT iptables -A fedora -i eth0 -p tcp -m tcp --dport 1024:65535 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 -j ACCEPT |
예제 :
- 중국발 해킹을 통하여 웹서버를 공격하고 있다는 사실을 알았다.
찾아낸 IP는 10.10.1.1 ~ 10.10.1.255, 10.10.2.3, 10.10.3.5 와 같으며 접근통제정책을 통하여
위의 IP에 대하여 web 접속을 거부하라. 단, 10.10.1.33 IP는 web 접속을 허락하여야 한다.
/sbin/iptables -A INPUT -s 10.10.1.33 -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -s 10.10.1.1/10.10.1.255 -p tcp --dport 80 -j DROP
/sbin/iptables -A INPUT -s 10.10.2.3 -p tcp --dport 80 -j DROP
/sbin/iptables -A INPUT -s 10.10.3.5 -p tcp --dport 80 -j DROP
/sbin/iptables -A INPUT -s 202.190.123.68 -p tcp --dport 21 -j DROP
/sbin/iptables -A INPUT -s 118.217.12.35 -p tcp --dport 1:65535 -j DROP
- PING 명령어는 서버 내부에서는 사용가능해야 하며, 192.168.1.13, 192.168.1.11 IP를 제외하고는
모두 거부하라.
/sbin/iptables -A INPUT -s 192.168.1.13 -p icmp --icmp-type echo-request -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.11 -p icmp --icmp-type echo-request -j ACCEPT
/sbin/iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
- 110포트와 143포트는 localhost와 192.168.1.13, 192.168.1.11 에서는 허용하고
외부에서는 차단하라.
/sbin/iptables -A INPUT -s 192.168.1.13 -p tcp --dport 110 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.11 -p tcp --dport 110 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp --dport 110 -j DROP
/sbin/iptables -A INPUT -p tcp -m tcp --dport 110 -j DROP
/sbin/iptables -A INPUT -s 192.168.1.13 -p tcp --dport 143 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.11 -p tcp --dport 143 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp --dport 143 -j DROP
- ssh와 ftp에 대해서는 iptables 를 통하여 문제 2번에 해당하는 정책을 사용하여 똑 같이 적용하라.
/sbin/iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.13 -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.11 -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp --dport 22 -j
개요
- IPFilter는 솔라리스에서 무료로 사용할 수 있는 오픈 소스 방화벽이며, 솔라리스 10에는 기본으로 포함되어있다. (방화벽 소프트웨어인 SunScreen을 대체할 예정이다) 상용 방화벽 장비보다는 못하지만 공개 소스치고는 성능과 기능이 매우 좋다.
- 공식 홈페이지: IP Filter - TCP-IP Firewall-NAT Software, STREAMS Based IP Filter for Solaris-HP-UX 11_00
설치
솔라리스 10의 경우는 설치할 필요 없다. (이미 설치되어있다) 여기서는 솔라리스 9 이하를 기준으로 설명한 것이다.
· 설치
· root@wl ~ # wget http://coombs.anu.edu.au/~avalon/ip_fil4.1.33.tar.gz
· root@wl ~ # wget http://coombs.anu.edu.au/~avalon/pfil-2.1.13.tar.gz
· root@wl ~ # tar xvfz ip_fil4.1.33.tar.gz
· root@wl ~ # tar xvfz pfil-2.1.13.tar.gz
· root@wl ~ # cd pfil
· root@wl ~/pfil # /usr/ccs/bin/make SunOS32 1)
· root@wl ~/pfil # /usr/ccs/bin/make package 1)
· root@wl ~/pfil # pkgadd -d /tmp/pfil.pkg 2)
· root@wl ~/pfil # ifconfig -a
· lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
· inet 127.0.0.1 netmask ff000000
· pcn0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
· inet 192.168.0.11 netmask ffffff00 broadcast 192.168.0.255
· ether 0:c:29:d4:e0:bd
· root@wl ~/pfil # cat /etc/opt/pfil/iu.ap 3)
· pcn -1 0 pfil
· root@wl ~/pfil # cd ..
· root@wl ~ # cd ip_fil4.1.33
· root@wl ~/ip_fil4.1.33 # /usr/ccs/bin/make solaris
· root@wl ~/ip_fil4.1.33 # cd SunOS5
· root@wl ~/ip_fil4.1.33/SunOS5 # /usr/ccs/bin/make package 4)
· root@wl ~/ip_fil4.1.33/SunOS5 # sync; sync; reboot 5)
1)반드시 /usr/ccs/bin/make 를 사용한다. 만약 gnu make를 사용하고 있으면 컴파일이 되지 않는다. 64bit 솔라리스를 사용하고 있다면 32대신 64를 입력한다.
2)자동으로 설치되는 것이 아니라 패키지파일이 생성된다. 패키지 파일은 그냥 설치해주면 된다.
3)패키지 파일을 인스톨 한 후 /etc/opt/pfil/iu.ap 파일을 확인한다. 시스템에 설치되어있는 NIC 종류별로 (lo제외) 한줄씩 /etc/opt/pfil/iu.ap에 등록되어있어야 한다. 같은 종류의 NIC가 두개 설치되어 있어도 한 종류이므로 한 줄만 들어가게 된다.
4) make package하면 자동으로 패키지가 생성되고 인스톨 된다. (SunOS5디렉토리에 ipf.pkg 파일이 생성된다) 바이너리는 /opt/ipf에, 설정파일은 /etc/opt/ipf에 있다.
5) pfil 을 설치한 후, 반드시 재시작해야 한다. (ipf 때문에 재시작하는 것이 아니다)
· 실행
재시작 하면 IPFilter 가 이미 실행되어있을 것이다. 아래는 제대로 설치되었는지 확인하기 위함이다.
root@wl ~ # /etc/init.d/ipfboot start 1)
Set 0 now inactive
filter sync'd
0 entries flushed from NAT table
0 entries flushed from NAT list
filter sync'd
root@wl ~ # ndd /dev/pfil qif_status 2)
ifname ill q OTHERQ ipmp num sap hl nr nw bad copy copyfail drop notip nodata notdata
QIF1 0x0 0xd40d2cf0 0xd40d2d74 0x0 1 806 0 3 14 0 0 0 0 0 0 0
pcn0 0xd3c49a9c 0xd4054180 0xd4054204 0x0 0 800 14 695 572 0 0 0 0 0 0 0
root@wl ~/pfil # strconf < /dev/pcn 2)
pfil
pcn
root@wl ~ #
1)시작하기. /etc/rc2.d/S65ipfboot에 등록되어있다.
2) pfil장치와 이에 연결된 pcn 디바이스(시스템마다 다르다)에 IPFilter가 제대로 연결되어있는지 확인한다.
리눅스 iptables 사용법:
iptables는 리눅스를 설치하면 보통 기본적으로 설치되므로
설치방법은 따로 설명하지 않으며 예제 위주로 간단히 사용법을 알아 보겠습니다.
아래 명령어는 모두 root권한으로 실행해야 됨을 미리 알려 드립니다.
1. 리눅스에서 부팅시 자동으로 iptables 서비스 시작하기:
아래 2가지 방법 중에 하나로 보통 서비스를 자동실행하도록 등록한다.
1) 쉘창에서 3, 5 모드에서 재부팅시 자동으로 iptables 서비스가 시작되도록 하는 명령어
# chkconfig --level 35 iptables on
--> 3: multi console 모드 , 5: X윈도우즈 모드
2) ntsysv 에서 iptalbes 서비스 체크
# ntsysv
2. 먼저 iptables 의 옵션은 아래와 같다.
iptables 에는 3가지 chain 이 존재: INPUT, OUTPUT, FORWARD
1) 필터링 사슬 전체 조작 옵션
-N : 새로운 사슬 만들기
-L : 사슬의 규칙을 보여주기
-X : 비어 있는 사슬을 없애기
-P : 사슬의 규칙을 바꾸기
-F : 사슬에 있는 모든규칙을 지우기
2) 사슬의 규칙을 조작하는 옵션
-A : 사슬에 새로운 규칙을 추가하기(맨아래에 추가됨)
-I : 사슬에 규칙을 삽입하기(맨앞쪽에 삽입됨)
-R : 사슬에 있는 규칙을 다른 규칙과 교환하기
-D : 사슬에 있는 규칙을 없애기
3) 규칙을 정의하는데 필요한 하위옵션
-s : 출발지 주소
-d : 목적지 주소
--sport : 출발지(source) 포트번호
--dport : 목적지 포트번호
-p : 프로토콜(tcp, udp, icmp ..)
-i : 패킷이 들어오는 네트워크 인터페이스(inbound interface)
-o : 패킷이 나가는
-f : 분절된(fragment) packet
-j : 규칙을 지정(jump)
3. 기본정책을 ACCEPT로 설정하는 법:
# iptables -P INPUT ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -P FORWARD ACCEPT
4. 현재 자신의 방화벽 규칙을 볼 수 있는 명령:
# iptables --list 또는 iptables -L
처음으로 명령을 실행하면 아래와 같이 아무 정책도 설정되어 있지 않는 것을 볼 수 있다.
# 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
Chain RH-Firewall-1-INPUT (0 references)
5. 규칙 추가 후에 저장하기 :
현재 규칙을 저장하는 명령어는 아래와 같다.
# /etc/rc.d/init.d/iptables save
-> /etc/sysconfig/iptables 에 저장됨
위 명령어로 저장후에 실제 저장된 파일을 확인해 보면 아래와 같이 아무 설정이 안된것을 알 수 있다.
# vi /etc/sysconfig/iptables
# Generated by iptables-save v1.3.5 on Thu Jun 25 18:25:02 2009
*filter
:INPUT ACCEPT [11:764]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [320:65885]
:RH-Firewall-1-INPUT - [0:0]
COMMIT
# Completed on Thu Jun 25 18:25:02 2009
이제 간단한 규칙을 추가해 보자.
예를 들어 ip= 192.168.0.111 를 입력단에서 패킷을 drop하는 규칙을 추가하고 현재 정책을 확인한다.
# iptables -A INPUT -s 192.168.0.111 -j DROP
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 192.168.0.111 anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain RH-Firewall-1-INPUT (0 references)
이제 저장을 한 후에 저장된 파일을 확인해 보면 아래와 같이 규칙이 저장되어 있는것을
볼 수 있다.
# /etc/rc.d/init.d/iptables save
# vi /etc/sysconfig/iptables
# Generated by iptables-save v1.3.5 on Mon Dec 7 14:55:45 2009
*filter
:INPUT ACCEPT [6561:820283]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5984:1470873]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -s 192.168.0.111 -j DROP <--- 이부분이 새로 추가한 규칙
COMMIT
# Completed on Mon Dec 7 14:55:45 2009
6. 현재 iptables 규칙을 초기화 하기:
# iptables -F
위 명령어를 실행하고 정책을 보면 아래와 같이 초기화 되어 있는 것을 알 수 있다
# 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
Chain RH-Firewall-1-INPUT (0 references)
그러나 실제 저장되어 있는 내용을 보면 아래와 같이 초기화가 되어 있지 않는 것을 볼 수 있다.
# vi /etc/sysconfig/iptables
# Generated by iptables-save v1.3.5 on Mon Dec 7 14:55:45 2009
*filter
:INPUT ACCEPT [6561:820283]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5984:1470873]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -s 192.168.0.111 -j DROP <--- 이부분이 새로 추가한 규칙
COMMIT
# Completed on Mon Dec 7 14:55:45 2009
즉, 초기화 명령어는 현재상태에만 적용되며,
iptables 서비스가 재시작되거나 서버가 리부팅되면 /etc/sysconfig/iptables 에 저장되었던
규칙이 다시 적용된다는 것을 알 수 있다.
7. 정책을 빠르게 수정하여 적용하는 법 :
6 에서와 같이 정책을 초기화 하고 서비스를 재시작해야 하는 방법은 상당히 비효율적인것을 알 수 있다.
따라서 현재 적용되는 정책을 특정파일(날짜별)로 저장해서 수정사항이 있다면
바로 그 저장된 파일을 수정한후 바로 정책에 적용하는 방법은 아래와 같다.
1) 현재 적용되고 있는 정책을 읽기 가능한 텍스트파일 형태로 저장하는 명령어는 아래와 같다.
# iptables-save > /root/iptable_091207.save
확인해 보면 똑같이 저장되어 있는것을 볼 수 있다.
# cat /root/iptable_091207.save
# Generated by iptables-save v1.3.5 on Mon Dec 7 14:55:45 2009
*filter
:INPUT ACCEPT [6561:820283]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5984:1470873]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -s 192.168.0.111 -j DROP <--- 이부분이 새로 추가한 규칙
COMMIT
# Completed on Mon Dec 7 14:55:45 2009
2) 이제 저장되어 있는 iptables 파일을 바로 편집기로 수정 한후 저장한다.
# vi /root/iptable_091207.save
# Generated by iptables-save v1.3.5 on Mon Dec 7 14:55:45 2009
*filter
:INPUT ACCEPT [6561:820283]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5984:1470873]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -s 192.168.0.199 -j DROP <--- 편집기에서 111 -> 199 로 변경
-A INPUT -s 222.222.222.222 -j DROP <--- 편집기에서 새로 정책 추가
COMMIT
# Completed on Mon Dec 7 14:55:45 2009
3) 저장된 정책을 바로 적용하는 명령어는 다음과 같다.
# cat /root/iptable_091207.save | iptables-restore
확인해 보면 편집기로 수정했던 부분이 아래와 같이 바로 iptables 정책이 적용되어 있는 것을 알 수 있다
# iptables -L
# Generated by iptables-save v1.3.5 on Mon Dec 7 14:55:45 2009
*filter
:INPUT ACCEPT [6561:820283]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5984:1470873]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -s 192.168.0.199 -j DROP <--- 편집기에서 111 -> 199 로 변경했던 부분
-A INPUT -s 222.222.222.222 -j DROP <--- 편집기에서 새로 정책 추가했던 부분
COMMIT
# Completed on Mon Dec 7 14:55:45 2009
8. iptables 사용예 :
마지막으로 사용예를 몇개 알아보면 아래와 같다.
예1) 소스 ip가 192.168.0.111 인 접속의 모든 접속 포트를 막아라.
# iptables -A INPUT -s 192.168.0.111 -j DROP
예2) INPUT 사슬에 출발지 주소가 127.0.0.1(-s 127.0.0.1) 인 icmp 프로토콜(-p icmp) 패킷을 거부(-j DROP)하는
정책을 추가(-A)하라
# iptables -A INPUT -p icmp -s 127.0.0.1 -j DROP
예3) INPUT 사슬에 목적지 포트가 23번(--dport23)인 tcp 프로토콜(-p tcp) 패킷을 거부하는(-j DROP)규칙을
추가(-A) 하라.
# iptables -A INPUT -p tcp --dport 23 -j DROP
예4) INPUT 사슬에 목적지 포트 번호가 80번(--dport 80)인 tcp 프로토콜(-p tcp)패킷을 받아들이는(-j ACCEPT)
규칙을 추가(-A) 하라
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
예5) INPUT 사슬에 목적지 포트번호가 1023번 보다 작은 모든 포트(--dport :1023)인 tcp프로토콜(-p tcp)패킷을
거부하는(-j DROP)규칙을 추가(-A)하라
# iptables -A INPUT -p tcp --dport :1023 -j DROP
예6) ftp포트를 열어라
# iptables -I INPUT -p tcp --dport 21 -j ACCEPT
예7) imap 서비스를 방화벽에서 열어라
# iptables -I INPUT -s 192.168.0.0/255.255.255.0 -p udp --dport 143 -j ACCEPT
예8) 웹서버 방화벽 열어라
# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
예9) 웹서버 포트 80 -> 8880으로 교체하라( 웹서비스 포트 변경시 /etc/services 에서도 변경 해줘야 함)
# iptables -R INPUT 2 -p tcp --dport 8880 -j ACCEPT
예10) domain-access_log 파일에 있는 모든 ip의 모든 접속 포트를 막아라(DOS공격 방어시 사용)
# cat domain-access_log |awk '{print $1}'|sort |uniq |awk '{print "iptables -A INPUT -s "$1" -j DROP"}'|/bin/bash
'IT > 리눅스마스터1급' 카테고리의 다른 글
리눅스 개요 (0) | 2022.05.11 |
---|---|
리눅스 기본 명령어 (0) | 2022.05.09 |
defunct 프로세스란? (0) | 2022.05.09 |
vmstat (0) | 2022.05.09 |
ulimit (0) | 2022.05.09 |