ポートでプログラムが実行されていない場合、なぜファイアウォールが必要なのですか?


14

サーバーのポートにTelnetで接続しようとして、そのポートでリッスンするプログラムがない場合、Telnetは「Unable to connect ...」エラーで終了します。という事は承知しています。しかし、どのポートでもリッスンするプログラムがない場合、なぜファイアウォールが必要なのでしょうか?


回答:


31

現在実行中のサービスはないかもしれませんが、明日はどうですか?それらはすべてオフになっていますが、ユーザーはどうですか?unix / windows / macシステムの誰でも、アクセスできるマシンで1024を超えるポートを開くことができます。マルウェアはどうですか?ウイルスはどうですか?また、ポートを開いて世界中に情報を提供したり、ネットワークからの接続をリッスンしたりすることもできます。

ファイアウォールの主な目的は、無効になっていることがわかっているサービスのポートをブロックすることではなく、知らないサービスのポートをブロックすることです。あなたが許可するサービスのために特定の穴だけがパンチされたデフォルトの拒否と考えてください。ユーザーまたはユーザーが起動したプログラムは、アクセスできるシステムでサーバーを起動できます。ファイアウォールは、他の誰かがそのサービスに接続できないようにします。

優れた管理者は、どのサービスを公開する必要があるかを知っており、それらを有効にすることができます。ファイアウォールは、主に、システムまたはネットワークで実行されている未知のサーバーからのリスクを軽減し、中央からネットワークに許可されるものを管理するためのものです。

マシン/サーバーで何が実行されているかを知り、必要なものだけを有効にすることが重要ですが、ファイアウォールは、あなたが知らないことに対する余分な保護を提供します。


1
>「ユーザーが起動したすべてのユーザーまたはプログラムは、アクセスできるシステムでサーバーを起動できます。ファイアウォールは、他の誰かがそのサービスに接続できないようにします。」しかし、これによりサービスが使用できなくなることはありませんか?
カジャミンハジュディン

5
@KhajaMinhajuddinはい!それがまさにポイントです。(-:
gabe。12年

2
@KhajaMinhajuddinあなた設定したサービスのみを世界に公開したいのです。super_spam_virus.exeが起動したsmtpサーバーは、他の感染したシステムからの接続をリッスンしていないときに見たくありません。ファイアウォールはこれを防ぎますが、万能薬ではありません。
ガベ。

super_spam_virus.exeがUnixとLinuxのように聞こえない:)
ユーザー不明

@userunknown true ... a.out、またはシステムにコピーされた/ bin / lsの侵害されたバージョンはどうでしょうか。または、hg serveマシンでWebサーバーを起動する開発者の場合。ポイントは、「デスクトップ」として使用するか「サーバー」として使用するかに関係なく、マシンでサーバーを起動することは簡単なことです。そして、そのサーバーが起動されて、それについてあなたが知らない...まあ、それは楽しみが始まるときです。
ガベ。

3

どのポートでもリッスンするプログラムがない場合、ファイアウォールは必要ありませんが、サーバーは世界中から「密閉」されているため、サーバーに接続することもできません。

他方では、サーバーがポートでリッスンしているローカルで実行するプログラムを持たないが、背後にある他のコンピューターのゲートウェイとして機能するとします。この場合、ファイアウォールを使用してマスカレード(NAT)を管理し、オプションでパケット転送の一部をフィルタリングできます。


これは良い点ですが、サーバーに何かをさせたい場合(通常、opensshとWebサーバーを配置します)。ファイアウォールがあっても、opensshやwebserversのような実行中のアプリを便利にするためにポートを開く必要があります。だから、私が尋ねているのは、ファイアウォールでブロックする必要があり、依然として有用である外部世界へのポートを開くプログラムはありますか?
カジャミンハジュディン

1
はい、あります。サーバーの例ではありませんが、XがインストールされたLinuxマシンがあり、Xがネットワークポートで実行されていると仮定しましょう。自分のコンピューター、おそらくLANの他のコンピューターをXに接続できるようにしたいでしょう。しかし、フランスのJoeがXに接続したくないでしょう。別の例として、サーバー上に複数のVPNサービスを設定し、どのネットワークが他のネットワークを見ることができる(または見えない)かを制御する必要があるとしましょう。または、OpenSSHを持っているが、自宅のコンピューターからのみ接続を許可したいとします。他にも多くの例があります。
パトコスチャバ

