[Ubuntu 방화벽 설정] UFW 사용 가이드 | 초보자부터 중급자까지 보안 강화 방법

1. 소개

Ubuntu에서 방화벽의 중요성

인터넷에 연결된 시스템은 외부로부터의 불법 접근 위험을 항상 동반합니다. 이러한 위험으로부터 시스템을 보호하기 위해 필수적인 것이 방화벽입니다. Ubuntu에는 특히 초보자도 사용하기 쉬운 방화벽 도구 “UFW(Uncomplicated Firewall)”가 기본 탑재되어 있어, 간단한 조작으로 강력한 보안을 제공합니다. 본 기사에서는 UFW의 설치부터 설정, 상태 확인, 트러블슈팅까지 필요한 절차를 이해하기 쉽게 설명합니다. 초보자도 쉽게 방화벽 설정을 수행하고 Ubuntu의 보안을 강화하기 위한 가이드로 활용해 주세요.
侍エンジニア塾

2. Ubuntu의 방화벽 도구: UFW란

UFW 개요와 장점

UFW는 “Uncomplicated Firewall”의 약자로, 이름 그대로 간단한 조작성으로 방화벽 설정을 가능하게 하는 도구입니다. Ubuntu와 Debian 계열 시스템을 위해 설계되었으며, 명령줄에 익숙하지 않은 사람도 쉽게 사용할 수 있습니다. 고급 방화벽 설정을 할 경우 Linux 표준인 iptables가 권장되지만, UFW는 그 복잡성을 없애고 간단한 조작으로 보안을 관리할 수 있습니다.

UFW의 주요 장점

  • 간단한 명령: 방화벽 설정을 짧은 명령으로 관리할 수 있어 초보자에게 최적.
  • 기본적으로 안전: 인바운드 트래픽은 차단하고, 아웃바운드 트래픽은 허용하는 설정으로 바로 사용할 수 있습니다.
  • 유연한 설정 가능: 포트와 IP 주소, 네트워크 단위로 커스텀 규칙을 설정할 수 있습니다.

3. UFW 설치 및 기본 설정

UFW 설치 방법

보통 UFW는 Ubuntu에 사전 설치되어 있지만, 설치되지 않은 경우 아래 명령어로 설치할 수 있습니다.
sudo apt update
sudo apt install ufw

UFW 활성화 및 비활성화

UFW를 활성화하면 외부에서 들어오는 모든 인바운드 접근이 차단되고, 내부에서 나가는 아웃바운드 접근만 허용됩니다. 아래 명령어로 UFW를 활성화·비활성화할 수 있습니다.
  • UFW를 활성화한다
  sudo ufw enable
출력 예시
  Firewall is active and enabled on system startup
  • UFW를 비활성화한다
  sudo ufw disable

기본 정책 설정

방화벽을 적절히 구성하기 위해 UFW의 기본 정책을 설정합니다. 아래 명령어로 인바운드를 차단하고 아웃바운드를 허용하는 설정을 수행합니다.
  • 인바운드 차단 (거부)
  sudo ufw default deny incoming
  • 아웃바운드 허용
  sudo ufw default allow outgoing
이제 불필요한 접근을 차단하면서 내부에서의 통신은 허용하는 안전한 환경이 구축됩니다.

4. UFW 상태 확인 방법

UFW 상태와 설정된 규칙 확인

UFW의 현재 상태와 설정된 규칙을 확인하려면, 아래 명령을 실행합니다。
sudo ufw status verbose
출력 예시
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
이 출력에서는 현재 상태(active), 로그 설정, 기본 정책, 적용된 규칙의 상세를 확인할 수 있습니다。

5. UFW 규칙 설정

필수 규칙 설정 권장

기본적인 보안 대책으로, 다음 주요 포트의 허용을 설정하는 것이 좋습니다。
  • HTTP(포트 80)와 HTTPS(포트 443)의 허용
  sudo ufw allow 80/tcp
  sudo ufw allow 443/tcp
  • SSH(포트 22)의 허용:리모트에서의 안전한 연결을 확보하기 위해 필요합니다。
  sudo ufw allow 22/tcp

