Garage labsサーバー部8Uに参加しました。~Linuxサーバーのセキュリティ対策シリーズpart1

ひとりで作業をしているとどうしても新しい技術情報に追いつけないので、サーバーインフラ寄りの勉強会には積極的に参加して、情報収集やエンジニアのみなさんとの交流を図るようにしています。
その中でも、コワーキングスペースGarage labsで開催されるサーバー部では、「Linuxサーバーのセキュリティ対策シリーズ」として発表させていただいています。

これは、2013年5月10日のサーバー部8Uで発表したpart1のスライドです。

iptablesの設定例では、基本的にポート制御しか行わず、DoSやPing of Death, SYN Flood等の攻撃への対策ルールは入れていません。
これは以前アクセス数がとても多いプロジェクトのサーバーでこれら対策を入れると、正常な大量のWebアクセスに対応できないという現象を経験したことがあるためです。
パケットの細かい監視はOSに大きな負荷をかけることがあるということですね。
ですので、アクセス数が多いWebサーバーでそういった対策が必要であれば、Webサーバーの手前にIPSのような機器を用意するか、Proxyサーバーを用意するという方法が考えられますが、そうすると、それらの機器やサーバーインスタンスの冗長化する必要があるので、なかなか大変ですね。

もうひとつ補足します。
さくらのVPSにおけるiptalbesの設定例として、よく下記3つのアクセス許可ルールが記載されていますが、通常は不要と思います。

-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT

 

 → プロトコル50(ESP), 51(AH)。IPSecによるVPNサーバを立てるのでなければ不要と思います。

-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

 

 → avahi-daemon等によるマルチキャストDNSを使用しないのであれば不要。マルチキャストDNS、使ったことありません。

-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT

 

 → cups等による印刷データ送受信を使用しないのであれば不要。インターネット上のサーバで、このプロトコルを使用するケースってあるんでしょうか?

この日のサーバー部8Uでは、野村さんの、nginx+VPSサーバー複数台で負荷分散したそのアイデアに感動したのでした。
田名辺さんによる「MyBooks.jpのアーキテクチャ」も、JAWS-UGのときより細かく説明されたので勉強になりました。
https://www.slideshare.net/dateofrock/20130410-18609680

(関連記事)

Follow me!