Computer >> 컴퓨터 >  >> 시스템 >> Linux

UFW로 Ubuntu 방화벽 구성하기: 초보자도 따라 할 수 있는 완벽 가이드

리눅스 운영체제는 가장 견고하고 안전한 운영체제 중 하나입니다. 하지만 그렇다고 해서 보안 위협에 전혀 노출되지 않는 것은 아닙니다.

정보 보안에 있어서는 데이터 유출을 예방하기 위해 미리 대비하는 자세가 무엇보다 중요합니다. 이 가이드에서는 Ubuntu 리눅스 시스템에서 방화벽을 활성화하고 구성하여 한 단계 더 높은 보안 수준을 확보하는 방법을 소개합니다.

방화벽은 왜 필요할까요?

기기들이 상호 연결된 오늘날의 환경에서 데이터 보안은 그 어느 때보다 중요하며, 이는 바로 여러분과 여러분의 기기에서 시작됩니다. 강력한 비밀번호 사용 등 다른 보안 조치와 더불어, 방화벽은 시스템을 안전하게 지키는 데 큰 도움이 됩니다.

방화벽은 네트워크에 들어오고 나가는 트래픽을 관리하고 제어하는 네트워크 프로그램입니다.

Ubuntu 리눅스에는 UFW(Uncomplicated Firewall)라는 방화벽 애플리케이션이 기본 탑재되어 있습니다. UFW는 간단하면서도 효율적인 방화벽 관리 도구로, 이를 통해 방화벽을 구성하고 엄격한 정책을 설정해 네트워크상의 컴퓨터를 보호할 수 있습니다.

UFW는 iptables를 기반으로 동작합니다. iptables는 네트워크 연결을 관리하고 필터링하는 커널 기반 관리 도구입니다.

방화벽 상태 확인하기

Ubuntu 리눅스는 기본적으로 방화벽이 비활성화되어 있습니다. 방화벽을 구성하기 전에 먼저 방화벽이 활성(active) 상태인지 비활성(inactive) 상태인지 확인해야 합니다.

sudo ufw status

출력 결과에서 방화벽이 활성화되어 있고, 다른 기기가 포트 5900에 접근해 연결을 시작할 수 있음을 확인할 수 있습니다. 주로 VNC 서버가 원격 데스크톱 연결을 위해 포트 5900을 사용합니다.

만약 상태 출력 결과가 inactive로 표시된다면, 컴퓨터에서 방화벽을 활성화해야 합니다.

UFW로 방화벽 활성화하기

방화벽을 활성화하려면 다음 명령어를 실행하기만 하면 됩니다.

sudo ufw enable

이제 방화벽이 활성화되었으며, 시스템이 부팅될 때마다 자동으로 시작됩니다. sudo ufw status 명령어를 다시 실행하면 방화벽이 활성 상태인 것을 확인할 수 있습니다.

: ufw 명령어로 변경 사항을 적용할 때마다 방화벽을 다시 로드하여 변경 내용을 등록해야 합니다.

sudo ufw reload

UFW로 방화벽 로깅 활성화하기

시스템 로깅은 컴퓨터에서 발생하는 특정 이벤트를 기록하고 보관하는 보안 메커니즘입니다. 리눅스 운영체제는 중요한 이벤트를 지속적으로 기록하며, Ubuntu 방화벽도 예외가 아닙니다.

관련 글: 리눅스 시스템 로깅 시작하기

Ubuntu 리눅스에서는 방화벽 로깅이 기본적으로 비활성화되어 있습니다. 방화벽 로깅을 활성화하려면 다음 명령어를 입력하세요.

sudo ufw logging on

Ubuntu에서는 /var/log/ufw.log 파일에 방화벽 로그가 저장됩니다.

규칙 정의 및 삭제하기

특정 포트를 외부에 명시적으로 열고 싶다면 allow 옵션 뒤에 포트 번호를 입력하면 됩니다. 예를 들어, 다른 컴퓨터의 HTTP 연결을 허용하려면 80번 포트를 열어야 합니다.

sudo ufw allow 80

포트 번호 대신 서비스 이름을 사용할 수도 있습니다. HTTP 서비스를 허용하려면 다음과 같이 입력합니다.

sudo ufw allow http

방화벽 상태를 확인하면 80번 포트(HTTP)가 방화벽에서 활성화된 것을 볼 수 있습니다.

sudo ufw status

위와 같이 80번 포트가 다른 컴퓨터의 연결을 허용하도록 정의되었습니다.

80번 포트 연결을 허용하는 방화벽 규칙을 삭제하려면 다음 명령어를 사용하세요.

sudo ufw delete allow 80

포트 임시 차단하기

규칙을 삭제하지 않고 포트를 일시적으로 닫으려면 ufw deny 명령어를 사용하면 됩니다. 예를 들어 80번 포트를 닫으려면 다음과 같이 입력합니다.

sudo ufw deny 80

UFW로 애플리케이션 프로파일 관리하기

시스템의 일부 애플리케이션은 원활하게 작동하기 위해 특정 포트 번호를 사용합니다. 보안을 위해 이러한 애플리케이션들은 UFW 프로파일을 가지고 있습니다. UFW 프로파일이 등록된 애플리케이션 목록을 확인하려면 다음 명령어를 사용하세요.

sudo ufw app list

UFW 프로파일이 있는 애플리케이션은 /etc/ufw/applications.d 디렉터리에 파일 형태로 저장되어 있습니다. 이 디렉터리의 파일을 살펴보면 해당 애플리케이션이 사용하는 포트와 애플리케이션 설명을 확인할 수 있습니다.

특정 IP 주소의 연결 허용하기

때로는 신뢰할 수 있는 특정 IP 주소만 PC에 접속하도록 허용하고 싶을 수 있습니다. 예를 들어 IP 주소 192.168.10.197의 연결만 허용하려면 다음 명령어를 사용하세요.

sudo ufw allow from 192.168.10.197

허용 목록에서 해당 IP 주소를 제거하려면 다음과 같이 입력합니다.

sudo ufw delete allow from 192.168.10.197

방화벽 규칙 테스트하기

경우에 따라 방화벽 규칙을 실제 적용하기 전에 테스트하여 그 영향을 미리 파악하고 싶을 수 있습니다. 예를 들어 변경 사항을 적용하지 않고 SSH 포트 개방을 테스트하려면 다음과 같이 하면 됩니다.

sudo ufw --dry-run allow ssh

방화벽만으로는 충분하지 않습니다

Ubuntu 방화벽을 통해 네트워크상의 컴퓨터를 구성하고 보호할 수 있지만, 시스템 보안은 여러 방면에서 접근해야 하는 문제입니다. 방화벽만으로 시스템을 완전히 보호할 수 없기 때문에, 계정에 강력한 비밀번호를 사용하는 것과 같은 올바른 보안 습관을 항상 함께 실천해야 합니다.