UFW 또는 firewalld를 사용하여 Linux에서 특정 포트를 차단하는 방법

리눅스에서 특정 포트를 차단하려면 차단하려는 포트와 프로토콜에 대한 방화벽 규칙을 추가하세요. 예를 들어, UFW를 사용하는 Ubuntu 시스템에서는 sudo ufw deny 8080/tcp8080 포트로 들어오는 새로운 TCP 연결을 차단할 수 있습니다. firewalld를 사용하는 시스템에서는 기존 포트 허용을 제거하거나 명시적인 거부 규칙을 추가할 수 있습니다. 중요한 것은 UFW, firewalld, 그리고 하위 수준의 nftables 규칙을 혼합해서 사용하는 것이 아니라, 시스템에서 실제로 사용하는 방화벽 설정을 변경하는 것입니다.

포트를 차단하기 전에

먼저 포트 번호와 애플리케이션이 TCP, UDP 또는 둘 다를 사용하는지 확인하십시오. TCP 규칙이 동일한 포트 번호의 UDP를 자동으로 차단하지는 않습니다. 다음 명령어를 사용하여 수신 대기 중인 소켓을 확인할 수도 있습니다.

sudo ss -lntup

방화벽 규칙은 네트워크 트래픽을 제어하는 ​​것이지, 애플리케이션이 로컬에서 수신 대기하는 것을 막는 것은 아닙니다. 서비스가 전혀 필요하지 않다면 방화벽 규칙에만 의존하는 것보다 해당 서비스를 중지하거나 비활성화하는 것이 일반적으로 더 효과적입니다.

SSH를 통해 해당 시스템에 연결된 경우, 방화벽을 활성화하거나 강화하기 전에 원격 액세스 규칙을 보호하십시오. 최신 UFW 설명서에서는 UFW를 활성화하면 기존 SSH 연결이 중단될 수 있다고 명시적으로 경고하며, 필요한 SSH 허용 권한을 먼저 추가할 것을 권장합니다.

UFW로 포트를 차단하세요

Ubuntu 문서에는 UFW가 기본 방화벽 설정 도구로 명시되어 있습니다 . UFW는 일반적으로 초기에는 비활성화되어 있으므로 규칙을 추가하거나 활성화하기 전에 상태를 확인해야 합니다.

1. UFW를 확인하고 안전하게 활성화하십시오.

sudo ufw status

만약 결과가 다음 Status: inactive과 같고 UFW를 활성화하려면 먼저 사용하는 원격 관리 서비스를 허용해야 합니다. 표준 OpenSSH 프로필의 경우:

sudo ufw allow OpenSSH
sudo ufw enable
리눅스 터미널에서 UFW 상태가 비활성으로 표시된 후 UFW 방화벽을 활성화하는 화면입니다.
특히 원격으로 관리되는 시스템의 경우, 규칙을 변경하기 전에 UFW가 활성화되어 있는지 확인하십시오.

2. 해당 포트에 대한 거부 규칙을 추가합니다.

8080차단하려는 포트로 바꾸세요 . 규칙이 모호하지 않도록 프로토콜을 지정하세요.

sudo ufw deny 8080/tcp

UDP의 경우 다음을 사용하세요

sudo ufw deny 8080/udp

애플리케이션이 두 프로토콜을 모두 사용하는 경우 두 규칙을 모두 추가하십시오. UFW는 또한 연결을 거부하는 기능을 지원합니다 reject. 무음 거부와 달리 거부는 발신자에게 연결이 거부되었음을 알립니다.

Linux 터미널에 `sudo ufw deny 8080/tcp` 명령어가 표시되고 방화벽 규칙이 추가되었다는 확인 메시지가 나타납니다.
UFW 거부 규칙은 선택한 포트로 들어오는 TCP 트래픽을 차단합니다.

3. UFW 규칙을 확인하거나 제거합니다.

sudo ufw status numbered

출력 결과에는 차단된 포트에 대한 DENY IN 항목이 표시되어야 합니다. 공식 UFW 구문은 또한 규칙을 반복하여 삭제하는 기능도 지원합니다 delete.

sudo ufw delete deny 8080/tcp
Linux 터미널에서 UFW 번호 지정 상태를 보여주며, TCP 포트 8080에 대해 IPv4 및 IPv6 모두 접근이 거부되었습니다.
번호가 매겨진 상태 출력을 사용하여 의도한 UFW 규칙이 활성화되었는지 확인하십시오.

firewalld를 사용하여 포트를 차단합니다.

Linux 설치에서 firewalld를 사용하는 경우, 먼저 활성 영역을 찾으십시오.

sudo firewall-cmd --get-active-zones
sudo firewall-cmd --zone=public --list-all

인터페이스가 다른 영역에 속하는 경우 아래 내용을 교체하십시오 public. 포트 8080이 명시적으로 열려 있는 경우 해당 허용을 제거하고 영구 구성을 다시 로드하십시오.

sudo firewall-cmd --permanent --zone=public --remove-port=8080/tcp
sudo firewall-cmd --reload
활성화된 firewalld 영역을 보여주는 Linux 터미널 화면, TCP 포트 8080 제거 및 방화벽 재시작 화면
firewalld를 사용하여 올바른 활성 영역에서 변경 사항을 적용하고 영구 규칙을 다시 로드하십시오.

서비스 정의에서 해당 포트가 간접적으로 허용되는 경우 또는 명시적으로 차단하려는 경우, 상세한 거부 규칙을 추가하십시오.

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule port port="8080" protocol="tcp" reject'
sudo firewall-cmd --reload
sudo firewall-cmd --zone=public --list-rich-rules

