web-dev-qa-db-ja.com

ファイアウォール接続をテストする方法は?

どういうわけか、私は4台のサーバーが関与する新しい実稼働環境のインストールを組織するタスクを担当しました。

ファイアウォールのポートを開くようにネットワーク管理者に要求する必要があります。彼は彼が変更を加えたと私はそれらをチェックする必要があると言います。

私はそれを確認する必要があります:

1つのサーバーアルファは、サーバーベータにSFTPできます。

2サーバーアルファは、サーバーガンマ636上のLDAPに接続できます。

3サーバーアルファはサーバーデルタポート80でWebサービスを表示できます

これを行う方法を知る最良の方法は、サーバーにTelnetで接続することです。たとえば、状況1の場合、アルファにログインしてみました。

alpha> telnet beta.mycompany.com 22

ポート22、636、80に接続できるかどうかをテストするより良い方法はありますか?

4
jeph perro

テストがTELNETクライアントを使用して宛先サーバーで「リッスン」していると仮定すると、TCP接続は完全に有効な方法です。取得したい場合は、「netcat」などのツールを使用できます。このように、スタックをTCP)までテストするだけです。レイヤー7プロトコルが実際には機能せず、さらに機能することは保証できません。

レイヤー7の検証が必要な場合は、問題のプロトコルごとにクライアントプログラムを使用して、接続のソースとなるマシンから、クライアント/サーバーとの何らかの相互作用を実行してみてください。

いつものように、トラフィックが期待どおりの場所に到達しているかどうかが不明な場合は、スニファ(tcpdump、Wiresharkなど)を使用して、パケットが実際に目的の場所に到達していることを確認することをお勧めします彼らに期待しています。ワイヤーのビットを監視するのに代わるものはありません。

3
Evan Anderson

それは本当にあなたが探している検証のレベルに依存します。最も単純な単一ポートTCPサービス(リストされているものなど)の場合、ポートが開いていて接続を受け入れていることを確認するだけです。最も簡単な方法は、nmapを使用することです。上記のポートをチェックするための特定の構文は次のようになります。

nmap -p 22,80,636 192.168.1.1

そして、次の行に沿って結果を返します:

Starting Nmap 5.00 ( http://nmap.org ) at 2011-01-24 16:20 CST
Interesting ports on 192.168.1.1:
PORT    STATE  SERVICE
22/tcp  open   ssh
80/tcp  open   http
636/tcp closed ldapssl

Nmap done: 1 IP address (1 Host up) scanned in 0.23 seconds

ファイアウォールがこれらのポートのいずれかをブロックしている場合、返されるSTATEはfilteredまたはopenではなくclosedになります。

ただし、ファイアウォールルールのみが検証されます。サービスが必ずしもポートで実行されていること、またはサービスが正しく動作していることは確認されません。そのためには、チェック対象のサービスを理解したチェックを実行する必要があります。

2