허용 규칙을 설정해도 UFW가 모두 차단됩니다.


14

우분투 서버를 사용하고 있습니다. 이제 다음 명령을 사용하여 방화벽을 활성화하려고합니다.

ufw default deny incoming
ufw default allow outgoing

ufw allow ssh
ufw allow www
ufw allow https

ufw enable

나는 또한 ufw default deny incoming마지막 것을 만들려고 했지만 여전히 운이 없다. 방화벽을 활성화하면 기본값을 거부로 설정할 때 eveything을 차단하지만 허용하도록 설정하면 규칙이 무시되는 것처럼 잘 작동합니다. 이 문제의 원인은 무엇입니까?

편집하다

의이 내 출력 iptables -L -v -n 나는 또한 제안 된 솔루션을하지만 여전히 행운을 시도 잘 작동, 단지 내가 그것을 할 때default allow incoming

Chain INPUT (policy DROP 30 packets, 1764 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 2 packets, 104 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-after-forward (0 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-after-input (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ufw-skip-to-policy-input  udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:137
    0     0 ufw-skip-to-policy-input  udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:138
    0     0 ufw-skip-to-policy-input  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:139
    0     0 ufw-skip-to-policy-input  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:445
    0     0 ufw-skip-to-policy-input  udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ufw-skip-to-policy-input  udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:68
    0     0 ufw-skip-to-policy-input  all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type BROADCAST

Chain ufw-after-logging-forward (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 3/min burst 10 LOG flags 0 level 4 prefix "[UFW BLOCK] "

Chain ufw-after-logging-input (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 3/min burst 10 LOG flags 0 level 4 prefix "[UFW BLOCK] "

Chain ufw-after-logging-output (0 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-after-output (0 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-before-forward (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 3
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 4
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 11
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 12
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8
    0     0 ufw-user-forward  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain ufw-before-input (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 ufw-logging-deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 3
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 4
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 11
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 12
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp spt:67 dpt:68
    0     0 ufw-not-local  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            224.0.0.251          udp dpt:5353
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            239.255.255.250      udp dpt:1900
    0     0 ufw-user-input  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain ufw-before-logging-forward (0 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-before-logging-input (0 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-before-logging-output (0 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-before-output (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 ufw-user-output  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain ufw-logging-allow (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 3/min burst 10 LOG flags 0 level 4 prefix "[UFW ALLOW] "

Chain ufw-logging-deny (2 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID limit: avg 3/min burst 10
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 3/min burst 10 LOG flags 0 level 4 prefix "[UFW BLOCK] "

Chain ufw-not-local (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type LOCAL
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type MULTICAST
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type BROADCAST
    0     0 ufw-logging-deny  all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 3/min burst 10
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain ufw-reject-forward (0 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-reject-input (0 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-reject-output (0 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-skip-to-policy-forward (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain ufw-skip-to-policy-input (7 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain ufw-skip-to-policy-output (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain ufw-track-forward (0 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-track-input (0 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-track-output (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate NEW
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate NEW

Chain ufw-user-forward (1 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-user-input (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:443

Chain ufw-user-limit (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 3/min burst 5 LOG flags 0 level 4 prefix "[UFW LIMIT BLOCK] "
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain ufw-user-limit-accept (0 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain ufw-user-logging-forward (0 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-user-logging-input (0 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-user-logging-output (0 references)
 pkts bytes target     prot opt in     out     source               destination         

Chain ufw-user-output (1 references)
 pkts bytes target     prot opt in     out     source               destination         

1
부탁 좀 들어 줄래? 음주 ufw enable, 다음의 출력을 붙여 sudo iptables -L -v -n질문에. 기본 netfilter/ iptables물건이 실제로 ufw 규칙으로 무엇을하고 있는지 궁금합니다 . :)
토마스 워드

처음 두 명령은 필요하지 않습니다. UFW를 활성화하기 만하면되며 기본 허용 거부가 적용됩니다.
mchid

오, mchid가 맞습니다. 이것이 기본값이며, 필요하지 않습니다. 그럼에도 불구하고 iptables, 처음 두 줄을 제외하고 여전히이 문제가있는 경우 데이터 를보고 싶습니다 .
토마스 워드

내 iptables 파일의 출력을 추가했습니다
engma

답변:


13

터미널을 열고 다음 명령을 입력하십시오.

재설정을 수행하여 시작하면 기존의 모든 규칙이 제거됩니다.

sudo ufw reset

다음,

sudo ufw app list

OpenSSH 및 기타와 같은 사용 가능한 응용 프로그램 프로필이 표시됩니다. 앱에 대한 정보를 얻으려면이 예제와 같이 다음 명령을 입력하십시오.

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 액세스를 허용하기 위해 다음 규칙을 사용할 수 있습니다.

sudo ufw allow 22/tcp

데비안과 달리 www와 https는 일반적으로 앱 프로파일로 포함되지 않지만 포트 80과 443에서 작동한다는 것을 알고 있으므로 다음 명령을 사용하십시오.

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

UDP를 추가하려면이 작업도 수행하십시오.

sudo ufw allow 80/udp
sudo ufw allow 443/udp

ufw를 비활성화하고 활성화하여 변경 사항을 적용하십시오.

sudo ufw disable
sudo ufw enable

규칙을 표시하려면

sudo ufw status

마지막으로, ufw의 덜 친숙한 측면 중 하나는 거부 규칙이 일반적으로 규칙을 허용하는 방법입니다. 예를 들어, 모든 것을 거부하도록 설정 한 다음 포트를 허용하도록 설정할 수는 없습니다. 모든 포트는 여전히 차단됩니다. 자세한 내용은 여기를 참조하십시오 .


이러한 규칙을 추가하여 22, 53, 80 및 443을 제외한 모든 포트를 전체적으로 차단할 수 있습니다. DNS 요청을 허용하기 위해 포트 53을 추가했습니다. DNS 쿼리를하지 않아도되는 경우 규칙을 적절히 수정하십시오.

이러한 차단 규칙을 수신 전용으로 설정하려면 sudo ufw deny in 1:22/tcp예를 들어 사용 합니다. 또는 발신 sudo ufw deny out 1:22/tcp등으로 설정하십시오 .

sudo ufw deny 1:21/tcp
sudo ufw deny 1:21/udp
sudo ufw deny 23:52/tcp
sudo ufw deny 23:52/udp
sudo ufw deny 54:79/tcp
sudo ufw deny 54:79/udp
sudo ufw deny 81:442/tcp
sudo ufw deny 81:442/udp
sudo ufw deny 444:65535/tcp
sudo ufw deny 444:65535/udp

귀하의 답변에 감사드립니다. 그러나 그 포트를 제외한 모든 포트를 차단하고 싶습니다. ufw default block incoming규칙을 설정 한 후에 사용해야 합니까?
engma

@ Developer106 아니요, ufw를 활성화하면 수신 차단이 이미 기본값으로 설정됩니다. 열린 터미널에서 다음 명령을 실행하여이를 확인할 수 있습니다 sudo ufw status verbose. 내가 실수하지 않으면 해당 규칙을 명시 적으로 설정하면 허용 된 포트가 허용되지 않습니다. 포트를 제외한 모든 포트를 차단하려면이 스레드를 정확히 수행하는 것이 좋습니다. 매우 철저하고 철저히 제외하고 모든 포트를 차단하면 원하는 열린 포트를 갖게됩니다. ubuntuforums.org/showthread.php?t=1893751
mchid

@ Developer106 22, 53, 80, 443을 제외한 모든 것을 전체적으로 차단하고 다른 모든 포트를 거부하거나 차단하는 규칙을 추가했습니다.
mchid

좋아, 그것은 명시 적으로 out말하지만 deny, 여전히 작동하지 않는다고 말하지 않으면 거부하도록 지정할 때만 작동 합니다. 그 원인은 무엇입니까?
engma

@ Developer106 작동하지 않는 것은 차단되지 않습니까?
mchid

7

참고 : 다른 사람이이 문제를 겪을 경우.

자세한 iptables 출력에서 ​​INPUT, OUTPUT 및 FORWARD 체인에 ufw 규칙이 누락 된 것을 알았습니다. 어떤 시점에서 ufw를 활성화 한 후 사용자 정의 FW 규칙을 제거하기 위해 iptables -F를 실행하면 시스템이 이렇게 종료되었습니다. 자체 체인 중 일부가 이미 iptables에 존재하는 경우 ufw가 최상위 규칙을 다시 추가하지 않는 것으로 보입니다.

나는 ufw 설치 제거, 재부팅, 'iptables -F'실행 (이전 활성 iptables 규칙을 제거하기 위해)을 실행 한 다음 ufw를 다시 설치하고 구성했습니다. 최상위 ufw 규칙이 다시 돌아 왔습니다. 제거 / 재설치가 필요하지 않을 수 있습니다. ufw를 비활성화하고 재부팅하여 iptables에서 모든 ufw 규칙을 제거하면 트릭이 완료되었을 수 있습니다.

최상위 체인은 다음과 같습니다 (데비안 9.4).

Chain INPUT (policy DROP)
target     prot opt source               destination         
ufw-before-logging-input  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-before-input  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-after-input  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-after-logging-input  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-reject-input  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-track-input  all  --  0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy DROP)
target     prot opt source               destination         
ufw-before-logging-forward  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-before-forward  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-after-forward  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-after-logging-forward  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-reject-forward  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-track-forward  all  --  0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ufw-before-logging-output  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-before-output  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-after-output  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-after-logging-output  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-reject-output  all  --  0.0.0.0/0            0.0.0.0/0           
ufw-track-output  all  --  0.0.0.0/0            0.0.0.0/0           

1
이것은 나에게도 문제를 해결했다.
Technophobe01

1
iptables -X내장되지 않은 모든 체인을 삭제하기 위해 실행 한 다음 다시 시작해 ufw도 나에게 도움이되었습니다.
Tblue

0

저도 같은 문제, 나사와 설정의 일종 가지고 ufwfail2baniptables의 체인을 에드 푸 **를. ufw체인 자체에 규칙이 없어도 ufw를 시작하자마자 모든 것이 차단되었습니다 . ufw리셋은 도움이되지 않았습니다. 나는 그것을 완전히 다시 설치했다.

sudo apt-get purge ufw
sudo apt-get install ufw

안녕 마소 재설치 후 추가 구성을 수행해야 했습니까?
Hee Jin

0

나를 위해이 문제는에서 규칙을 설정하여 해결되었습니다.

sudo ufw default deny outgoing
sudo ufw default allow outgoing

포트 53을 허용하지 않고 dns를 허용하는 등의 유일한 방법입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.