Debian 9에서 UFW를 사용하여 방화벽을 설정하는 방법

Debian 9에서 UFW를 사용하여 방화벽을 설정하는 방법

2022-06-01 last update

9 minutes reading security ufw debian firewall iptables
Debian은 몇 개의 패키지를 포함하는데 이 패키지들은 방화벽을 관리하는 도구를 제공합니다. 그 중에서 iptables는 기본 시스템의 일부분으로 설치되어 있습니다.초보자는 iptables 도구를 사용하여 방화벽을 정확하게 설정하고 관리하는 방법을 배우는 것이 복잡할 수 있지만 UFW는 이를 간소화했다.UFW(Uncomplexed Firewall)는 사용자 친화적인 전단으로 iptables 방화벽 규칙을 관리하는 데 사용되며, 그 주요 목표는 iptables를 더욱 쉽게 관리하거나 말 그대로 간단하게 관리하는 것이다.이 강좌에서는 Debian 9에서 UFW를 사용하여 방화벽을 설치하는 방법을 보여 드리겠습니다.

선결 조건

본 강좌를 계속하기 전에 로그인한 사용자를 확인하십시오sudo privileges
.

UFW 설치

기본적으로 Debian 9에는 UFW가 설치되어 있지 않습니다.다음을 입력하여
sudo apt install ufw

UFW 상태 확인

패키지를 설치할 수 있습니다. 설치 프로세스가 완료되면 다음 명령을 사용하여 UFW의 상태를 확인할 수 있습니다.
sudo ufw status verbose
출력은 다음과 같습니다.
Status: inactive
기본적으로 UFW를 사용하지 않습니다.설치는 서버 잠금을 피하기 위해 방화벽을 자동으로 활성화하지 않습니다.UFW를 활성화하면 출력은 다음과 같습니다.

UFW 기본 정책

기본적으로 UFW는 모든 전송 연결을 막고 모든 아웃바운드 연결을 허용합니다.이것은 서버에 접근하려는 모든 사람이 연결할 수 없다는 것을 의미합니다. 이 포트를 열지 않으면 서버에서 실행되는 모든 응용 프로그램과 서비스가 외부 세계에 접근할 수 있습니다.기본 정책은 ufw 파일에 정의되어 있으며 /etc/default/ufw 명령을 사용하여 변경할 수 있습니다.방화벽 정책은 더욱 상세하고 사용자 정의 규칙을 구축하는 기초이다.대부분의 경우 초기 UFW 기본 정책은 좋은 출발점입니다.

응용 프로그램 프로필

패키지 sudo ufw default <policy> <chain> 가 설치된 경우
이 디렉터리는 UFW 설정을 포함하고 서비스를 설명하는 응용 프로그램 구성 파일을 apt 디렉터리에 추가합니다.시스템 유형에 사용할 수 있는 모든 응용 프로그램 구성 파일을 나열하려면:
sudo ufw app list
시스템에 설치된 패키지에 따라 다음과 같은 출력을 내보냅니다.
Available applications:
  DNS
  IMAP
  IMAPS
  OpenSSH
  POP3
  POP3S
  Postfix
  Postfix SMTPS
  Postfix Submission
  ...
특정 구성 파일과 규칙을 포함하는 더 많은 정보를 찾으려면 다음 명령을 사용하십시오.
sudo ufw app info OpenSSH
Profile: OpenSSH
Title: Secure shell server, an rshd replacement
Description: OpenSSH is a free implementation of the Secure Shell protocol.

Port:
  22/tcp
위의 출력에서 OpenSSH 구성 파일에 포트를 열라고 알려 줍니다.

SSH 연결 허용

UFW 방화벽을 먼저 사용하기 전에 SSH 연결을 허용해야 합니다.원격 위치에서 서버에 연결하면 거의 항상 그렇고 SSH 연결이 명시적으로 허용되기 전에 UFW 방화벽을 사용하면 Debian 서버에 다시 연결할 수 없습니다.(adsbygoogle=window.adsbygoogle | |[]).푸시({});UFW 방화벽을 SSH 접속 허용으로 구성하려면
sudo ufw allow OpenSSH
Rules updated
Rules updated (v6)
SSH 서버가 listening on a port인 경우 다음 명령을 실행합니다.
기본 포트 22 외에 이 포트를 열어야 합니다.예를 들어 ssh 서버 탐지 포트/etc/ufw/applications.d를 사용하면 다음 명령을 사용하여 이 포트의 연결을 허용할 수 있습니다.
sudo ufw allow 8822/tcp

UFW 활성화

UFW 방화벽이 ssh 연결을 허용하도록 설정된 이상 실행을 통해 사용할 수 있습니다.
sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
경고를 받을 것입니다. 방화벽을 사용하면 기존 ssh 연결이 중단될 수 있습니다.22만 입력하고 8822만 클릭하면 됩니다.

다른 포트에 연결 허용

서버에서 실행되는 응용 프로그램과 사용자의 구체적인 수요에 따라 다른 포트에 대한 접근을 허용해야 합니다.다음은 가장 일반적인 서비스에 대한 전송 연결을 허용하는 몇 가지 예입니다.

