web-dev-qa-db-ja.com

UFW / IPTables:githubで認証されたgitアクセスを安全に許可する方法

これが私がUFWでiptablesをセットアップする方法です:

  1. Sudo ufw default deny incoming(すべての着信を拒否)
  2. Sudo ufw default deny outgoing(すべての発信を拒否)
  3. Sudo ufw allow out 53(発信を受け入れる DNSトラフィック 、tcpとudpの両方)
  4. Sudo ufw allow in 80/tcp(ポート80からのすべての着信tcpを受け入れる)
  5. Sudo ufw allow out 80/tcp(ポート80へのすべての発信tcpを受け入れる)
  6. Sudo ufw allow proto tcp from <admin_ip_addr> to <server_ip_addr> port 22(sshの管理者のオフィスIPからの着信tcpポート22を受け入れる)
  7. Sudo ufw allow out 9418/tcp(発信git接続を受け入れる)
  8. Sudo ufw allow proto tcp from <server_ip_addr> to any port 22(GitHubに接続するための発信ssh接続を受け入れる)

英語:HTTP、DNS、管理IPからの着信SSH、発信GIT、発信SSHを除くすべてをブロックします。

残念ながら、その後git clone [email protected]:username/project.gitを実行すると、Initialized empty Git repository in /home/adminuser/exper/project/.git/でスタックします。

次に、Sudo ufw default allow outgoingを使用してすべての発信トラフィックを有効にし、git cloneコマンドを繰り返すと、機能します。

したがって、明らかに、まだブロックされている発信があります。

誰かがこれが何であるか、そしてそれを許可するためにどのルールを追加する必要があるかを教えてもらえますか?

また、次のルールを試しましたが、成功しませんでした。

  1. Sudo ufw allow out 1024:65535/udp
4
Tom

SSHで接続しようとしていますが、それは許可されているようです。問題を診断するときが来ました。パケットをドロップする直前にLOGルールを追加するのが好きなので、何がドロップされているかを正確に把握しています。それ以外の場合は、少しのtcpdumpアクションで、どこにも行かないトラフィックを特定する必要があります。何が削除されているかがわかったら、それを許可するために必要なルールを追加するのは簡単なことです。

3
womble

何度も頭を叩き、2台のサーバーから自分を締め出した後。以下のファイアウォールルールは、「gitclone」を実行するために機能しました。それが皆さんにも役立つことを願っています。

参考:サーバーのプライベートインターフェイスである「eth0」で以下のコマンドを実行しています。ここからgithubサブネットIPを取得しました: https://help.github.com/articles/github-s-ip-addresses/

Sudo ufw reset
Sudo ufw status verbose
Sudo ufw default deny incoming
Sudo ufw default deny outgoing
# For resolving DNS problem
Sudo ufw allow out on eth0 to any port 53
# For allowing access to github.com
Sudo ufw allow out on eth0 to 192.30.252.0/22 port 22
Sudo ufw --force enable
2
Sanket