• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SYNFlood攻撃を回避する方法を教えてください!)

SYNFlood攻撃を回避する方法とは?

このQ&Aのポイント
  • SYNFlood攻撃を回避する方法についてお伝えします。
  • SYNFlood攻撃はネットワーク上で発生する脅威の一つです。
  • 対策として、FW側の設定変更やセッション監視スクリプトの導入が考えられます。

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

  • ベストアンサー
  • nnori7142
  • ベストアンサー率60% (755/1249)
回答No.4

 追加補足(3)拝見しました。解釈されている通りかと存じます。Unixサーバでのiptables記述でのTCPアクセス制限ですね。L3スイッチやL2スイッチ、ルーターでのQOS、VLAN等での帯域制限はレスポンスの低下効果がありますので、総合的な判断をしますと何とも言えませんが、レスポンスと可用性等も考えると、専用セキュリティ・ゲートウェイでの運用ですね。

kahotaka
質問者

お礼

お礼が遅くなりました(^^ゞ ご丁寧に何度も説明いただき、ありがとうございました。 大変勉強にもなりました!! また質問することもあるかと思いますが、その折はまたよろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • nnori7142
  • ベストアンサー率60% (755/1249)
回答No.3

 追加補足(2)拝見しました。SYNFlood攻撃については、Apacheのサービス・インスタンスでのタイムアウト記述だけではなく、TCPレベルでの制限が必要になるのが私の解釈です。  Unixサーバでしたら、サーバ側でも「net.ipv4.tcp_tw_recycle=1」、「net.ipv4.tcp_fin_timeout=**」での数値制限やiptables で SYN,RST,ACK SYN を時間/回数で制限する等でしょうか。  SYNFlood攻撃だけではなく、付帯して攻撃手段になり得るのが、長時間に渡るオープン状態のコネクションを大量に発生させるConnection Flood攻撃や偽装したUDPパケットを大量に送りつけるUDPFlood攻撃も御座いますので、より上位のポイントからのトラフィック制御が必要となるのが、現状での通説ですね。  

kahotaka
質問者

補足

丁寧に回答いただき、本当にありがとうございます♪ WebサーバはLinuxですが、サーバ側でtcpレベルの設定をしてやれば、 LBの問題を少しカバーできるという解釈で正しいでしょうか? いずれにせよ、本格的な攻撃を受けたらおそらくはサービス自身は どうしようもないと理解しているつもりです。 その点については、サーバがハングしてノットあれないような対策を しておくことと、速やかに攻撃を把握して必要があればサーバを落と す(?)などの対応の体制が必要なのかと考えています。 「上位のポイントからのトラフィック制御が必要となる」というのは 現状のFW-LB-Webの構成でいえば、FWの位置での制御が必要という 理解で正しいですよね? 初歩的な質問ばかりの繰り返しで申し訳ありませんが、もう少し お付き合いいただけると助かります。

全文を見る
すると、全ての回答が全文表示されます。
  • nnori7142
  • ベストアンサー率60% (755/1249)
回答No.2

 追加補足拝見しました。SYNFlood攻撃に対する帯域制限については解釈している内容で合っているかと存じます。L3スイッチやL2スイッチの中にQOS機能での帯域制限を細かく設定できるタイプが御座います。  それと、ファイアーウォール関連機器又は一般的なルーターは、不正パケットに対するコネクション・リセット機能は付いておりません。業務用セキュリティ・ゲートウェイや業務用ルーターの中にそういった機能が含まれているのみとなります。実際に業務用ルーターを利用で、ファイアーウォール機能に不足を感じているのであれば、既存ルーターの攻撃に対するQOSやVLAN設定にて帯域制限を設けていく形となります。

kahotaka
質問者

補足

丁寧に説明いただき、感謝感謝です!! ありがとうございます!!! 結局、外部サービスを利用しているFWの種類を変えるかUTMにするか しかない感じですね(^_^;) ふと思いついたのですが、LB(ロードバランサ)の後ろにWebサーバ がいるわけですが、Webサーバ側でもタイムアウト値の設定があるの では???(まだ調べてません)と思いました。 ブラウザ(IE)のタイムアウト値は60分だそうですが、通常それほど 待つことってないと思います。 それは、たとえば中継サーバ(たとえばFW)のタイムアウトにより セッションが遮断されるなどでブラウザのタイムアウト値よりはるか に早くタイムアウト処理がされているのではと考えています。 上記と同じ考え方をすると、Webサーバのタイムアウト値が60分以下 であれば、そのタイムアウトになったらWebサーバ⇒LBにセッション 切断の信号が送られるのでは???つまり、結果としてLBにセッション がたまる事はないのでは??と思いました。 この考え方は正しいでしょうか?ちなみにWebサーバはApache2.2 (おそらく)です。 LB側の仕様の問題もあるかもしれませんので、その点はLB側のメーカ に問い合わせてみようとは思いますが、もし上記に何かお気づきの点が あれば教えていただけると嬉しいです。 どうぞよろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • nnori7142
  • ベストアンサー率60% (755/1249)
回答No.1

 お尋ねの件ですが、攻撃自体TCP/IP の本質的問題なので、防御は難しいですね。  ファイアウォール製品の中には、SYN flood を自動検知して、一定時間以上確立されないままのハーフ・コネクションを強制的にリセットしてしまう機能を持つものもあります。  専用のセキュリティ・ゲートウェイ機器の設置が望ましく、 対応機器としては、Yamaha製「SRT100」や大塚商会様のセキュリティ・ゲートウェイサービス(FortiGate、FireboxX e)等の利用が良いかと存じます。  単純なルーターのみの環境ですと、SYN flood攻撃発生時にその通信のリセット機能は無いものが殆どです。Linuxサーバ等での対策で見ますと、カーネルコンパイル時に「CONFIG_SYN_COOKIES=y」、「/proc/sys/net/ipv4/tcp_syncookiesを1にする」、「コネクション確立時のウェイトタイムを短くする。」等が御座いますが、ウェイトタイム調整出来ない場合、ルータやスイッチによってSYNパケットの帯域制限を行うのが基本となります。

kahotaka
質問者

補足

回答ありがとうございます♪ 要は、現在利用しているFWのサービス機能が足りない(タイムアウト時にRSTを送信しないため)ということでしょうか? ものによってはFWでもRSTを送信するものがあるということでしょうか? 専用のセキュリティ・ゲートウェイ機器の設置とはFWとLBの間に設置すればよいのでしょうか? 回答だけ拝読して、まだ私の方で未調査のため、変な質問でしたら申し訳ありません。 「ウェイトタイム調整出来ない場合、ルータやスイッチによってSYNパケットの帯域制限を行うのが基本となります」 ということは、現状の設定(FW側で1セッション/としている)が現状できる最良の策であり、攻撃に備えるのであれば、LBの最大同時セッション数を3660にする、ということができうる対策ということで間違いないでしょうか。 自分の考えていることが正しいのかどうか、今一不安を覚えているので、ご回答いただければ嬉しいです。 よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • セッションタイムアウトの設定時間通りにならない

    C#によるWebアプリケーションを開発しています。 セッションタイムアウトの設定を240分としていますが、 240分前にタイムアウトになってしまいます。 設定時間通りにタイムアウトにならない事象が発生しており、 原因を究明しています。 【状況】 Web.configとIISにて、セッションタイムアウトの時間を 設定しております。 (1)Web.configの設定 Web.config内にて、 <sessionState timeout = "240" /> のタグを設けて、セッションタイムアウトの時間を240分としています。 (2)IISの設定 IISにて、アプリケーションの構成の【オプション】タブにて、 「セッションのタイムアウト」を240分としています。 【環境】 OS:Windows Server 2003 Webサーバ:IIS6.0 DBサーバ:SQL Server 2005、 セッションタイムアウトが指定時間に行われない原因について、 ご教授の程お願い致します。

  • tomcatのセッションタイムアウト

    tomcatで構築されたWebアプリを検証しています。 Webアプリにログインし、何も操作せずにセッションタイムアウト時間の確認をしているのですが、 tomcatのセッションタイムアウトの設定値通りにセッションが切れません。 web.xmlの設定値は5分を設定しています。 大抵は設定時間+1分程で切れるのですが、 設定時間+3分ほど待ってみてもセッションが切れないケースがあり、原因がわからない状況です。 利用しているtomcatのバージョンは4.1.31です。 何かtomcatの仕様上でセッションタイムアウトの時間が変わるようなことがあるのでしょうか? 当方初心者のため、お手柔らかにお願いいたします。

  • 【Firewall-1】unknown established TCP packet

    こんにちは。 現在、Firewall-1 ver4.1を使ってネットワークを構築しています。DMZセグメントにサーバを設置し、グローバルアドレスに変換して公開しています。 ARPの設定を行いましたが、外部からサーバにアクセスできません。ログを見ると、外部からのTCPのSYNパケットに対する応答が、ファイアウォールで拒否されているようです。rule0でunknown established TCP packetという理由ではじかれています。 どのようにすれば、正常にセッションが張れるでしょうか?

  • JavaScriptで時間のカウントをとる場合は、何に依存するのですか?

    JSPのほうで、beanファイルのsessionのタイムアウトになるまでの時間のカウントをとりたいと思っています。で、その時間のカウントは、JavaScriptでとりたいと思っています。会社のサーバーで皆で共有しているbeanファイルの、sessionのタイムアウトまでの時間をJavaScriptでカウントし、「session のタイムアウトまでxx分前です」のようなアラートを、随時表示させるため です。で、そのカウントをとる場合は、何分おきとかに(例えば15分おきとか) とったほうがよいのか、もしくは常にカウントをとっていたほうがよいのか、 というのがわかりません。JavaScriptでカウントを取る場合、そのカウントはクライアント側(のマシン)にどのくらい依存するものなのか、というのが わからないからです。・・・どなたか、よろしければ、良いアドバイスをください。ちょっとJavaScriptの質問ではない部分もありますが・・・。

  • Apacheでセッションタイムアウトの設定方法

    ApacheでPHPで作ったシステムを動かしています。PHPの画面間のデータの受け渡しはセッションを使って行なっているのですが、 そのセッションが早めにタイムアウトとなってしまうので、 時間を長めに設定したいと思っています。 httpd.confのTimeOutを変更してみたのですが、 これはセッションのタイムアウトとは関係ないようで、 変更しても、動きが変わりませんでした。 httpd.conf内に他にそれらしい項目がないのですが、 セッションのタイムアウトを変更した場合、どこにあるどのファイルを変更すればよいのでしょうか? よろしくお願いします。

  • phpのセションのタイムアウトについて

    os:ターボ8 PHP:4.2.3 phpのセションのタイムアウトについてご教授願えないでしょうか Q1.タイムアウトの初期値は変更できますか? php.iniの session.gc_maxlifetime = 1440 を session.gc_maxlifetime = 60 にしてhttpdを再起動して試してみたのですが1分以上放置してもセッション情報は残ったままでした。 これってどうなのでしょうか? Q2.プログラム内でタイムアウトの設定を確認するシステム変数はありますか? ちゃんとタイムアウトの時間が変わっているか確認したいのですが。 Q3.タイムアウトの時間を無限大にしてタイムアウトしない設定にする方法はありますか? 以上、個別でも結構ですのでお願いします。

    • 締切済み
    • PHP
  • システムエラーの回避法とタイムアウトを早める方法

    ブログのRSSを取得し最新5件の記事タイトルを取得するスクリプトを作りました。 スクリプト自体は問題なく動いているのですが、RSSを発行しているサイトがダウンした場合にちょっと困った事が… 問題1:タイムアウトが長すぎる スクリプトは2回読んでいて、RSSのサーバーがダウンしている場合、タイムアウトしないと画面が表示されません。 タイムアウトが返って来るまでの時間は約6分です。 試しにfsockopenというのを使用してタイムアウトを5秒に設定したところ、タイムアウトは2分まで短縮されました。 タイムアウトが上手く動かないのは一体何故でしょうか? 10秒くらいで接続できなかったらタイムアウトさせて画面を全て表示させたいのですが、どうすればよいのでしょうか。 問題2:エラーを回避させてもシステムエラーになる。 システムエラーがあった場合、システムエラーの画面に飛ぶようになっています。 上記のブログでタイムアウトした場合、システムエラーとなり通常のページが表示されません。 関数に@をつけるとエラーメッセージは表示されないと教えていただきましたが、メッセージが表示されないだけでエラーには変わりありませんでした。 システムエラーとして認識させないためにはどうすればよいでしょうか? 現在のソースはこんな感じです。 $fp = fsockopen("www.hoge.jp", 5); if(!$fp) {  return "タイムアウト\n"; } else {  //RSSの読み込み処理 } アドバイスお願いします。

    • ベストアンサー
    • PHP
  • IISのタイムアウト設定について

    Windows2000+IIS6.0+ActivePerlで、時間がかかる処理を行うプログラムを作成しているのですが、 CGIタイムアウトが発生してしまい、最後まで実行 出来ません。 IISの設定で、ASPのタイムアウトや、セッションタイムアウトを30分とかに設定してもなぜか5分ほどでエラーになってしまいます。 どのようにすればCGIの実行時間を延ばせるのでしょうか?

  • マッシブなNATセッション数にも耐えられ、かつ高速なBBルーター選び

    私の家ではサーバを立ち上げて大規模Web等のミラーリングをしているのですが、少し問題が発生しています。 私のサーバでは、以下のような月当たりアクセス数のサーバを運営しているのですが、NATセッション数不足のせいかNETの寸断が激しく、自宅の回線としばしば共用できないほどに重くなってきてしまいました。 -------------------------------- 192797538KB/月 498095Visits/月 2787838Pages/月 11906641Files/月 -------------------------------- そこで業務用ルーターをと思い、今まで使っていたマイクロ総研のNetGenesis SuperOPT50からYAMAHA RTX1000に付け替えたのですが、より大きなNATセッション数に耐えられるようになった反面、通信スピードが非常に低下してしまいました。また、最近ではsyn flood攻撃をかなり食らっており(ルーター側のFW機能でそれを遮断してはいるものの)NETが寸断したりということが頻繁に起こっています。 最近のブロードバンドルーターはトップスピードだけを重視した傾向にあり、信頼してどこの製品を買う、といったことも不可能になってしまっているので、PCルーターでもするしかないかなと思っている所ですが、RTX1500でないとやはりルーティング能力は足りないのでしょうか…。 特に高アクセスな自宅サーバを運営の方でお勧めのルーターなどありましたら教えてください。宜しく御願いします。

  • セッションのタイムアウト時間変更

    PHP4.4.1+ホスティング セッションのタイムアウト時間を、サーバ設定の変更なしで、 変更することは可能でしょうか? 変更する関数とかって無いでしょうか? ホスティングなので、サーバ設定の変更ができなくて。 ちなみに、今は初期値の1440秒になっています。 よろしくお願いします。

    • ベストアンサー
    • PHP