Iptablesを使ってみる:サーバーに悪い人(そしてボット)を近づけない

開示: あなたのサポートはサイトの運営を維持するのに役立ちます!このページで推奨する一部のサービスについては、紹介料を稼ぎます.


Iptablesは、Linuxカーネルファイアウォールで使用されるIPv4テーブルの構成に使用されるLinuxユーザー空間アプリケーションプログラムです。 Iptablesは、カーネル2.4.x以降で実行されているほとんどのLinuxディストリビューションに含まれています.

Iptablesは、ポリシーチェーンを使用してトラフィックを許可またはブロックする、非常に柔軟なコマンドラインファイアウォールユーティリティです。実行するには管理者特権が必要であり、ユーザーrootが実行する必要があるため、システム管理者を対象としています。.

簡単な歴史

iptablesプロジェクトの開発は、オーストラリアのソフトウェア開発者であるRusty Russellが率いる1998年に始まりました。 Iptablesはipchainsの後継として作成されました。以前のLinuxファイアウォールユーティリティもRussellによって作成されました。.

プロジェクトの拡大に​​伴い、Rusty Russellは1999年にNetfilterコアチームを設立しました。NetfilterLinuxフレームワークとiptablesを作成し、GNU General Public Licenseの下でリリースしました。 2000年3月、NetfilterとiptablesがLinuxカーネルメインラインに統合されました。.

Iptablesの機能とデザイン

異なるプロトコルには異なるカーネルモジュールが使用されます— iptablesはIPv4に、ip6tablesはIPv6に、arptablesはARPに、ebtablesはイーサネットフレームに適用されます.

iptablesは、LinuxカーネルでIPv4パケットフィルタールールのテーブルを設定、維持、検査するために使用されます.

いくつかの異なるテーブルを定義できます。各テーブルには、多数の組み込みチェーンまたはユーザー定義チェーンが含まれています。各チェーンは、一連のパケットと一致できる一連のルールであり、各ルールは、一致したパケットの処理方法を指定します。これはターゲットと呼ばれます.

パケットがルールに一致する場合、その運命はターゲットの値によって決定されます。ACCEPTはパケットを通過させ、DROPはパケットをドロップし、QUEUEはパケットをユーザースペースに渡し、RETURNは前の呼び出しチェーンの次のルールを再開します。.

カーネル構成とアクティブモジュールに応じて、最大5つの独立したテーブルを使用できます。

  • フィルタ 組み込みチェーンINPUT、FORWARDおよびOUTPUTを含むデフォルトのテーブルです。.
  • ナット 組み込みチェーンPREROUTING、OUTPUT、POSTROUTINGを含む、新しい接続を作成するパケットが検出されたときに使用されます.
  • マングル –組み込みチェーンPREROUTING、INPUT、OUTPUT、FORWARD、およびPOSTROUTINGを含む、特殊なパケット変更に使用されます.
  • NOTRACKターゲットと組み合わせて接続追跡からの除外を構成するために使用され、組み込みチェーンPREROUTINGおよびOUTPUTを提供します.
  • 安全保障 必須アクセス制御(MAC)ネットワーキングルールに使用され、INPUT、OUTPUT、およびFORWARD組み込みチェーンを使用.

iptablesが認識するオプションは、コマンド、パラメーター、その他のオプションに分かれています.

Iptablesの使用

Iptablesは、ほとんどのLinuxディストリビューションにプリインストールされているコマンドラインユーティリティです。 iptablesを更新またはインストールする必要がある場合は、次のコマンドを使用できます。

sudo apt-get install iptables

リモートサーバーにログインしていて、そのiptablesルールを構成している場合は、1つの間違ったコマンドで完全にロックアウトされる可能性があり、サーバーで手動で修正する必要がある場合があるため、細心の注意が必要です。.

iptablesルールの設定に使用されるいくつかの一般的で簡単なコマンドを示します。 iptablesの高度な機能の使用を計画している場合は、以下で提供するiptablesのリソースをいくつか確認する必要があります。.

以下を使用して、現在構成されているiptablesルールをリストできます。

iptables –L

