Linuxファイアウォールであるiptablesのビギナーズガイド

Aug 27, 2025
プライバシーとセキュリティ

Iptablesは、Linuxオペレーティングシステム用に構築された非常に柔軟なファイアウォールユーティリティです。 Linuxの初心者であろうとシステム管理者であろうと、iptablesがあなたにとって非常に役立つ方法があるでしょう。最も用途の広いLinuxファイアウォールを構成する方法を説明します。

iptablesについて

iptablesは、ポリシーチェーンを使用してトラフィックを許可またはブロックするコマンドラインファイアウォールユーティリティです。接続がシステム上でそれ自体を確立しようとすると、iptablesはリスト内でそれに一致するルールを探します。見つからない場合は、デフォルトのアクションに頼ります。

iptablesは、ほとんどの場合、Linuxディストリビューションにプリインストールされています。更新/インストールするには、iptablesパッケージを取得するだけです。

sudo apt-get install iptables

のようなiptablesに代わるGUIがあります 発火具 、しかし、いくつかのコマンドを実行すると、iptablesはそれほど難しくありません。特にサーバーにSSHで接続している場合は、iptablesルールを構成する際に細心の注意を払う必要があります。これは、1つの間違ったコマンドが、物理マシンで手動で修正されるまで永久にロックアウトされる可能性があるためです。

チェーンの種類

iptablesは、入力、転送、出力の3つの異なるチェーンを使用します。

入力 –このチェーンは、着信接続の動作を制御するために使用されます。たとえば、ユーザーがPC /サーバーにSSHで接続しようとすると、iptablesはIPアドレスとポートを入力チェーンのルールに一致させようとします。

フォワード –このチェーンは、実際にはローカルに配信されていない着信接続に使用されます。ルーターについて考えてみてください。データは常にルーターに送信されますが、実際にルーター自体に送信されることはめったにありません。データはターゲットに転送されるだけです。システム上で転送を必要とする何らかのルーティング、NAT、またはその他のことを行っていない限り、このチェーンを使用することすらありません。

システムがフォワードチェーンを使用/必要としているかどうかを確認する確実な方法が1つあります。

iptables -L -v

上のスクリーンショットは、数週間稼働していて、着信接続または発信接続に制限がないサーバーのものです。ご覧のとおり、入力チェーンは11GBのパケットを処理し、出力チェーンは17GBを処理しました。一方、フォワードチェーンは、単一のパケットを処理する必要はありません。これは、サーバーが転送を行っていないか、パススルーデバイスとして使用されていないためです。

出力 –このチェーンは発信接続に使用されます。たとえば、howtogeek.comにpingを実行しようとすると、iptablesは出力チェーンをチェックして、接続の試行を許可するか拒否するかを決定する前に、pingとhowtogeek.comに関するルールを確認します。

警告

外部ホストへのpingは、出力チェーンをトラバースするだけでよいように見えますが、データを返すために、入力チェーンも使用されることに注意してください。 iptablesを使用してシステムをロックダウンする場合、多くのプロトコルで双方向通信が必要になるため、入力チェーンと出力チェーンの両方を適切に構成する必要があることに注意してください。 SSHは、両方のチェーンで許可することを忘れている一般的なプロトコルです。

ポリシーチェーンのデフォルトの動作

特定のルールを設定する前に、3つのチェーンのデフォルトの動作をどのようにするかを決定する必要があります。言い換えると、接続が既存のルールと一致しない場合、iptablesに何をさせたいですか?

一致しないトラフィックを処理するようにポリシーチェーンが現在構成されていることを確認するには、 iptables -L コマンド。

ご覧のとおり、grepコマンドを使用してよりクリーンな出力を提供しました。そのスクリーンショットでは、現在、チェーンがトラフィックを受け入れるようになっています。

多くの場合、システムはデフォルトで接続を受け入れる必要があります。以前にポリシーチェーンルールを変更したことがない限り、この設定はすでに構成されている必要があります。いずれにせよ、デフォルトで接続を受け入れるコマンドは次のとおりです。

iptables --policy INPUT ACCEPT
iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD ACCEPT

