UFW đang chặn tất cả ngay cả khi tôi đặt quy tắc cho phép


14

Tôi đang sử dụng máy chủ Ubuntu, Bây giờ tôi đang cố gắng kích hoạt tường lửa bằng các lệnh sau:

ufw default deny incoming
ufw default allow outgoing

ufw allow ssh
ufw allow www
ufw allow https

ufw enable

Tôi cũng đã thử làm cái ufw default deny incomingcuối cùng nhưng vẫn không gặp may, khi tôi bật tường lửa, nó sẽ chặn mọi thứ khi tôi đặt mặc định thành từ chối, nhưng khi tôi đặt nó thành cho phép, nó hoạt động tốt, giống như các quy tắc bị bỏ qua. Điều gì có thể gây ra điều này ?

BIÊN TẬP

Đây là kết quả của tôi iptables -L -v -n Tôi cũng đã thử các giải pháp đề xuất nhưng vẫn không có may mắn, nó hoạt động tốt chỉ khi tôi thực hiện 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
Bạn có thể làm cho tôi một việc? Làm ufw enable, sau đó dán đầu ra của sudo iptables -L -v -ncâu hỏi của bạn. Tôi tò mò không biết những gì cơ bản netfilter/ iptablescông cụ thực sự đang làm với các quy tắc ufw. :)
Thomas Ward

Hai lệnh đầu tiên là không cần thiết. Tất cả những gì bạn cần làm là kích hoạt UFW và từ chối mặc định cho phép sẽ được áp dụng.
mchid

Ôi, mchid nói đúng, đó là những mặc định, bạn không cần những thứ đó. Có nói rằng, tôi vẫn muốn xem iptablesdữ liệu nếu, với hai dòng đầu tiên bị loại trừ, bạn vẫn gặp phải vấn đề này.
Thomas Ward

Tôi đã thêm đầu ra của tệp iptables của mình
engma

Câu trả lời:


12

Mở terminal và gõ các lệnh sau:

Bắt đầu bằng cách thực hiện đặt lại, việc này sẽ xóa tất cả các quy tắc hiện có:

sudo ufw reset

Kế tiếp,

sudo ufw app list

Điều này sẽ liệt kê các hồ sơ ứng dụng có sẵn, như OpenSSH và các hồ sơ khác. Để nhận thông tin về một ứng dụng, hãy nhập lệnh sau như trong ví dụ này:

sudo ufw app info OpenSSH

Đây là đầu ra:

Profile: OpenSSH
Title: Secure shell server, an rshd replacement
Description: OpenSSH is a free implementation of the Secure Shell protocol.

Port:
  22/tcp

Để cho phép truy cập OpenSSH, bạn có thể sử dụng quy tắc sau:

sudo ufw allow 22/tcp

Tuy nhiên, không giống như Debian, www và https thường không được bao gồm trong hồ sơ ứng dụng, chúng tôi biết những điều này hoạt động trên các cổng 80 và 443, vì vậy hãy sử dụng các lệnh sau:

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

Nếu bạn muốn thêm UDP, chỉ cần làm điều này là tốt.

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

Vô hiệu hóa và kích hoạt ufw để áp dụng các thay đổi:

sudo ufw disable
sudo ufw enable

Để hiển thị quy tắc của bạn:

sudo ufw status

Cuối cùng, một trong những khía cạnh ít thân thiện của ufw là cách các quy tắc từ chối thường là thủ phạm cho phép các quy tắc. Ví dụ: bạn không thể đặt mọi thứ thành từ chối và sau đó đặt các cổng thành cho phép. Tất cả các cổng vẫn sẽ bị chặn. Xem ở đây để biết thêm .


Bạn có thể thêm các quy tắc này để chặn toàn bộ tất cả các cổng ngoại trừ 22, 53, 80 và 443. Tôi đã thêm cổng 53 để cho phép các yêu cầu DNS. Nếu bạn không cần thực hiện các truy vấn DNS, chỉ cần sửa đổi các quy tắc cho phù hợp.