ほとんどの場合、以下のコマンドを使用して、システムがデフォルトで接続を受け入れるようにします。

iptables –policy INPUT ACCEPT
iptables –policy OUTPUT ACCEPT
iptables –policy FORWARD ACCEPT

この後、次のように、iptablesを使用して特定のIPアドレスまたはポートからの接続を拒否できます。

iptables -A INPUT -s 192.168.10.10 -j DROP

または、次のようなIPアドレスの範囲からの接続をブロックできます。

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

特定のケースでは、上記とは逆のアプローチを使用できます。すべての接続を拒否し、接続を許可する接続を手動で指定できます。このセットアップは、固有のIPアドレスに接続されている機密データを含むサーバーに使用できます.

iptables –policy INPUT DROP
iptables –policy OUTPUT DROP
iptables –policy FORWARD DROP
iptables -A INPUT -s 192.168.10.10 -j ACCEPT

iptablesルールに加えられたすべての変更は自動的に保存されないことに注意することが重要です。ディストリビューションによって異なるコマンドを使用して、変更を手動で保存する必要があります。これはUbuntuコマンドです。

sudo / sbin / iptables-save

iptablesに加えた変更を保存するのを忘れた場合、それらは次にiptablesサービスが再起動されたときに失われます.

また、flushコマンドを使用して、構成されているすべてのルールをクリアすることもできます。

iptables -F

Iptablesリソース

オンラインのiptablesには多くのリソースがありますが、ほとんどのLinuxディストリビューションにはiptablesが含まれているので理解できます。特に次のような高品質のリソースに依存している場合は、iptablesの学習と使用は問題になりません。

  • Iptablesの公式マニュアルは詳細であり、iptablesのコマンドとパラメーターに関する有用なリファレンスを提供します.
  • Linux 2.4パケットフィルタリングHOWTOドキュメントは、Rusty Russellによって書かれたパケットフィルタリングの非常に詳細な説明です。特に興味深いのは、Iptablesの使用セクションです。.
  • Iptables How Toはiptablesの素晴らしいチュートリアルです.

Iptablesの本

iptablesはLinuxネットワーキングとファイアウォールについて書かれた多くの本で言及されていますが、iptablesを扱っている本は豊富ではありません。.

高品質のオンラインリソースがたくさんあるので、iptablesを扱った本がこれ以上ないのも不思議ではありません。したがって、iptablesに関する本を1冊だけ選びました。

  • Linux Iptables Pocket Reference by Gregor Purdy:このポケットリファレンスは、重要なトラフィックを有効にするか攻撃をブロックするために誰かが急いでポートを開いたり閉じたりするように求められた重要な瞬間に役立ちます。本は微妙な構文をまっすぐに保ち、できるだけ安全にするために入力する必要があるすべての値を思い出すのに役立ちます.

結論

Iptablesは広く使用されているユーティリティなので、多くの作業がLinuxベースのサーバーを中心に扱っている場合は、習得する価値があります。幸いにも、その人気はiptablesがまだ活発に開発されており、新しいバージョンが定期的に導入されることを意味します.

また、オンラインで高品質のiptablesリソースが不足することはありませんが、紙のしわが寄ると、iptablesの本を見つけるのが難しくなります。それでも、デジタルiptablesリソースの膨大な量は、ペーパーバックリソースの不足を補う以上のものです。.

Iptablesは強力でありながら使いやすいユーティリティです。すべての意欲的なLinuxの達人はそれを習得する必要があります.

参考資料とリソース

コンピューターの使用に関連するガイド、チュートリアル、およびインフォグラフィックが他にもあります。

  • Linuxプログラミングの概要とリソース:このLinuxプログラミングの詳細は、すべてのアクションが存在するカーネルにまで及びます。.
  • インターネットソケットを使用したネットワークプログラミング:インターネット上のネットワーキングについてすべて学ぶ.

Unixプログラミングリソース

本当にLinuxを使い始めて、そのためのプログラムの作成を開始したい場合は、学習を始めるのに最適な場所です。Unixプログラミングリソース.

ウェブマスターツールA〜Zの究極のリスト
Unixプログラミングリソース

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map