OS/Linux - Ubuntu

[Linux - 리눅스 / Ubuntu - 우분투] 방화벽 관리 - ufw, gufw

주누다 2015. 5. 12. 13:39
반응형

방화벽 관리

- 로그는 시스템의 상태를 알려주는 메시지

- 로그는 이미 어떤 상황이 발생한 이후에 남긴 기록

- 네트워크를 통한 외부의 접속을 차단하려면 방화벽(FireWall)을 사용

- 우분투는 자체적으로 방화벽을 관리하는 도구인  'ufw'를 제공

- 리눅스에서 전통적으로 사용한 방화벽인 'iptables' 를 좀 더 쉽게 설정할 수 있도록 한 것



방화벽 동작 확인하기 

- 방화벽의 서비스 이름은 'ufw'

- 방화벽 동작 확인

 * dpkg -l | grep ufw 


- 방화벽 동작 상태 확인

 * sudo ufw status




GUI 도구로 방화벽 설정하기 

- ufw 방화벽은 동적으로 방화벽을 관리할 수 있도록 지원

- 방화벽을 동적으로 관리한다는 것은 언제든지 방화벽의 설정을 변경할 수 있고,

  즉시 적용된다는 의미

- 방화벽의 변경 내용을 실행하기 위해 별도로 변경 내용을 저장하고

  적용하는 과정이 필요없음

- 방화벽을 다시 실행하기 위해 기존의 네트워크 연결이 중단되는 일이 없다는 것

- 우분투에는 방화벽을 관리하기 위한 GUI 도구로 'gufw'가 있음 




gufw 사용법 


Profile

- 현재 설정하는 내용을 적용할 환경을 설정

- 설정할 수 있는 값은 'Home', 'Office', 'Public' 등 세 가지

- 각 환경에 따라 방화벽을 다르게 설정할 수 있음



Status

- 방화벽 전체를 켜거나 끌 수 있음

- 방화벽을 전체적으로 끌 때는 리눅스를 사용하는 환경이 정말로 안전한 환경인지 확인



Incoming 과 Outgoing

- 시스템으로 들어오는 트래픽과 

 시스템 밖으로 나가는 트래픽을 어떻게 할 것인지 기본값을 설정

- 일반적으로 시스템으로 들어오는 트래픽은 모두 거부하고(deny)

 밖으로 나가는 트래픽은 허용하는(allow)것이 기본 값

- 이 상태에서 세부 프로토콜별로 인커밍을 허용하도록 규칙을 조정

- 허용과 거부 외에 거절(reject) 제한(limit)이 있음

- 거절은 접속을 거부하고(deny) 거절된 이유를 알려줌

- 제한은 같은 IP에서 반복적으로 접속을 시도할 때 트래픽이 거부되는 경우 



규칙

- 방화벽에서 규칙을 선택시 현재 적용중인 규칙을 보여줌

- '+'를 선택하여 규칙을 추가하거나, '-'를 선택하여 규칙을 삭제할 수도 있음

- gufw 는 방화벽에 규칙을 추가하는 세 가지 방법을 제공

 * 편리하게 모드 

  -> 방화벽을 적용할 응용 분야를 게임, 오디오/비디오, 시스템, 오피스 등으로 구분

  -> 다시 세부 카테고리를 정해 방화벽 정책을 정할 수 있도록 함

  -> 설정한 후 이를 '자세하게 모드'로 보내 세부적인 설정을 할 수 있음

 * 간단하게 모드

  -> 규칙의 이름을 사용자가 정할 수 있음

  -> TCP/UDP 선택과 포트 번호나 서비스명을 사용자가 직접 지정하고 정책을 적용할 수 있음

  -> 설정한 후 이를 '자세하게 모드'로 보내 세부적인 설정을 할 수 있음

 * 자세하게 모드

  -> 규칙의 이름, 번호, 정책, 방향, 인터페이스 선택, 로그 기록 여부, TCP/UDP 선택뿐만 아니라

    출발지와 목적지의 주소, 포트 번호 등을 자세하게 설정 



열린 포트 보고

- 현재 열려 있는 포트 보고



로그

- 방화벽과 관련된 로그 기록을 보여줌




방화벽 관리 명령 

- 방화벽은 명령으로도 관리할 수 있음

- 'ufw' 명령으로 방화벽을 켜거나 끌 수 있고, 

  특정 포트나 서비스를 허용하거나 거부할 수 있음


ufw 

- 기능 : 방화벽을 설정

- 형식 : ufw 서브 명령

- 서브 명령 : 

 * enable : 방화벽을 활성화

 * disable : 방화벽을 비활성화

 * default allow | deny | reject | [incoming | outgoing] : 방화벽의 기본 동작을 설정

 * status [verbose] : 방화벽의 상태를 출력

 * allow 서비스명 | 포트/프로토콜 : 지정한 서비스나 포트를 허용

 * deny 서비스명 | 포트/프로토콜 : 지정한 서비스나 포트를 거부

 * delete 명령 : 명령으로 설정한 규칙을 삭제

- 사용예 : ufw deny telnet, ufw allow 23/tcp, ufw status 



방화벽의 상태 보기

- 현재 방화벽의 상태와 설정 내용을 확인하려면 'status' 서브 명령을 사용

 * sudo ufw status



규칙 추가하기

 * ex) sudo ufw allow http

        sudo ufw status



서비스 거부하기

- 서비스를 거부하거나 삭제할 때는 그 서비스를 사용하는 사용자가 있는지 확인

- 갑자기 서비스 연결이 끊어지면 사용자가 작업하던 내용을 잃어버릴수도 있으니 주의

 * ex) sudo ufw deny telnet

        sudo ufw status



규칙 삭제하기

- 규칙을 삭제할 때는 상대 정보를 보고 설정되어 있는 형태로 삭제할 규칙을 지정해야함.

 * ex) sudo ufw delete deny telnet

        sudo ufw status



포트 추가하기

- 포트를 추가할 때는 tcp나 udp 프로토콜을 지정해야함

- 어떤 프로토콜인지 확실하게 모른다면 둘 다 추가

- 포트를 추가한 뒤 목록에서 확인

 * ex) sudo ufw allow 5000/tcp

        sudo ufw status



특정 IP 주소의 접속 설정하기

- 특정 IP 주소에서 접속하는 것을 허용하거나 거부하려면 IP주소를 지정

 * ex) sudo ufw allow from 192.168.0.12 to any port ftp

        sudo ufw status

 




반응형