firewall-cmd 를 활용한 네트워크 접근 제한

Red Hat Enterprise LinuxBeginner
지금 연습하기

소개

이 챌린지에서는 Red Hat Enterprise Linux 시스템의 네트워크 접근 제어 관리 실습을 진행합니다. firewalld 서비스의 명령줄 인터페이스인 firewall-cmd 도구를 사용하여 네트워크 트래픽을 허용하거나 차단하는 규칙을 구성하게 됩니다. 이는 서버 보안을 책임지는 시스템 관리자에게 필수적인 핵심 기술입니다.

이 콘텐츠는 가이드형 실습과 달리 독립적으로 과제를 완수해야 하는 챌린지입니다. 학습 단계를 따라가는 것이 아니라 스스로 해결 방안을 찾아야 하므로 난이도가 다소 높을 수 있습니다. 해결이 어렵다면 Labby 와 상담하거나 솔루션을 확인해 보세요. 통계에 따르면 이 챌린지는 초급 수준으로 88%의 합격률과 학습자들로부터 100%의 긍정적인 평가를 기록하고 있습니다.

SSH 접근 허용을 위한 방화벽 규칙 구성

첫 번째 과제는 시스템 방화벽을 통해 SSH 원격 관리 접속이 가능하도록 설정하는 것입니다. SSH 서비스에 대한 영구적인 규칙을 추가해야 합니다.

시작하기 전에 방화벽 상태를 확인하는 것이 좋습니다. sudo firewall-cmd --state 명령어로 확인할 수 있으며, 만약 방화벽이 실행 중이지 않다면 sudo systemctl start firewalld를 실행하여 활성화하십시오.

과제

  • 외부에서 들어오는 SSH 트래픽을 허용하는 영구 방화벽 규칙을 생성하세요.
  • 변경 사항을 현재 실행 중인 방화벽 설정에 적용하세요.
  • 규칙이 성공적으로 추가되었는지 확인하세요.

요구 사항

  • 모든 방화벽 수정 작업은 반드시 firewall-cmd 명령어를 사용해야 합니다.
  • 규칙은 구체적으로 ssh 서비스를 활성화해야 합니다.
  • 시스템 재부팅 후에도 유지되도록 영구 (permanent) 규칙으로 설정해야 합니다.

예시

영구 규칙을 올바르게 추가하고 방화벽을 재로드한 후, 영구 서비스 목록을 확인하면 ssh가 포함되어 있어야 합니다.

$ sudo firewall-cmd --list-services --permanent
cockpit dhcpv6-client ssh
✨ 솔루션 확인 및 연습

특정 IP 주소 차단을 위한 방화벽 규칙 구성

다음으로, 특정 IP 주소로부터 오는 모든 트래픽을 차단하여 보안을 강화합니다. 이 과제에서는 더 복잡하고 세부적인 방화벽 구성이 가능한 "리치 규칙 (rich rule)"을 사용합니다.

과제

  • IP 주소 192.168.1.100에서 들어오는 모든 트래픽을 거부하는 영구 리치 규칙을 생성하세요.
  • 변경 사항을 적용하여 규칙을 활성화하세요.
  • 리치 규칙이 올바르게 구성되었는지 확인하세요.

요구 사항

  • 규칙은 firewall-cmd 명령어를 사용하여 생성해야 합니다.
  • 소스 IP 주소 192.168.1.100의 접속을 거부 (reject) 하는 "리치 규칙"이어야 합니다.
  • 규칙은 영구적으로 적용되어야 합니다.

예시

규칙 추가 및 방화벽 재로드 후 영구 리치 규칙 목록을 확인하면 생성한 규칙이 나타나야 합니다.

$ sudo firewall-cmd --list-rich-rules --permanent
rule family="ipv4" source address="192.168.1.100" reject
✨ 솔루션 확인 및 연습

요약

이 챌린지를 통해 Red Hat Enterprise Linux 시스템에서 firewall-cmd를 사용한 필수적인 방화벽 관리 방법을 익혔습니다. 특정 서비스 (SSH) 를 허용하고, 리치 규칙을 사용하여 특정 소스 IP 주소의 트래픽을 차단하는 규칙을 성공적으로 구성했습니다. 또한 이러한 변경 사항을 영구적으로 저장하고 실제 방화벽 설정에 적용하는 실습을 진행했습니다. 이러한 기술은 Linux 시스템을 보호하고 네트워크 접근을 제어하는 데 매우 중요합니다.