UFWは、許可するルールを設定してもすべてをブロックしています


14

私はubuntuサーバーを使用していますが、次のコマンドを使用してファイアウォールを有効にしようとしています:

ufw default deny incoming
ufw default allow outgoing

ufw allow ssh
ufw allow www
ufw allow https

ufw enable

またufw default deny incoming、最後の1つを作成しようとしましたが、まだ運がありません。ファイアウォールを有効にすると、デフォルトを拒否に設定するとすべてをブロックしますが、許可するように設定すると、ルールが無視されるようにうまく機能します。これは何が原因ですか?

編集

これは私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 enablesudo iptables -L -v -n質問の出力を貼り付けます。私は基礎となるものを興味netfilter/ iptablesものが実際にUFWルールでやっています。:)
トーマスウォード

最初の2つのコマンドは不要です。あなたがする必要があるのは、UFWを有効にすることだけです。
mchid 14年

おっと、mchidは正しい、それらはデフォルトだ、あなたはそれらを必要としない。そうは言っても、iptables最初の2行を除外しても、この問題が解決しない場合は、データを表示したいです。
トーマスウォード

私は私のiptablesのファイルの出力を追加
engmaを

回答:


12

ターミナルを開き、次のコマンドを入力します。

すべての既存のルールを削除するリセットを実行することから始めます。

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

Debianとは異なり、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の友好的でない側面の1つは、拒否ルールが通常どのようにルールを許可するかをトランプする方法です。たとえば、すべてを拒否に設定してからポートを許可に設定することはできません。すべてのポートは引き続きブロックされます。詳細はこちらをご覧ください


これらのルールを追加して、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これらのルールを設定した後に使用する必要がありますか?
エンマ14年

@ Developer106いいえ、ufwを有効にすると、着信拒否はすでにデフォルトに設定されています。これを確認するには、開いているターミナルで次のコマンドを実行しますsudo ufw status verbose。間違っていなければ、そのルールを明示的に設定しても許可されたポートは許可されません。これら以外のすべてのポートをブロックする場合は、まさにこのスレッドを確認することをお勧めします。それは非常に徹底的であり、それらを除くすべてをブロックすると、必要なポートを開くことができます。ubuntuforums.org/showthread.php?t=1893751
mchid

@ Developer106 22、53、80、および443を除くすべてをグローバルにブロックし、他のすべてのポートを拒否またはブロックするルールを追加しました。
mchid 14年

わかりました。具体的outに言うと、拒否するように指定した場合にのみ、拒否するように指定した場合にのみ機能しますdeny。その原因は何でしょうか?
エンマ14年

@ Developer106何が機能しないのか、ブロックしていないのか許可していないのか?
mchid 14年

7

参考:他の人がこの問題を抱えている場合。

詳細なiptables出力で、INPUT、OUTPUT、およびFORWARDチェーンにufwルールが欠落していることに気付きました。ある時点でufwを有効にした後、iptables -Fを実行してカスタムFWルールを削除すると、システムはこのようになりました。ufwは、独自のチェーンの一部がすでにiptablesに存在する場合、トップレベルのルールを追加し直さないようです。

私は結局ufwをアンインストールし、再起動し、「iptables -F」を実行し(まだアクティブだった以前のiptablesルールを削除するため)、その後ufwを再インストールして構成しました。トップレベルのufwルールが復活しました。アンインストール/再インストールは不要な場合があります。ufwを無効にしてリブートすることで、iptablesからすべてのufwルールを削除するだけでうまくいくかもしれません。

トップレベルのチェーンは次のようになります(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
これで問題も解決しました。
Technophobe01

1
iptables -Xすべての非組み込みチェーンを削除するために実行してから再起動してufwもうまくいきました。
Tblue

0

私は同じ問題、ねじ込みと設定のいくつかの種類だufwfail2baniptablesのチェーンをアップ編FU **を。ufwを起動するとすぐに、ufwチェーン自体にルールがなくてもすべてがブロックされました。ufwリセットは助けにはなりませんでした。完全に再インストールしましたが、うまくいきました。

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

こんにちはマソ。再インストール後に追加の構成を行う必要がありましたか?
ヒジン

0

私にとって、この問題は次のルールを設定することで解決しました

sudo ufw default deny outgoing
sudo ufw default allow outgoing

これが唯一の機能であり、ポート53を許可せず、dnsを許可するなどです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.