Để đặt các quy tắc chặn này cho chỉ đến, bạn sẽ sử dụng sudo ufw deny in 1:22/tcpví dụ. Ngoài ra, thiết lập cho đi sudo ufw deny out 1:22/tcpvà như vậy.

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

Cảm ơn rất nhiều vì câu trả lời của bạn, nhưng tôi muốn chặn tất cả các cổng ngoại trừ những cổng đó, tôi có nên sử dụng ufw default block incomingsau khi đặt các quy tắc đó không?
engma

@ Developer106 Không, khi bạn bật ufw, khối đến đã được đặt thành mặc định. Bạn có thể xác minh điều này bằng cách thực hiện lệnh sau trong một thiết bị đầu cuối mở sudo ufw status verbose. Nếu tôi không nhầm, thiết lập rõ ràng quy tắc đó sẽ không cho phép các cổng được phép của bạn. Nếu bạn muốn chặn tất cả các cổng trừ những cổng đó, tôi thực sự khuyên bạn nên kiểm tra chủ đề này vì đó chính xác là những gì họ làm. Nó rất kỹ lưỡng, chặn tất cả ngoại trừ những cái đó và bạn sẽ có các cổng mở mà bạn muốn. ubuntuforums.org/showthread.php?t=1893751
mchid

@ Developer106 Tôi đã thêm một số quy tắc để chặn tất cả ngoại trừ tất cả 22, 53, 80 và 443 và từ chối hoặc chặn mọi cổng khác.
mchid

ok nó chỉ hoạt động khi chỉ định từ chối outnếu tôi nói denymà không nói rằng nó là dành riêng, nó vẫn không hoạt động. Điều gì có thể là nguyên nhân của điều đó?
engma

@ Developer106 những gì không hoạt động, nó không chặn hoặc không cho phép?
mchid

7

FYI: trong trường hợp những người khác có vấn đề này.

Trong đầu ra iptables chi tiết, tôi nhận thấy các quy tắc ufw bị thiếu trong các chuỗi INPUT, OUTPUT và FORWARD. Hệ thống của tôi đã kết thúc như thế này khi tôi chạy iptables -F để xóa quy tắc FW tùy chỉnh của mình sau khi bật ufw tại một số điểm. Dường như ufw không thêm các quy tắc cấp cao nhất trở lại nếu một số chuỗi riêng của nó đã tồn tại trong iptables.

Tôi đã kết thúc việc không cài đặt ufw, khởi động lại, chạy 'iptables -F' (để xóa các quy tắc iptables trước đó vẫn còn hoạt động), sau đó cài đặt lại và định cấu hình ufw. Các quy tắc ufw cấp cao nhất hiện đã trở lại. Việc gỡ cài đặt / cài đặt lại có thể không cần thiết. Chỉ cần xóa tất cả các quy tắc ufw khỏi iptables bằng cách vô hiệu hóa ufw và khởi động lại có thể đã thực hiện thủ thuật.

Đây là những chuỗi cấp cao nhất sẽ trông như thế nào (trên Debian 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
Điều này cũng khắc phục vấn đề cho tôi.
Technophobe01

1
Chạy iptables -Xđể xóa tất cả các chuỗi không dựng sẵn và sau đó khởi động lại ufwcũng hoạt động với tôi.
Tblue

0

Tôi gặp vấn đề tương tự, một số loại cấu hình vặn vẹo ufwfail2bantạo chuỗi iptables. Mọi thứ đã bị chặn ngay khi tôi bắt đầu ufw - ngay cả khi không có quy tắc nào trong ufwchính chuỗi. ufwthiết lập lại không giúp đỡ. Tôi hoàn toàn cài đặt lại nó, điều này làm việc ra.

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

Xin chào Maso. Bạn có phải thực hiện bất kỳ cấu hình bổ sung sau khi cài đặt lại?
Hee Jin

0

Đối với tôi vấn đề này đã được giải quyết bằng cách đặt quy tắc từ

sudo ufw default deny outgoing
sudo ufw default allow outgoing

Đó là điều duy nhất hoạt động, không cho phép cổng 53, cho phép dns, v.v.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.