デフォルトでacceptルールを使用すると、iptablesを使用して、他のすべての接続を引き続き受け入れながら、特定のIPアドレスまたはポート番号を拒否できます。これらのコマンドについては、すぐに説明します。

すべての接続を拒否し、接続を許可する接続を手動で指定する場合は、チェーンのデフォルトポリシーを変更してドロップする必要があります。これを行うことは、機密情報を含み、同じIPアドレスしか接続していないサーバーにのみ役立つ可能性があります。

iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP

接続固有の応答

デフォルトのチェーンポリシーを構成すると、iptablesにルールを追加して、特定のIPアドレスまたはポートとの間の接続が検出されたときに何をすべきかを知ることができます。このガイドでは、最も基本的で一般的に使用される3つの「応答」について説明します。

受け入れる –接続を許可します。

落とす –接続を切断し、発生しなかったように動作します。これは、システムが存在することをソースに認識させたくない場合に最適です。

拒否する –接続を許可しませんが、エラーを送り返します。これは、特定のソースをシステムに接続したくないが、ファイアウォールがそれらをブロックしたことをシステムに知らせたい場合に最適です。

これらの3つのルールの違いを示す最良の方法は、PCがこれらの設定のそれぞれに構成されたiptablesを使用してLinuxマシンにpingを実行しようとしたときにどのように見えるかを示すことです。

接続を許可する:

接続の切断:

接続を拒否する:

特定の接続を許可またはブロックする

ポリシーチェーンを構成すると、特定のアドレス、アドレス範囲、およびポートを許可またはブロックするようにiptablesを構成できるようになります。これらの例では、接続をに設定します 落とす 、ただし、に切り替えることができます 受け入れる または 拒否する 、ニーズとポリシーチェーンの構成方法によって異なります。

注:これらの例では、次を使用します iptables -A 既存のチェーンにルールを追加します。 iptablesはリストの一番上から始まり、一致するルールが見つかるまで各ルールを調べます。ルールを別のルールの上に挿入する必要がある場合は、次を使用できます。 iptables -I [chain] [number] リストに含める必要のある番号を指定します。

単一のIPアドレスからの接続

この例は、IPアドレス10.10.10.10からのすべての接続をブロックする方法を示しています。

iptables -A INPUT -s 10.10.10.10 -j DROP

さまざまなIPアドレスからの接続

この例は、10.10.10.0 / 24ネットワーク範囲内のすべてのIPアドレスをブロックする方法を示しています。ネットマスクまたは標準のスラッシュ表記を使用して、IPアドレスの範囲を指定できます。

iptables -A INPUT -s 10.10.10.0/24 -j DROP

または

iptables -A INPUT -s 10.10.10.0/255.255.255.0 -j DROP

特定のポートへの接続

この例は、10.10.10.10からのSSH接続をブロックする方法を示しています。

iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -j DROP

「ssh」は任意のプロトコルまたはポート番号に置き換えることができます。ザ・ -p tcp コードの一部は、プロトコルが使用する接続の種類をiptablesに通知します。 TCPではなくUDPを使用するプロトコルをブロックしていた場合は、 -p udp 代わりに必要になります。

この例は、任意のIPアドレスからのSSH接続をブロックする方法を示しています。

iptables -A INPUT -p tcp --dport ssh -j DROP

接続状態

先に述べたように、多くのプロトコルは双方向通信を必要とします。たとえば、システムへのSSH接続を許可する場合、入力チェーンと出力チェーンにルールを追加する必要があります。しかし、システムに入るSSHのみを許可したい場合はどうでしょうか。出力チェーンにルールを追加すると、発信SSHの試行も許可されませんか?

そこで接続状態が発生します。これにより、双方向通信を許可するために必要な機能が提供されますが、確立できるのは一方向接続のみです。 10.10.10.10からのSSH接続は許可されていますが、10.10.10.10へのSSH接続は許可されていないこの例を見てください。ただし、セッションがすでに確立されている限り、システムはSSHを介して情報を送り返すことが許可されているため、これら2つのホスト間でSSH通信が可能になります。

iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -m state --state NEW、ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -d 10.10.10.10 -m state --state ESTABLISHED -j ACCEPT