80-HTTP 포트 열기

다음 명령을 사용하여 HTTP 연결을 허용할 수 있습니다.
sudo ufw allow http
포트 번호가 아니라 y 프로필을 사용할 수 있습니다.Enter:
sudo ufw allow 80/tcp

포트 443-HTTPS 열기

다음 명령을 통해 HTTPS 연결을 허용할 수 있습니다.
sudo ufw allow https
동일한 연결을 실현하려면 http 실행Tomcat이 아니라 포트 번호를 사용할 수 있습니다. 80:
sudo ufw allow 443/tcp

포트 8080 열기


또는 다른 수신 포트 8080 어플리케이션에서 접속 허용:
sudo ufw allow 8080/tcp

허용 포트 범위

UFW를 사용하여 포트 범위에 액세스할 수 있습니다.UFW의 포트 범위를 허용하려면 프로토콜https 또는 443을 지정해야 합니다.예를 들어, tcpudp 에서 7100 까지의 포트를 허용하려면
sudo ufw allow 7100:7200/tcpsudo ufw allow 7100:7200/udp

특정 IP 주소 허용

특정 IP 주소에서 모든 포트에 액세스할 수 있도록 하려면 7200 명령을 사용하고 IP 주소를 따르십시오.
sudo ufw allow from 64.63.62.61

특정 포트의 특정 IP 주소 허용

작업 시스템의 포트 22의 IP 주소가 64.63.62.61이라고 가정하면 다음과 같은 명령을 사용합니다.
sudo ufw allow from 64.63.62.61 to any port 22

서브넷 허용

IP 주소 서브넷에서 연결을 허용하는 명령은 단일 IP 주소를 사용할 때의 명령과 같고 유일한 차이점은 네트워크 마스크를 지정해야 한다는 것입니다.예를 들어, 192.168.1.1-192.168.1.254에서 포트tcpMySQL까지의 IP 주소에 액세스할 수 있도록 하려면
) 다음과 같은 명령을 실행할 수 있습니다.
sudo ufw allow from 192.168.1.0/24 to any port 3306

특정 네트워크 인터페이스에 연결 허용

특정 포트에 액세스할 수 있습니다. 예를 들어 특정 네트워크 인터페이스udp의 포트ufw allow from,3360 명령을 사용하여 후면 인터페이스 이름:
sudo ufw allow in on eth2 to any port 3306

연결 거부

모든 전송 연결에 대한 기본 정책은 3360 로 설정됩니다. 이것은 연결을 따로 열지 않으면 UFW가 모든 전송 연결을 막는다는 것을 의미합니다.포트 eth2allow in on 를 열었다면 서버가 deny 네트워크의 공격을 받았을 것입니다.80로부터의 모든 연결을 거부하려면 다음 명령을 실행하십시오.
sudo ufw deny from 23.24.25.0/24
443 포트23.24.25.0/2423.24.25.0/24로부터의 접근만 거부하려면
sudo ufw deny from 23.24.25.0/24 to any port 80sudo ufw deny from 23.24.25.0/24 to any port 443
거부 규칙 작성은 허용 규칙과 같고, 80443 로 바꾸기만 하면 됩니다.

UFW 규칙 삭제

UFW 규칙을 삭제하는 데는 두 가지 방법이 있는데, 하나는 규칙에 따라 번호를 매기는 것이고, 다른 하나는 실제 규칙을 지정하는 것이다.규칙 번호에 따라 UFW 규칙을 삭제하는 것이 더 쉽습니다. 특히 UFW 초보자라면 더욱 쉽습니다.규칙 번호에 따라 규칙을 삭제하려면 먼저 삭제할 규칙 번호를 찾아야 합니다.이 작업을 수행하려면
sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 8080/tcp                   ALLOW IN    Anywhere
예를 들어 규칙 번호 3, 즉 포트 8080에 연결할 수 있는 규칙을 삭제하려면
sudo ufw delete 3
두 번째 방법은 실제 규칙을 지정하여 규칙을 삭제하는 것입니다.예를 들어 Open port23.24.25.0/24에 규칙을 추가하면
sudo ufw delete allow 8069

UFW 비활성화

을 삭제할 수 있습니다. 어떤 이유로든 UFW를 멈추고 모든 규칙을 사용하지 않으려면:
sudo ufw disable
나중에 UTF를 다시 활성화하고 모든 규칙을 활성화하려면 (adsbygoogle = window.adsbygoogle | []) 을 입력하십시오.푸시({});
sudo ufw enable

UFW 재설정

UFW를 재설정하면 UFW가 비활성화되고 모든 활성 규칙이 제거됩니다.모든 변경 사항을 복원하고 다시 시작하려면 매우 유용합니다.UFW를 재설정하려면 다음 명령을 입력하십시오.
sudo ufw reset

결론

Debian 9 시스템에 UFW 방화벽을 설치하고 구성하는 방법을 배웠습니다.시스템이 정상적으로 작동하는 데 필요한 모든 전송 연결을 허용하고 불필요한 연결을 제한해야 합니다.