Linuxで動的にIPアドレスのフィルタリングを

このQ&Aのポイント
  • LinuxでIPアドレスによるフィルタリングをする方法についてご相談です。
  • IPアドレスによるフィルタリングを利用シーンや制限方法について考えています。
  • iptables以外の動的なフィルタリングソフトウェアについて教えていただけないでしょうか。
回答を見る
  • ベストアンサー

linuxで動的にIPアドレスのフィルタリングを

お世話になります。 linuxでIPアドレスによるフィルタリングをしたいのですが、どうしたものか悩んでいます。 利用シーンとしてはあるネットワークプログラムの接続許可をIPアドレスで制限することですが、アタックと見なした場合に接続を制限することです。 ソケットに接続された時点でIPアドレスを確認して制限することはできますが、できれば接続すらされなくしたいのです。 IPアドレスがわかっていればiptablesで接続されないようにすることはできますが、運用中に制限するIPアドレスが増えることを想定していますのでiptablesではダメなのかなと思っています。(定義ファイルを書き換えてiptablesの再起動というのはNG) また、自動的に制限するIPアドレスを増やす仕組みも必要です。 自分でiptables相当のプログラムが書ければ問題は解決なのですが仕組みがわからないので手も足も出ません。 A.iptablesの仕組み(どうやって他のプログラムより先にコネクト要求を受けているのか、のあたり) B.iptablesのフィルタリングを動的に増やす運用の方法 C.動的にフィルタリングできる他のソフトウエア のいずれかを教えて頂けないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

>運用中に制限するIPアドレスが増えることを想定していますのでiptablesではダメなのかなと思っています。(定義ファイルを書き換えてiptablesの再起動というのはNG) 定義ファイル書き換えなくても、iptablesのコマンドでルールの追加/削除/変更は可能ですよ。 http://okwave.jp/qa/q7927383.html でちょこっと回答していますけど。 >B.iptablesのフィルタリングを動的に増やす運用の方法 SSHブルートフォースアタックを受けた時に拒否リストに登録する。 という方法をシェルスクリプトなどで対処しているパターンがあります。 「ssh 攻撃 iptables」辺りで検索すると見つかるかと。 # syslog-ng使うパターンやSwatchで監視するパターンなど……。 今回の場合は、どうやって送信元のIPアドレスを取得するか? が問題かも知れませんけど。 # iptablesのLOGとかでしょうかねぇ……。 ってワケで… >ソケットに接続された時点でIPアドレスを確認して制限することはできますが、できれば接続すらされなくしたいのです。 1回は許容する必要があるかも知れません。

miruha2011
質問者

お礼

ありがとうございます。 iptablesは定義ファイルからしか読み込めないものかと思っていました。 おかげで光が見えました。 ちなみに、国内のIPしか接続を許可しないようなiptablesの簡単な設定をご存知ないでしょうか? 今は中国、韓国、ロシアからのアドレスを拒否するリストを使っているのですが何しろ行数が多すぎて読み込みに相当時間がかかってしまっています。

その他の回答 (1)

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

>今は中国、韓国、ロシアからのアドレスを拒否するリストを使っているのですが何しろ行数が多すぎて読み込みに相当時間がかかってしまっています。 地道にやっていくしかない…かと思われます。 まぁ、私なら… ・1回の接続は許容する。(諦める) ・接続されたらIPアドレスから拒否対象かチェックする。(拒否したいIPアドレスのリスト(ネットマスク付きとか)で判定する) ・拒否確定の場合にiptablesで拒否対象に追加。 ってところでしょうか。 iptables再起動したら戻ってしまいますが。 あとは…どのポート使っているのか? が問題でしょうかねぇ。 # 非標準ポートに変更する。というのは対策としてそこそこ効果があるかと。 # 私のトコの自宅サーバではsshが3つ程非標準ポートで空いていますが、接続試行された形跡はないですね。 # sshは公開鍵認証に設定しているので1回くらい接続されたところでまず問題ないから…というのもありますが。

miruha2011
質問者

お礼

やはり地道にリストを追加するしかありませんか・・・ 参考になりました。 どうもありがとうございます。