変更の保存

iptablesルールに加えた変更は、変更を保存するコマンドを実行しない限り、次にiptablesサービスが再起動されたときに破棄されます。このコマンドは、ディストリビューションによって異なる場合があります。

Ubuntu:

sudo / sbin / iptables-保存

Red Hat / CentOS:

/ sbin / service iptables save

または

/etc/init.d/iptables save

その他のコマンド

現在設定されているiptablesルールを一覧表示します。

iptables -L

追加する -で オプションはあなたにパケットとバイト情報を与え、そして追加します ーん すべてを数値で一覧表示します。言い換えると、ホスト名、プロトコル、およびネットワークは番号としてリストされます。

現在設定されているすべてのルールをクリアするには、flushコマンドを発行します。

iptables -F

Iptables Walkthrough (Linux Firewall)

Introduction To Linux IPTables

Introduction To Linux Firewall

Using `iptables` On Linux

Iptables Firewall Examples (ITS335, L23, Y14)

07 Iptables Firewall Rules

Firewalling In Linux Using IPtables Sp8scorp

Introduction To Linux: #15 - Iptables

Introduction To Iptables

Introduction To IPTables

Linux Firewall Configurations - Intro To Firewalld (RHCE Topic)

Linux Iptables - Configuring And Implementing Linux Iptables - Learn About Ip Values And Ranges #41

Advanced Linux Firewall Config. With Firewalld Rich Rules And IPset - Rich Rules + Ipset

Ubuntu Server 18.04 Administration Guide Part 11 - Configuring Firewall Rules With UFW

Intro To IPTables With Jason

Understand The Security At OS & Network Level | Configure Linux Firewall | DevOps Tutorial | Edureka


プライバシーとセキュリティ - 最も人気のある記事

Appleは大ざっぱなMacアプリをAppStoreから削除しましたが、研究者が公開された後でのみ

プライバシーとセキュリティ Sep 10, 2025

未取得のコンテンツ Mac App Storeの人気のあるアプリケーションは、ユーザーのWeb履歴を定期的にダウンロードしていましたが、Appleは�..


Windows 10 Sとは何ですか、またどのように異なりますか?

プライバシーとセキュリティ Jul 23, 2025

Microsoftによれば、Windows 10Sは「今日のWindowsの魂」です。これは、学校のPC向けの新しいバージョンのWindowsですが、誰でも利用できます�..


Twitterで誰かをブロックする方法

プライバシーとセキュリティ Feb 3, 2025

そこにはひどい人が何人かいて、Twitterのようなサービスは彼らの中で最悪の事態を引き起こす可能性があります。多くの場合、トロー..


AutoRunマルウェアがWindowsでどのように問題になり、(ほとんど)修正されたか

プライバシーとセキュリティ Nov 28, 2024

未取得のコンテンツ 悪い設計上の決定のおかげで、AutoRunはかつてWindowsの大きなセキュリティ問題でした。 AutoRunは、ディスクとUSBド..


機密データのCD / DVDを安全に破棄するにはどうすればよいですか?

プライバシーとセキュリティ Oct 24, 2025

未取得のコンテンツ 機密情報が記載されたDVDが山ほどあり、データ復旧が不可能になるように安全かつ効果的に廃棄する必要があり�..


Windows8の組み込みのアンチウイルススキャンリムーバブルドライブを作成する方法

プライバシーとセキュリティ Jan 7, 2025

未取得のコンテンツ Windows Defenderは、デフォルトではUSBドライブやSDカードなどのリムーバブルドライブをスキャンしませんが、設定�..


Ubuntuのインストール後にホームフォルダの暗号化を無効にする方法

プライバシーとセキュリティ Jun 9, 2025

Ubuntuは、インストール中にホームディレクトリを暗号化することを提案しています。暗号化にはいくつかの欠点があります。パフォー�..


VirtualBox 4.0 RocksExtensionsと簡略化されたGUI

プライバシーとセキュリティ Dec 23, 2024

未取得のコンテンツ VirtualBoxのファンなら、間違いなく新しい4.0アップデートを入手したいと思うでしょう。拡張機能マネージャー、�..


カテゴリ