iptables 설치 및 규칙 확인
첫 번째 단계에서는 iptables를 설치하고 Kali Linux 컨테이너 내의 현재 방화벽 규칙을 확인하는 방법을 배웁니다. 이는 변경 사항을 적용하기 전에 기존 방화벽 구성을 파악하는 데 필수적인 시작점입니다.
LabEx VM 환경에서 터미널을 열면 Kali Linux 컨테이너의 셸에 자동으로 연결됩니다. 컨테이너를 수동으로 시작하거나 셸에 진입할 필요가 없으며, 환경은 이미 준비되어 있습니다. 먼저 iptables를 설치하고 방화벽 규칙의 현재 상태를 살펴보겠습니다.
iptables는 리눅스 커널의 IP 패킷 필터링 규칙을 관리할 수 있게 해주는 명령줄 유틸리티입니다. 이러한 규칙은 소스 IP 나 포트 번호와 같은 특정 기준에 따라 패킷을 허용 (Accept), 차단 (Drop) 또는 리다이렉트 (Redirect) 할지 결정합니다. 규칙을 확인하면 현재 어떤 정책이 적용되어 있는지 알 수 있습니다.
먼저 패키지 목록을 업데이트하고 iptables를 설치합니다. 다음 명령어를 입력하고 Enter 를 누르세요.
apt update && apt install -y iptables
이 명령어는 패키지 목록을 업데이트하고 한 번에 iptables를 설치합니다. && 연산자는 업데이트가 성공한 경우에만 설치를 진행하도록 보장합니다.
예상 출력 결과 (예시이며 실제 출력은 다를 수 있음):
Get:1 http://mirrors.cloud.aliyuncs.com/kali kali-rolling InRelease [30.9 kB]
...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
iptables is already the newest version (1.x.x-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
이제 iptables가 설치되었으므로, 다음 명령어를 실행하여 현재 iptables 규칙 목록을 확인합니다. 명령어를 입력하고 Enter 를 누르세요.
iptables -L -v -n
이 명령어의 옵션은 다음과 같습니다.
iptables: 방화벽 규칙을 관리하는 도구입니다.
-L: 선택한 체인의 모든 규칙을 나열합니다.
-v: 패킷 및 바이트 카운터를 포함하여 상세한 정보를 출력합니다.
-n: 이름 해석 없이 IP 주소와 포트를 숫자 형식으로 표시합니다.
이 명령어를 실행하면 아래와 유사한 출력이 표시됩니다. 정확한 출력은 컨테이너의 초기 구성에 따라 다를 수 있습니다.
예상 출력 결과 (예시이며 실제 출력은 다를 수 있음):
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
이 출력은 세 가지 주요 체인을 보여줍니다. 들어오는 트래픽을 위한 INPUT, 통과하는 트래픽을 위한 FORWARD, 나가는 트래픽을 위한 OUTPUT입니다. 각 체인은 기본 정책 (예: ACCEPT) 과 특정 규칙이 있는 경우 해당 규칙을 표시합니다. 이 예시처럼 체인이 비어 있다면 현재 적용된 사용자 정의 규칙이 없으며 기본 정책이 모든 트래픽을 제어하고 있음을 의미합니다.
출력 내용을 잠시 검토해 보세요. 다음 단계에서 규칙을 추가하거나 수정하기 전에 방화벽의 현재 상태를 이해하는 것이 매우 중요합니다. 이 기초 단계를 통해 Kali Linux 컨테이너의 iptables 초기 구성에 익숙해질 수 있습니다.