関連するQ&A

  • iptablesを使用してMACアドレスでフィルタリング

    Linuxサーバーでルーターを作成しiptablesでフィルタリングをしています。 下記のような構成で4台中の1台をIPアドレスではなくMACアドレスにてフィルタリングしたいのですが方法が分かりません。 そもそもMACアドレスによる内部から外部へのネット接続制限をすることはできないのでしょうか?教えてください。 尚、今の設定はiptables -t nat -A POSTROUTING -s 192.168.255.250/31 -o eth0 -j MASQUERADEで通しています。 Linux-iptables Internet---[eth0]GW[eth1]---(192.168.255.250 MACアドレスxx:xx:xx:xx:xx:xx)              +-(192.168.255.251 MACアドレス00:00:00:xx:xx:xx)              +-(192.168.255.252 MACアドレス00:00:00:00:00:00)              +-(192.168.255.253 MACアドレスxx:xx:xx:00:00:00)

  • IPアドレスのフィルタリングについて

    お世話になります。 IPアドレスのフィルタリングの考え方がわからない、または自分の認識で 正しいのか間違っているのかがわかりません。 ご教示いただければ幸いです。 説明書 IP アドレスのフィルタリング機能は、宅内ゲートウェイで設定するセキュリティ対策です。 外部 IP アドレスセグメントのすべてのポートまたは一部のポートと通信するために、イ ントラネットの IP アドレスセグメントのすべてのポートまたは一部のポートを有効/無効 にします。IP アドレスのフィルタリング設定は、イントラネット内のデバイスと外部デバ イスの間の通信を制限するために使用されます。 とあります。 まず、そういえばそもそも「IPアドレスのフィルタリング」を行う目的がわかりません。これをしたい人は、なぜするのですか? ここでは家庭内での設定を想定します。 ①イントラネットというのは、宅内LANという認識でいいでしょうか。たとえば 外部に接続しているルーターのLAN側に、父のPC、母のPC、父のスマホ、母のスマホ、息子のスマホ、娘のタブレットが接続されているとして、これらの構成を「イントラネット」と呼称する ②IPアドレスセグメントのすべてポート、または一部のポートと通信するために これがまったくもってわかりません 。 IPアドレスセグメントというのは、たとえば 同一ネットワーク上の機器は 192.168.22.1 192.168.22.2 192.168.22.3 192.168.22.4 192.168.22.5 192.168.22.6 同一ネットワーク上に置かれている、パソコンやらスマホやらタブレットやらのIPアドレスは、ともにIPアドレスのネットワーク部が同じ (この例の場合、6台のデバイスのネットワーク部が192.168.22.Xで当統一されている) ことだと認識しています。 そしてポートというのは、ルーターのWANポート、LANポート、パソコンのLANポートといった、機器についている物理的な、あの「穴」と認識しています。 そのうえで 「IPアドレスセグメントのポート」とは、いったいなんのことやら さっぱりちんぷんかんぷんなのです。 また LAN側に開始IPアドレス、終了IPアドレスというのは たとえば オ・ト・ナなイケナイ、サイト「サイト名=AAA」のデータを 父のPC=192.168.22.1と 父のスマホ=192.168.22.2 には通すけど 母(妻)のPC=192.168.22.3 母(妻)のスマホ=192.168.22.4 思春期になりかけの息子のスマホ=192.168.22.5 まだ甘えん坊の6歳の娘がよく使うタブレット=192.168.22.6 には通さないために LAN側の開始=192.168.22.3 LAN側の終了=192.168.22.6 と指定すると、この範囲のIPアドレスを持つ機器には、 といった感じでしょうか、AAAのデータが送られないようになる のでしょうか。 あるいは 「フィルタリング方法」にブラックリスト/ホワイトリストを選択するようになっているのですが 「ブラックリスト」を選択したうえで LAN側の開始IPアドレス 192.168.22.3 LAN側の終了IPアドレス 192.168.22.6 を指定すると 192.168.22.3~192.168.22.6がブラックリストであるということになるのでしょうか。 それとも反対で 192.168.22.3~192.168.22.6の範囲のデバイスには「ブラックリスト指定したアドレスとの送受信をさせない」ということなのでしょうか ⇒そうすると、そのブラックリスト指定のIPアドレスの指定をどのように行うのか、疑問です。 自分でもわかっておらず、とりとめのない文章になってしまいまして恐縮です。 こういったことについて、知識のある方のご教示をよろしくお願いいたします。

  • iptables/netfilterでMACアドレスフィルタリング

    iptables/netfilterでMACアドレスフィルタリングできますか?(IPアドレスじゃなく!) Yes or No と説明文 or URL で教えて欲しいです。 わがまますいません、宜しくお願いします。m(_ _)m

  • iptablesでのパケットフィルタリング

    iptables初心者です。 iptablesのパケットフィルタリングで、 プライベートアドレス xxx.0.0.0/255.0.0.0 グローバルアドレス yyy.yyy.0.0/255.255.0.0 からのみ、HTTP、FTP、SSHでの接続を許可したいのですが、どのように記述したらよいかわかりません。 # iptables -A OUTPUT -f -d 192.168.1.1 -j DROP この様な感じで、正しい記述方法をご教授ください。

  • IPアドレスが違う・・・

    アタックブロックの設定をしようと思って進めていると、 通知先パソコンのIPアドレス「現在アクセス中のパソコン」のIPアドレスが「192.***.**.*」なんですが、 私の「ネームサーバIPアドレス」はプライマリ「211.***.**.**」 なんです。 どういう事なんでしょうか? PCのしくみに詳しくないのでわかりません・・・。 外部の人が繋げているという事ではないのでしょうか? 不安です・・・。お願いします!!

  • Cisco IPフィルタリングの参考書

    こんにちは。お世話になります。 Ciscoルータ1712で、IPフィルタリングを設定するための参考書を探しています。基本的なVLAN設定、IPアドレスの割り当て、基本的なルーティングが出来たので、次はフィルタリングを使用したいのです。 他シリーズの参考書や、当該の試験参考書でもよいかもしれませんが、どれを選んだらよいのかさっぱりわかりません。高額で、その他関係ないことが書かれていても構いませんので、どの本がよさそうか教えてください。 どうぞよろしくお願いします。

  • IPアドレスは唯一のアドレス?

    いま、C言語でネットワークプログラミングを勉強しているのですがちょっと疑問に思ったことがあります。 クライアント側からサーバーにIPアドレスを使って接続しローカルの環境では上手く動きました。 しかし、例えばこれを友達などの家でサーバを起動してもらって、自分の家から接続できるんですか? IPアドレスはそれぞれのPCの唯一のアドレスというけれで、実際にはルータを使っていれば同じIPはたくさんあるだろうし。 接続できるとすれば一体どういう仕組みになっているのでしょうか?出来ないならどういう風にすれば出来るのですか?プログラムの方で何かしなくてはならないのでしょうか

  • IPアドレスとスパムについて

    スパムメールが多いので、現在迷惑メール対策ソフトを入れているんですが、 そのフィルタリング項目として、IPアドレス(4つの数字)があります。 スパムのIPアドレスを拒否すると、不都合が起きたりする可能性はありますか? たとえば、同じプロバイダーなどから必要なメールが拒否されたりなど、etc? また、そのIPアドレスを拒否したからといってあまり意味がないなどのご意見があれば、 その訳を教えてください。 自分で調べたんですが、IPアドレスの仕組みがいまいちよくわかっていません。 よろしくお願いいたします。

  • TCP/IPのフィルタリングについて

    TCP/IP フィルタリングを使うように TCP/IPの設定をしたいのですが マイクロソフトのHPでの手引きに従って設定を進めているはずなのに途中でつまづいてしまいます。 どこでつまづくのかと言うと [ネットワーク接続] →[プロパティ] →[ネットワーク] タブ →[インターネット プロトコル (TCP/IP)]→[プロパティ] → [詳細設定] ・・・とここまで順調に手順どおり進められていたのに、 その次にクリックせねばならない[オプション]のタブ項目が詳細設定の中に存在しないのです。 本来[オプション]の項目があり、そこをクリックして、[TCP/IP フィルタリング]→[プロパティ]→、[TCP/IP フィルタリングを有効にする (すべてのアダプタ)]のチェック ボックスをオン・・・ ・・・というような順に進めるはずなのですが・・・。 PCに関する知識はゼロの上、手引書どおりに事が運んでくれないので、一体どうしたらいいのかわからず困り果てています。 私のOSはWinXPのノートパソコンにもともとプリインストールされていたもので、英語版です。 フィルタリングの設定はXPでもプロフェッショナルのみでしか設定できないのでしょうか・・? それとも英語版は日本語版とは違う機能制限でも付いているのでしょうか・・・? それともやはりどこかで順序を間違えているのかもしれません。 多分合っている、というより間違えようが無いとは思うのですが・・・ どなたかその辺の知識のある方、教えてくださるととても助かります。お願いします。

  • IPアドレス

    途中でIPアドレスとサブネットマスクが変わってしまい ローカルエリア接続が 制限があるが接続中とでて ネットにつながらなくなります。 モデムに直結しなおせばIPアドレスが元の状態に戻るのですが そのうちまたIPアドレスが変わってしまいます。 ご回答よろしくお願いします。