해커즈뉴스 / 해커대학

Donation bitcoin(기부용 비트코인 주소)

 
1Pq3K39XM5xx4CifGKgppXeavtWNNHH7K4
 
기부하신 비트코인은 "보안 취약 계층"을 위해 사용되고 있습니다.
 
 

Donation bitcoin(기부용 비트코인 주소)

 
1Pq3K39XM5xx4CifGKgppXeavtWNNHH7K4
 
기부하신 비트코인은 "보안 취약 계층"을 위해 사용되고 있습니다.
 

공지

 

1. 크롬 브라우저로 접속시 나오는 악성코드 경고창은 구글 크롬의 에러, 즉 오탐(탐지 오류)이므로 무시하시면 됩니다.

2. 이 사이트는 안전하며 깨끗하다는 것을 알려 드립니다.

 


해커즈뉴스 제공 리눅스 + 스마트폰의 모든것
 
 
No, 6246
구분: 활용팁
사이트: 해커즈뉴스
종류: 리눅스
조회: 110
iptables - Unix 운영체제 방화벽 / 명령어 정리  

*​(전 계열) iptables - Unix 운영체제 방화벽 / 명령어 정리

 iptables는 ​패킷 필터링 도구로서 방화벽 구성이나 NAT에 주로 사용됩니다. 사용자가 iptables라는 명령으로 정책을 설정하면 해당 정책에 의거하여

동작하고, OSI 참조 모델의 2,3,4계층에서 정책을 수행합니다. iptables는 패킷 필터링을 직접적으로 수행하지 않고, 커널에 있는 넷필터라는 모듈이

필터링을 수행합니다. 넷필터는 리눅스가 제공하는 모든 종류의 패킷 필터링과 맹글링 도구로 네트워크 스택으로 함수를 후킹하는데 사용할 수 있는 커널 내부의 프레임워크입니다.

Deamon 및 관련 파일

/sbin/iptables : binary 파일

/etc/sysconfig/iptables : iptables 명령으로 등록한 정책이 저장되는 파일

/etc/rc.d/init.d/iptables : 실행, 멈춤, 재시작, 상태 등을 위한 iptables의 데몬파일


(1) 정책 등록

방법은 2가지입니다.​

1-1. /etc/sysconfig/iptables 파일을 열어 임의의 규칙을 추가합니다.

    ex) #iptables -A INPUT -s [소스IP] -p tcp -m tcp --dport [변경한 포트번호] -j accept


1-2. 아래와 같은 예시의 명령어를 대기상태에서 입력합니다.

    ​*추가할 때는 다른 규칙보다 위쪽에 추가하여 다른 규칙에 의해 먼저 차단되지 않도록 합니다.

    ex) #iptables -A INPUT -s [소스IP] -p tcp -m tcp --dport [변경한 포트번호] -j accept

------------------------------------------------------------------------------------------------------------------- 

사용법 및 명령어 구조 : #iptables [-t table] [action] [chain] [match] [-j target]​

Tables 종류

filter : 기본 테이블로 방화벽 관련 작업이 이루어집니다.

nat : 새로운 연결을 생성하는 패킷이 있을 때 참조됩니다.(포트포워딩)

managle : TTL, TOS(Type of Service, 패킷 우선순위) 변경 같은 특수 규칙을 적용하기 위해 사용합니다.

raw : 연결 추적 기능을 자세히 설정하거나 연결 추적을 제외하기 위해 사용됩니다.


Action 종류

-N : 새로운 사용자 정의 chain을 만듦.

-X : 비어있는 chain을 제거

-P : chain의 기본 정책을 설정합니다.

-L : 현재 chain의 규칙을 나열합니다.

-F : chain로부터 규칙을 제거합니다.

-Z : chain 내의 모든 규칙들의 패킷과 바이트의 카운트를 0으로 만듭니다.

-A : chain에 새로운 규칙을 추가합니다.

​-I : chain에 규칙을 맨 첫 부분에 삽입합니다.

-R : chain의 규칙을 교환합니다.

-D : chain의 규칙을 제거합니다.

Chain 종류

INPUT : 호스트 컴퓨터로 향하는 모든 패킷(inbound)

FORWARD : 라우팅되는 로컬 전달이 아닌 모든 패킷을 의미합니다.(All packet)

OUTPUT : 호스트 컴퓨터에서 상대측에 보내는 패킷을 의미합니다.(outbound)

PREROUTING : 라우팅 전

POSTROUTING : 라우팅 후


Match 종류

