ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ubuntu에서 방화벽 설정 (UFW)
    프로그래밍/Linux 2023. 11. 2. 01:23
    728x90
    반응형

     

     

     

     

    Ubuntu에서 기본적으로 제공하는 방화벽은 UFW(Ubuntu Firewall) 이다. 

    iptables을 보다 쉽게 사용하도록 개발된 툴로 사용법도 좀 더 간편하다. 

     

     

     

     

     

     

    일단 ufw status를 사용하여 활성화 여부를 체크한다. 

    기본적으로 비활성화 되어 있기 때문에 ufw enable를 사용하여 ufw를 활성화한다. 

    ufw를 활성화하면 방화벽이 작동하기 떄문에 모든 포트가 자동으로 막히게 된다. 

    방화벽 설정을 하지 않고 그대로 종료하면 다음에 ssh 접근을 못할 수도 있으니 유의하자. 

     

     

     

     

     

     

    # ufw status

    Status: inactive

     

    # ufw enable

    Command may disrupt existing ssh connections. Proceed with operation (y|n)? y

    Firewall is active and enabled on system startup

     
     
     

     

     

     

    ufw default deny/allow를 입력하여 기본적인 방화벽 방침을 입력한다. 

    ufw logging on을 입력하여 로그를 남기도록 변경한다. 

     

     

     

     

    # ufw default deny
    Default incoming policy changed to 'deny'
    (be sure to update your rules accordingly)
     
     
    # ufw logging on
    Logging enabled
     
     
     

     

     

    이제 사용하는 포트들을 열어보자. 

    ufw allow의 기본적인 문법은 아래와 같다. 

     

    ufw allow <port>/<optional: protocol>

     

    ftp. ssh, http, mysql port를 차례대로 열어준다. 

    그리고 ufw status numbered를 사용하여 입력한 룰들을 확인해본다. 

     

     

     

    # ufw allow 21
    Rule added
    Rule added (v6)
    # ufw allow 22
    Rule added
    Rule added (v6)
    # ufw allow 80
    Rule added
    Rule added (v6)
    # ufw allow 3306
    Rule added
    Rule added (v6)
     
     
     
    # ufw status numbered
    Status: active
     
         To                         Action      From
         --                         ------      ----
    [ 1] 21                         ALLOW IN    Anywhere
    [ 2] 22                         ALLOW IN    Anywhere
    [ 3] 80                         ALLOW IN    Anywhere
    [ 4] 3306                       ALLOW IN    Anywhere
    [ 5] 21 (v6)                    ALLOW IN    Anywhere (v6)
    [ 6] 22 (v6)                    ALLOW IN    Anywhere (v6)
    [ 7] 80 (v6)                    ALLOW IN    Anywhere (v6)
    [ 8] 3306 (v6)                  ALLOW IN    Anywhere (v6)
     
     

     

     

    특정 ip에서 모든 포트 접근을 허용할때는 아래와 같이 ip를 적으면 된다. 

     

    sudo ufw allow from 52.33.44.444 

     

     

    특정 ip에서 모든 포트 접근을 막을 때는 아래와 같이 ip를 적으면 된다. 

    불법적인 로그인 시도가 지속되거나, 무리한 크롤링 등 이슈가 있을 때 사용이 가능하다. 

     

     

    sudo ufw deny from IP주소

     

     

    만약 위에 다른 룰들이 있어서(ex: 80                         ALLOW       Anywhere )

    차단이 먹히지 않을 경우에는 룰의 맨 처음에 적용하면 된다. 

     

    방화벽 규칙은 위에서 아래로 평가되며 가장 먼저 매치되는 규칙이 적용됩니다.

     

    sudo ufw insert 1 deny from IP주소

     

     

     

     

    참고로 룰을 삭제하고 싶을 경우에는 ufw delete rule_number 를 사용하면 된다. 

     

     

    # ufw delete 8

    Deleting:

     allow 3306

    Proceed with operation (y|n)? y

    Rule deleted (v6)

     

     

     

     

     

     

     

     

    728x90
    반응형
Designed by Tistory.