firewalld 의 리치 룰 문서에서는 포트 일치와 액션을 지원합니다 reject. dropfirewall -cmd 매뉴얼 에서는 런타임 구성과 영구 구성을 별도로 설명합니다.

나중에 해당 방화벽d 차단을 제거하려면 동일한 리치 규칙을 제거하고 다시 로드하십시오.

sudo firewall-cmd --permanent --zone=public --remove-rich-rule='rule port port="8080" protocol="tcp" reject'
sudo firewall-cmd --reload

해당 포트에 더 이상 접근할 수 없는지 확인하십시오.

sudo ss -lntup애플리케이션이 여전히 수신 대기 중인지 확인하려면 다시 실행하세요 . 그런 다음 관련 네트워크의 다른 컴퓨터에서 테스트하십시오. Netcat이 설치되어 있으면 TCP 검사는 다음과 같습니다 nc -vz SERVER_IP 8080. 실제 클라이언트가 사용하는 동일한 네트워크 경로에서 테스트하세요. localhost 테스트는 외부 트래픽 차단을 입증하지 못합니다.

서비스가 절대로 노출되어서는 안 되는 경우, 서비스 자체를 비활성화하거나 재구성해야 합니다. 방화벽은 접근 제어 계층일 뿐이며, 불필요한 수신 대기 장치를 제거하는 것을 대체할 수 없습니다.

댓글 남기기

손실된 파티션과 하드 디스크 데이터를 안전하게 복구하는 방법

손실된 파티션과 하드 디스크 데이터를 안전하게 복구하는 방법

TestDisk와 PhotoRec을 사용하여 손실된 파티션과 파일을 복구하는 방법을 알아보세요. 원본 드라이브를 보호하고 안전하게 스캔한 다음 복구된 데이터를 다른 디스크에 저장하세요.

리눅스 데스크톱에서 QR 코드를 스캔하는 방법

리눅스 데스크톱에서 QR 코드를 스캔하는 방법

웹캠이나 이미지 파일을 사용하여 CoBang으로 Linux에서 QR 코드를 스캔하세요. Flatpak 카메라 접근 관련 설치 옵션, 설정 단계 및 문제 해결 방법을 참조하세요.

Cameractrls를 사용하여 Linux에서 웹캠 설정을 변경하는 방법

Cameractrls를 사용하여 Linux에서 웹캠 설정을 변경하는 방법

Cameractrls를 사용하여 Linux에서 웹캠 설정을 변경하세요. 노출, 색상, 깜빡임 감소 및 기타 지원되는 제어 기능을 조정하고 호환되는 비디오 모드를 확인하세요.

Linux에 PhpStorm을 설치하는 방법: Toolbox, Tar.gz, Snap 및 AUR

Linux에 PhpStorm을 설치하는 방법: Toolbox, Tar.gz, Snap 및 AUR

Linux에 PhpStorm을 설치하려면 JetBrains Toolbox 또는 독립 실행형 tar.gz 아카이브를 사용하세요. Snap 및 Arch AUR 옵션도 제공됩니다. Java는 이미 포함되어 있습니다.

리눅스에 Cisco Packet Tracer를 설치하는 방법

리눅스에 Cisco Packet Tracer를 설치하는 방법

Cisco Packet Tracer 9.0.1 for Ubuntu 64비트 버전을 다운로드하고, APT를 사용하여 DEB 패키지를 설치한 다음, 터미널에서 라이선스에 동의하고 로그인하여 실습을 시작하십시오.

XFCE 4에서 듀얼 패널을 설정하는 방법

XFCE 4에서 듀얼 패널을 설정하는 방법

각 디스플레이마다 별도의 XFCE 4 패널을 생성하고, 두 번째 패널을 올바른 출력에 할당하고, 위치와 크기를 조정한 다음, 필요한 실행기와 상태 항목을 추가합니다.

리눅스에서 CD-ROM을 ISO 파일로 백업하는 방법

리눅스에서 CD-ROM을 ISO 파일로 백업하는 방법

GNOME Disks 또는 dd 명령어를 사용하여 Linux에서 CD-ROM ISO 파일을 생성합니다. 광학 드라이브를 식별하고, 복사 과정을 모니터링하고, 이미지 유효성을 검사하고, 손상된 디스크나 오디오 디스크에 다른 도구가 필요한 경우를 알 수 있습니다.

리눅스에서 GIMP를 사용하여 이미지를 잘라내는 방법

리눅스에서 GIMP를 사용하여 이미지를 잘라내는 방법

GIMP를 사용하여 Linux에서 사진 배경 제거하기: 피사체를 따라 그리고, 선택한 배경을 삭제하고, 투명도를 유지한 다음, 재사용 가능한 PNG 파일로 내보낼 수 있습니다.

FlightGear 무료 다운로드: 공식 설치 가이드

FlightGear 무료 다운로드: 공식 설치 가이드

FlightGear를 공식 사이트에서 무료로 다운로드하세요. Windows, macOS, Linux 패키지를 비교하고, 데이터 파일을 설치한 후 첫 비행을 시작하세요.

Google Tasks 데스크톱 애플리케이션: 컴퓨터에서 사용하는 방법

Google Tasks 데스크톱 애플리케이션: 컴퓨터에서 사용하는 방법

브라우저에서 Google Tasks를 열거나, Chrome 바로가기 또는 앱 스타일 실행을 추가하고, 캘린더 및 Gmail을 통해 날짜별 할 일을 관리하세요.