web-dev-qa-db-ja.com

ufwブロッキングapt

ここで説明したのと同じ問題がありますが、指定された解決策が機能しません。

fwブロッキングaptとdns

ルールufw deny out to anyを追加し、ポート80, 443/tcp, ssh-portを例外として追加してから、iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTを追加すると、apt-getupdateなどを使用できなくなります。

root @ iof304:〜#ufw statusステータス:アクティブ

To                         Action      From
--                         ------      ----
22                         DENY        Anywhere
80                         ALLOW       Anywhere
(ssh)                      LIMIT       Anywhere
22                         DENY        Anywhere (v6)
80                         ALLOW       Anywhere (v6)
(ssh)                      ALLOW       Anywhere (v6)

(ssh)                      ALLOW OUT   Anywhere
Anywhere                   DENY OUT    Anywhere
80                         ALLOW OUT   Anywhere
443/tcp                    ALLOW OUT   Anywhere
(ssh)                      ALLOW OUT   Anywhere (v6)
Anywhere (v6)              DENY OUT    Anywhere (v6)
80                         ALLOW OUT   Anywhere (v6)
443/tcp                    ALLOW OUT   Anywhere (v6)

ここで、ufw deny out to anyを削除します(これですべてが正常に機能します)が、すべてを可能な限り制限したいので、おそらく知っておく必要があるのは、apt-getに使用されるポートです-それらはOUTである必要がありますdeny out to anyだけがすべてをブロックするので、ポート。ただし、apt-getは、そのルールが無効になっているもののダウンロードに問題がないようです(他のINポートがブロックされていないことを示していますか?)

前もって感謝します

2
Katai

私は答えを見つけました:

DNSの場合、ポート53を開く必要があります

ポート123も良い考えのようです

ポート参照: http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

1
Katai

これらのルールは、SSHのレート制限を正常に取得し、httpとhttpsの入出力を許可し、gitを有効にし、aptとaptitudeが問題なく機能するのに役立ちました。

ufw default deny incoming
ufw default deny outgoing
ufw limit ssh
ufw allow svn
ufw allow git
ufw allow out http
ufw allow in http 
ufw allow out https
ufw allow in https
ufw allow out 53
ufw logging on
ufw enable

注:これらのルールは、最初からやり直すためにufw resetで開始しました。

5
TWright

from fw man page

ルールの順序は重要であり、最初の試合が勝ちます。したがって、ルールを追加するときは、最初に具体的なルールを追加し、後でより一般的なルールを追加します。

あなたが投稿した出力から、あなたがルールを許可する前にすべてが捕らえられていることを否定しているように見えます

1
peteches

したがって、誰かに役立つ場合に備えて、Fuseがマウントされたバックエンドストレージソリューションに接続するWebサーバーを目的としたサーバーのufwコマンドの最終リストがあります(Fuse実装はストレージサービスと通信します) http)。

メソッド
[。
/etc/serverと ウィキペディアのポートリスト を利用し、他のさまざまな記事が私をそこに導きました...

リスト
とにかくここに順番にコマンドがあります:

ufw default deny incoming
ufw default deny outgoing
ufw limit 22/tcp
ufw allow 9418/tcp
ufw limit <your custom SSH port here if not 22>/tcp
ufw allow 80
ufw allow 443
ufw allow out 80
ufw allow out 443
ufw allow out 53
ufw allow out 37
ufw allow out 101
ufw allow out 161
ufw allow out 135
ufw allow out 427
ufw allow out 43
ufw allow out 115
ufw allow out 525
ufw allow out 123
ufw allow out 873
ufw allow out 989
ufw allow out 990
ufw allow out 530
ufw allow out 546
ufw allow out 547
ufw allow out 593
ufw enable


正当化
少し説明すると、Apache =ポート80、Apache Secure = 443です(コマンドを実行するには、引用符で囲む必要があります)。
ポート9418はgit用です(ただし、さまざまなプロトコルを使用できます)。530と546はIPV6であり、530と593は両方ともrpcに関連しています。
また、SSHはUDPを経由しません(したがって、2番目のコマンドの/ tcp)。
もう一度誰かを助ける希望。

UPDATE:
上記では、以前はapt-getが完全に機能していませんでした(機能したと思っていましたが、apt-get updateを実行すると、奇妙な結果が得られました。進捗が滞っているようでした)。
とにかく、manページからこの行に気付かなかった:

ufwは、入力フィルタリングと出力フィルタリングの両方をサポートしており、ユーザーはオプションで、着信トラフィックまたは発信トラフィックのいずれかのインまたはアウトの方向を指定できます。 方向が指定されていない場合、ルールは着信トラフィックに適用されます。.。

(私が強調したのは、原因です。それが必要です)。
DNSポート(53)とともに、apt-get機能を適切に機能させるには、発信HTTP/HTTPSポートを有効にする必要があります(理にかなっています...そしてwgetはこれも確実に評価します。 Webサービス、そしておそらく多くの人がリポジトリなどを取得します...)。



その他のリソース
https://stackoverflow.com/questions/323351/does-http-use-udphttps://www.linux.com/learn/introduction-uncomplicated -firewall-ufwhttps://ubuntuforums.org/showthread.php?t=1876124

0
MER