특정 IP 주소 및 네트워크 접근 제어

  • 특정 IP 주소에서의 SSH 접근 허용
  sudo ufw allow from 192.168.1.100 to any port 22
  • 네트워크 범위를 지정하여 허용
  sudo ufw allow from 192.168.1.0/24
이를 통해 특정 IP 주소 및 네트워크로부터의 연결을 안전하게 허용하고, 필요 이상의 접근을 제한할 수 있습니다。

6. UFW 로그 관리

로그 활성화 및 로그 레벨 설정

UFW의 로그 기능을 활성화하면 접근 성공 여부를 기록하고, 의심스러운 활동을 감지할 수 있습니다. 로그는 시스템의/var/log 디렉터리에 저장됩니다.
  • 로그 활성화
  sudo ufw logging on
  • 로그 레벨 설정(high 권장)
  sudo ufw logging high

로그 확인

로그를 실시간으로 확인하려면 아래 명령을 사용합니다。
sudo tail -f /var/log/syslog
의심스러운 접근이 많을 경우 해당 IP를 차단함으로써 보안을 더욱 강화할 수 있습니다.

7. UFW의 GUI 도구: Gufw 소개

Gufw 설치 및 사용법

명령줄 조작에 익숙하지 않은 분들에게는 UFW의 GUI 도구인 Gufw를 추천합니다. Gufw를 사용하면 직관적인 조작으로 규칙 설정 및 로그 확인이 가능합니다.
  • 설치
  sudo apt install gufw
  • 규칙 설정:Gufw를 실행하고, 「규칙」 탭에서 특정 포트의 허용 및 차단을 설정합니다. 예를 들어, 「Preconfigured」에서 HTTP、HTTPS、SSH를 쉽게 허용할 수 있습니다.
Gufw
이미지: Gufw

8. 문제 해결

자주 발생하는 문제와 해결책

  1. UFW가 활성화되지 않음
  • sudo ufw reset로 설정을 초기화하고, 다시 설정해 주세요.
  1. 특정 서비스가 차단됨
  • 해당 포트가 허용되어 있는지 확인하고, sudo ufw allow 로 필요한 포트를 추가해 주세요.
  1. Gufw가 시작되지 않음
  • 재설치나 시스템 재시작으로 해결될 수 있습니다.

9. 요약

이 기사에서는 Ubuntu 방화벽 설정에 필요한 UFW의 기본 조작부터 권장 설정, 트러블슈팅까지 폭넓게 설명했습니다. 방화벽을 적절히 구성하고 정기적으로 규칙 및 로그를 확인함으로써 보안을 강화할 수 있습니다.

정기적인 유지보수의 중요성

UFW 설정을 한 번 활성화한 후에도 정기적으로 설정 내용과 로그를 검토하고, 의심스러운 접근이 없는지 확인하는 것이 중요합니다. 보안은 지속적인 대책이 중요하며, 방화벽을 적절히 유지함으로써 시스템을 안전하게 유지할 수 있습니다. 구체적으로는 다음 항목들을 정기적으로 확인하면 좋습니다:
  • 새로운 서비스 추가 및 삭제에 따른 규칙 검토:시스템에 새로운 서비스를 설치하거나 불필요한 서비스를 삭제할 때마다 방화벽 규칙을 확인하고 필요에 따라 업데이트하십시오。
  • 로그 모니터링:의심스러운 접근이나 오류가 없는지 정기적으로 UFW 로그를 확인합시다. 특정 IP 주소에서의 접근이 자주 차단되는 경우, 해당 IP를 차단하는 등의 조치를 취할 수 있습니다。
  • 규칙 정리:장기간 사용으로 불필요해진 규칙이 쌓일 수 있습니다. 규칙 정리는 보안뿐만 아니라 관리 효율화에도 도움이 됩니다。
年収訴求