기본 방화벽 활성화

LinuxBeginner
지금 연습하기

소개

기본 방화벽 활성화에 대한 실습 랩에 오신 것을 환영합니다. 서버 보안은 모든 시스템 관리자에게 매우 중요한 작업이며, 방화벽은 무단 네트워크 액세스에 대한 첫 번째 방어선입니다.

본 랩에서는 Debian 및 Ubuntu 시스템에서 iptables 방화벽 규칙 관리를 위한 사용자 친화적인 인터페이스인 UFW(Uncomplicated Firewall) 를 사용합니다. UFW 는 간단하고 직관적으로 설계되어 누구나 기본적인 방화벽 관리를 쉽게 할 수 있도록 합니다. UFW 설치 방법, 특정 트래픽을 허용하는 규칙 추가 방법, 방화벽 활성화 및 비활성화 방법, 상태 확인 방법을 배우게 됩니다.

본 랩이 끝날 때쯤이면 UFW 를 사용하여 필수적인 방화벽 작업을 수행하는 방법에 대해 확실히 이해하게 될 것입니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 100%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

apt install ufw -y 명령어로 UFW 설치하기

이 단계에서는 Uncomplicated Firewall (UFW) 을 설치합니다. UFW 는 많은 Ubuntu 배포판에 포함되어 있지만, 설치되어 있는지 확인하거나 누락된 경우 설치하는 것이 좋은 습관입니다. 이를 위해 apt 패키지 관리자를 사용할 것입니다.

먼저, 사용 가능한 최신 버전을 가져오도록 패키지 목록을 업데이트하는 것이 항상 좋습니다.

터미널에서 다음 명령을 실행합니다.

sudo apt update

패키지 목록이 저장소에서 업데이트됨에 따라 출력을 보게 될 것입니다.

이제 UFW 설치를 진행합니다. -y 플래그는 설치 프로세스 중 발생하는 모든 프롬프트에 자동으로 "예"라고 응답합니다.

sudo apt install ufw -y

명령이 완료되면 UFW 가 시스템에 설치됩니다. 성공적인 설치를 나타내는 다음과 유사한 출력이 표시되어야 합니다.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  ufw
0 upgraded, 1 newly installed, 0 to remove and ... not upgraded.
Need to get ...
After this operation, ... of additional disk space will be used.
...
Setting up ufw (...)
...

이 시점에서 UFW 는 설치되었지만 아직 활성화되지는 않았습니다. 다음 단계에서는 활성화하기 전에 규칙을 구성할 것입니다.

ufw allow 80 명령어로 HTTP 허용하기

이 단계에서는 들어오는 HTTP 트래픽을 허용하는 방화벽 규칙을 추가합니다. 기본적으로 UFW 는 모든 들어오는 연결을 거부합니다. 웹 서버를 실행 중이라면 사용자가 서버에 액세스할 수 있도록 명시적으로 허용하는 규칙을 만들어야 합니다. HTTP 트래픽은 포트 80 을 사용합니다.

ufw allow 명령 뒤에 포트 번호나 서비스 이름을 사용하여 규칙을 추가할 수 있습니다.

포트 80 의 트래픽을 허용하려면 다음 명령을 실행합니다.

sudo ufw allow 80

규칙이 추가되었다는 확인 메시지를 보게 될 것입니다. UFW 는 IPv4 및 IPv6 트래픽 모두에 대해 규칙을 추가할 만큼 충분히 스마트하기 때문에 출력에서 두 줄이 표시됩니다.

Rule added
Rule added (v6)

이 규칙은 이제 구성되었지만, 다음 단계에서 수행할 방화벽이 활성화될 때까지 적용되지 않습니다. 이는 잠재적으로 자신을 차단할 수 있는 방화벽을 활성화하기 전에 (예: SSH 용) 필요한 모든 규칙을 설정할 수 있도록 하는 안전한 방법입니다.

ufw enable 명령어로 방화벽 활성화하기

이 단계에서는 방화벽을 활성화합니다. UFW 를 설치하고 규칙을 추가하는 것만으로는 충분하지 않습니다. 규칙이 적용되려면 방화벽 서비스가 실행 중이어야 합니다.

방화벽을 활성화하기 전에 시스템에서 차단되는 것을 방지하기 위해 SSH 트래픽을 허용하는 것이 중요합니다. SSH 는 기본적으로 포트 22 를 사용합니다.

sudo ufw allow ssh

SSH 규칙이 추가되었다는 확인 메시지를 보게 됩니다.

Rule added
Rule added (v6)

이제 안전하게 UFW 를 활성화할 수 있습니다. ufw enable 명령을 사용합니다.

sudo ufw enable

방화벽이 활성화되며, 이제 활성 상태이며 시스템 시작 시 자동으로 활성화될 것임을 확인하는 출력이 표시됩니다.

Firewall is active and enabled on system startup