-s : 출발지 IP 주소나 네트워크와 매칭, 도메인, IP 주소, 넷마스크 값을 이용하여 표기
-d : 목적지 IP 주소나 네트워크와 매칭, 도메인, IP 주소, 넷마스크 값을 이용하여 표기
-p : 특정 프로토콜과 매칭

--sport : 발신지에서의 하나의 포트 또는 포트 범위를 지정

--dport : 도착지의 포트를 지정하는 것으로 설정 방법은 --sport와 동일

--tcp-flags : TCP flags를 지정하는 옵션. (SYN, ACK, FIN, RST, URG, PSH, ALL, NONE)

-i : 입력 인터페이스와 매칭

-o : 출력 인터페이스와 매칭

! : 아닌(NOT)의미로 사용, 특정 매칭 제외 시 사용.

--state : 연결 상태와 매칭 사용

--string : 특정한 패턴과 매칭


기타 옵션

-n : 다른 옵션과 같이 사용되며 출력 정보를 숫자값으로 표현

-v : 다른 옵션과 같이 사용되며 패킷, 바이트수 등을 추가하여 정보를 자세히 출력

--line-number : 정책 앞에 번호를 붙여 출력.
 

주요 타켓(-j targat) 종류

ACCEPT : 패킷을 허가하는 것으로 본래 라우팅대로 진행

DROP : 패킷을 거부하는 것으로 더 이상 어떤 처리도 수행되지 않고 버림

LOG : 패킷을 syslog에 전달하여 기록. 일반적으로 /var/log/messages에 저장

REJECT : 패킷을 버리고 동시에 적당한 응답 패킷을 전달(상황에 맞는 설명을 해줌)

RETURN : 호출 사슬 내에서 패킷 처리를 계속 진행


​예시 )

#iptables -L INPUT

기본 테이블인 filter의 INPUT chain에 설정된 정책 정보를 출력한다.

#iptables -D INPUT -s 192.168.5.13 -p icmp -j DROP

INPUT chain에 설정한 관련 정책을 삭제한다.

#iptables -A OUTPUT -d tcp -d www.posein.org --dport 80 -o eth0 -j DROP

www.posein.org의 웹 사이트에 접속을 차단한다.

#iptabes -A INPUT -p tcp --dport 20:30 -j DROP

포트번호 20번부터 30번까지를 목적지로 들어오는 패킷들은 거부하고, SSH 포트인 22번 포트만 허용

#iptables -A INPUT -s 0.0.0.0/1 -p tcp -m tcp --dport 99 -j ACCPET

0.0.0.0 ~ 127.255.255.255 범위 내의 Host들이 이 TCP 프로토콜을 이용하여 이 장비의 99번 포트로 SSH 접근 허용

#iptables -A INPUT -s 128.0.0.0/1 -p tcp -m tcp --dport 99 -j ACCPET

128.0.0.0 ~ 255.255.255.255 범위 내의 Host들이 이 TCP 프로토콜을 이용하여 이 장비의 99번 포트로 SSH 접근 허용

 

(2) 등록된 정책 저장

#service iptables save

#/sbin/service iptables save


(3) 등록/저장된 정책 적용

#service iptables restart


(4) 적용된 정책 확인 및 그 밖의 명령어

#iptables -nL : 모든 체인 목록 출력

#iptables -F : 모든 체인 삭제

#iptables -S :


(5) 정책 적용 여부 테스트

포트 번호를 이용한 테스트



출처 : https://m.blog.naver.com/yundongcheol/221330016246


                    수정/삭제     이전글 다음글    
번호제 목종류작성일
6248   애플리케이션 지원 여부로 성패 점쳐지던 ‘리눅스... 리눅스  03-03
6247   방화벽 firewall-cmd 설치 실행 CentOS7  03-02
6246   iptables - Unix 운영체제 방화벽 / 명령어 정리 리눅스  03-01
6245   갤럭시·아이폰 등 와이파이 해킹 취약 'Kr00k' 버... 스마트폰  02-29
6244   "침투 테스트에 최적화된 특수한 리눅스 배포판" ... 리눅스  02-28
6243   삼성, 물리적 해킹 막는 모바일용 '보안 반도체' ... 스마트폰  02-27
6242   150달러짜리 리눅스폰 미국 출시 기타  02-26
6241   '탈MS' 외친 정부…이번엔 정말 실현할까 리눅스  02-25
6240   작년에 발견된 소프트웨어 취약점의 개수는 2만 23... 취약점  02-24
6239   갤럭시 스마트폰에 등장한 '내 디바이스 찾기', 해... 스마트폰  02-23
 
 

 
처음 이전 다음       목록 홈