본문 바로가기
LINUX

linux iptables 설정

by Rainbound-IT 2024. 1. 15.
반응형

 

목차

     

     

     

    최근 외부 서비스를 통하여 방화벽 설정을 많이 하게 되는데

    이유는 다음과 같다.

    1. 편의성

    2. 외부 접근시 보안

     

    편의성에서는 외부에서 ssh 접근을 안하고 웹상으로 그래픽 UI로 편리하게 할수 있다는 점.

    보안상 안좋을 수 있는데 iptables의 경우 무조건 root 권한으로 설정을 해야한다.

    외부에서 방화벽을 설정한다고 하면 root 접근이 외부에서 가능하다는 것인데 이것이 문제가 될수 있다.

     

    하지만 내부에서 사용하는 경우 보안적으로 더 좋으므로 사용하는경우가 있으므로 해보자!

     

    설치

    sudo apt-get update
    sudo apt-get install iptables

     

    명령어 옵션

     

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

    -D: 기존의 규칙을 삭제합니다.

    -R: 새로운 규칙으로 대체합니다.

    -P: 기존의 규칙을 변경합니다.

    -F: 모든 규칙을 삭제합니다.

     

    추가  옵션

     

    -p: 패킷의 포트 번호 혹은 프로토콜을 명시합니다.

    -j: 패킷을 어떻게 처리할 지 명시합니다. (ACCEPT, DROP, LOG, REJECT)

    -m: 확장 모듈을 활성화합니다. (ex) recent 모듈: 특정 시간 동안 특정 개수 이상의 패킷을 받았을 때를 처리할 수 있음

    -s: 정책에 ip 추가

    --dport: 패킷의 도착 포트 번호를 명시합니다.

    --sport: 패킷의 발신 포트 번호를 명시합니다.

     

     

     

    서비스 실행 관련

    •  서비스 시작: service iptables start
    •  서비스 정지: service iptables stop
    •  서비스 재시작: service iptables restart
    •  서비스 저장: service iptables save

     

     

     

     

     

    IPtables 규칙 확인

    iptables --list

     

     

    설정 예시

    특정포트 허용하기

    # 현재 설정 초기화
    sudo iptables -F
    
    # 기본 정책 설정 (기본적으로 모든 트래픽 허용)
    sudo iptables -P INPUT ACCEPT
    sudo iptables -P FORWARD ACCEPT
    sudo iptables -P OUTPUT ACCEPT
    
    # 포트 80 열기
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    
    # 설정 저장
    sudo service iptables save
    sudo service iptables restart

     

     

    특정 포트에 특정 ip 만 허용하기

    # 모든 규칙 초기화
    sudo iptables -F
    
    # 기본 정책 설정 (기본적으로 모든 트래픽 차단)
    sudo iptables -P INPUT DROP
    sudo iptables -P FORWARD DROP
    sudo iptables -P OUTPUT ACCEPT
    
    # 특정 IP 주소에 대한 포트 80 허용
    sudo iptables -A INPUT -p tcp -s 192.168.1.2 --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp -s 192.168.1.3 --dport 80 -j ACCEPT
    
    # 설정 저장
    sudo service iptables save
    sudo service iptables restart

     

    초기화

    iptables -P INPUT ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD ACCEPT
    iptables -F

     

     

     

    영구적으로 iptables 설정

    리부팅하게 될 경우 설정이 날라가게 된다.

    다른 패키지를 설치하여 영구적으로 설정할 수 있다.

     

     패키지 설치:

    sudo apt-get install iptables-persistent netfilter-persistent

     

    저장

    sudo service netfilter-persistent save

     

     다시 로드

    sudo service netfilter-persistent restart

     

     

     

    Reference

    https://ndb796.tistory.com/262

     

    우분투(Ubuntu) 리눅스 서버에서 IPtables를 활용해 방화벽 설정하기

    ※ IPtables 소개 ※ IPtables는 UFW와 마찬가지로 우분투(Ubuntu) 서버에 포함되어 있는 기본적인 방화벽 도구(Tool)입니다. IPtables를 이용하면 매우 다양한 방화벽 설정이 가능하다는 점에서 활용도가

    ndb796.tistory.com

     

     

    반응형

    댓글