이제 방화벽이 작동 중이며 SSH 액세스 허용을 포함하여 설정한 규칙을 적용하고 있습니다.

ufw status 명령어로 상태 확인하기

이 단계에서는 방화벽의 상태를 확인하고 활성 규칙을 보는 방법을 배웁니다. 이는 구성을 확인하는 데 필수적인 명령어입니다.

기본 상태 보고서를 보려면 ufw status 명령어를 사용합니다.

sudo ufw status

출력에는 방화벽이 활성 상태이며 구성한 규칙 목록이 표시됩니다. 추가한 SSH 및 포트 80 규칙이 보여야 합니다.

Status: active

To                         Action      From
--                         ------      ----
80                         ALLOW       Anywhere
80 (v6)                    ALLOW       Anywhere (v6)
22                         ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)

더 자세한 보기를 원하면 verbose 옵션을 사용할 수 있습니다. 이 옵션은 기본 정책 (default policies) 도 함께 보여줍니다.

sudo ufw status verbose

상세 (verbose) 출력은 들어오는 (incoming), 나가는 (outgoing), 라우팅된 (routed) 트래픽에 대한 기본 정책을 포함하여 더 많은 컨텍스트를 제공합니다. 기본적으로 UFW 는 모든 들어오는 트래픽을 거부하고 모든 나가는 트래픽을 허용합니다.

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW IN    Anywhere
80/tcp (v6)                ALLOW IN    Anywhere (v6)
22/tcp                     ALLOW IN    Anywhere
22/tcp (v6)                ALLOW IN    Anywhere (v6)

방화벽이 예상대로 구성되었는지 확인하기 위해 정기적으로 상태를 확인하는 것은 좋은 습관입니다.

ufw disable 명령어로 비활성화 및 규칙 제거

이 단계에서는 방화벽을 비활성화하고 기존 규칙을 제거하는 방법을 배웁니다. 유지보수, 문제 해결 또는 방화벽을 처음부터 다시 구성해야 할 때 이 작업이 필요할 수 있습니다.

먼저, 방화벽을 비활성화합니다. 이렇게 하면 UFW 가 네트워크 트래픽 필터링을 중단합니다.

sudo ufw disable

출력에서 서비스가 중지되었음을 확인할 수 있습니다.

Firewall stopped and disabled on system startup

다음으로, 추가했던 규칙을 제거해 보겠습니다. 방화벽이 비활성화된 상태에서도 규칙은 구성 파일에 저장되어 있습니다. 특정 규칙을 삭제하려면 먼저 ufw status numbered 명령어로 번호가 매겨진 목록을 볼 수 있습니다.

sudo ufw status numbered
Status: inactive

방화벽이 비활성 상태이므로, 번호가 매겨진 규칙을 확인하기 위해 다시 활성화해 보겠습니다.

sudo ufw enable
sudo ufw status numbered

출력은 다음과 같이 표시됩니다.

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 80                         ALLOW IN    Anywhere
[ 2] 80 (v6)                    ALLOW IN    Anywhere (v6)
[ 3] 22                         ALLOW IN    Anywhere
[ 4] 22 (v6)                    ALLOW IN    Anywhere (v6)

이제 해당 번호를 사용하여 규칙을 삭제할 수 있습니다. 첫 번째 규칙 (IPv4 용) 을 삭제해 보겠습니다.

sudo ufw delete 1

UFW 는 확인을 요청할 것입니다. 이 환경에서는 자동으로 진행됩니다. 규칙이 삭제되었다는 확인 메시지를 보게 됩니다.

Deleting:
 allow 80
Proceed with operation (y|n)?
Rule deleted

마지막으로, UFW 를 기본 상태로 완전히 초기화하여 모든 규칙을 제거하고 비활성화하려면 ufw reset 명령어를 사용할 수 있습니다.

sudo ufw reset

이 명령어는 깨끗한 방화벽 구성으로 처음부터 다시 시작할 때 매우 유용합니다.

요약

실습을 완료하신 것을 축하드립니다! UFW 를 사용하여 Linux 시스템에서 방화벽을 관리하는 기본 사항을 성공적으로 학습했습니다.

본 실습에서 다음 사항들을 연습했습니다.

  • apt 패키지 관리자를 사용하여 UFW 설치하기.
  • ufw allow 명령어로 특정 트래픽을 허용하는 규칙 추가하기.
  • ufw enable 명령어로 방화벽 활성화 및 켜기.
  • ufw status 명령어로 방화벽 상태 및 규칙 확인하기.
  • ufw disableufw delete 명령어로 방화벽 비활성화 및 규칙 삭제하기.

이러한 기본 명령어를 숙달하면 서버의 보안을 강화할 수 있는 강력한 도구를 갖추게 됩니다. 방화벽을 올바르게 구성하는 것은 시스템 관리 및 네트워크 보안 분야의 기초적인 기술입니다.