1
@KhajaMinhajuddin:sshの場合、を使用し/etc/ssh/sshd_configてマシンを保護する必要があります。PermitRootLoginNoに設定する必要があります。安全なパスワードを使用し、sudoでマシンを保守する必要があります(sudo権限を持つアカウントでログインした後にsudoを使用できます)。ファイアウォールを使用して制限を設定することは、ジョブにとっては間違ったツールです。postgresqlデータベースについても同じことが言えます。データベース構成を使用して、アクセス許可を設定および取り消します。
ユーザー不明

3

厳密に言うと、必ずしも必要ではないかもしれませんが、ファイアウォールは、ネットワークポートを介した接続を単に拒否するよりも多くの機能を提供できることに留意してください。たとえば、DROPとREJECTの動作です。


1
DROPとREJECTの利点は何ですか?
ユーザー不明

よくわかりませんが、DROPが応答しないので、リクエスタはリクエストが受信されたか、マシンが存在するかを知りません。REJECTは、あなたは間違いなくそこにいて、それについて話したくないと言います。そして、もし何かが鍵のかかったドアの後ろにあるなら、保護する価値のあるものを見つける方法を見つけることを試みる価値があるかもしれません。
ジョー

-5

しかし、どのポートでもリッスンするプログラムがない場合、なぜファイアウォールが必要なのでしょうか?

あなたが持っている場合はシングルユーザーのデスクトップではなく、サーバーを既定のUbuntuのインストールのように、実行中のサービスがない場合、あなたは、ファイアウォールを必要としません。

Windowsには、ネットワーキングを実行できるようになった後、メンテナンス、更新、内部メッセージパッシングなどのためにデフォルトで実行されているサービスがいくつかありました。ウィンドウの動作を停止せずにそれらを停止することはできませんでしたが、外部攻撃に対して脆弱です。そのため、Windowsユーザーにはファイアウォールが必要でしたが、誰もがファイアウォールが必要なミームが急速に広まりました。

サーバー管理者であることが多いLinuxの人々に会ったとき、「Linuxにはファイアウォールは必要ありません」とは言わず、「10年近くiptablesのような無料のファイアウォールがあります」と言いました。

パーソナルファイアウォールは、それが保護しなければならシステムの上に座って、いずれかの最高のアイデアではありません。

シングルユーザーのデスクトップシステムでは、パーソナルファイアウォールは必要ありません。


3
ガベからの答えを見て、考え直してください。特に、デスクトップクライアントは攻撃に対して脆弱です。
ニルス

1
@userunknown:ウイルスはデスクトップのユーザーである可能性があります。インストールして設定に失敗したデーモンも同様です。
アンドレパラメ

1
私は長年にわたってセキュリティテストを実施してきましたが、デスクトップを介したアクセスは攻撃を広めるための非常に便利な方法です。Windows、Linux、Solarisなど、何でも構いません。ロックダウンするか、攻撃者に失います。正しい語句はする必要があります完全にあなたの環境でリスクを評価-あなたのデスクトップ上のファイアウォールが必要な場合があります
ロリー・オールソップ

2
@userunknownは、コンピュータをaとして使用しているからとdesktopいって、serverそれがまだ単語ではないという意味ではありません。あなたdesktopserversそれを実行する可能性のあるものをたくさん持っています。
ガベ。

1
CUPS(任意のLinux)、SLPD(SuSE)、および更新後にLinuxで実行される可能性のあるその他のもの(KDEリモート、iSCSIサーバー/クライアント)について考えてください。これらが表示される前にチェックした場合でも。そうした場合、それらをブロックするのは良いことです。ところで- (GUI経由でファイアウォールを有効ドンt allow anything) on RedHat, start CUPS and see if you can connect to it from outside. Then look at のiptables-save`を:出来上がり- CUPSポートは、GUIにアップ示さずに開いている...
ニルス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.