Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Linuxサーバーのセキュリティ対策 part4

4,793 views

Published on

Published in: Technology

Linuxサーバーのセキュリティ対策 part4

  1. 1. 2014.2.5 Garage labsサーバー部12U Linuxサーバーのセキュリティ対策 part4 ~僕がいつもやっていること 稲葉 一紀@札幌 2014/2/5 Kazunori INABA 1
  2. 2. 自己紹介 稲葉 一紀  サーバーインフラ専門のフリーランスエンジニア@札幌   稲葉サーバーデザイン http://inaba-serverdesign.jp/     おもにアプリ開発企業・エンジニア向けに     セキュリティ・可用性・性能・拡張性を考慮した     ちょっと気の利いた     サーバーインフラ構成設計・設定・支援や既存システムの性能改善調査・支援      を行います。   札幌ライブ情報 公開中 (URLが変わりました)   http://seesaawiki.jp/w/sapporo_rock_live/ 2014/2/5 Kazunori INABA 2
  3. 3. セキュリティ対策 - 基本方針 ・僕がサーバーの設定を行うときにいつもやっていることを発表  します part4(最後) ・できるだけ、信頼できるPaaS, SaaS的な外部サービスや  共用レンタルサーバーを利用して、自分で設定、運用する  サービスを減らす。   - 特にDNSとメールは自前でやらない!   - SSHとHTTP(S)のみ外部公開するのが理想。   - Webアプリケーションサーバー1台の運用保守を専門業者に    任せるといくらかかる?→それぐらいコストがかかること。 ・どんな対策をしても、やられるときはやられる!   それでも、できるだけ少ない手間で基本的な設定を行い、   不正アクセスされる確率を減らす。 2014/2/5 Kazunori INABA 3
  4. 4. セキュリティ対策 - 基本方針 基本方針についてわかりやすい資料 ・インフィニットループ社内勉強会資料  1時間でざっくり教えるサーバ運営超入門  http://www.slideshare.net/infinite_loop/1-10128499 2014/2/5 Kazunori INABA 4
  5. 5. セキュリティ対策 - 項目 Part1 ・SSH ・Firewall ・iptables ・TCP Wrapper ・不要なサービスの停止 ・DNS bind http://www.slideshare.net/kazunoriinaba/20130510-linuxsecurity1-21092608 Part2 - Apache編 ・(再)DNS bind ・Apache http://www.slideshare.net/kazunoriinaba/20130619-linuxsecurity2 2014/2/5 Kazunori INABA 5
  6. 6. セキュリティ対策 - 項目 Part3 - ファイル転送編 ・Apache補足 ・ファイル転送 FTP, SCP/SFTP, WebDAV http://www.slideshare.net/kazunoriinaba/20130717-linuxsecurity3 Part4(今回、最後) ・データベース MySQL ・メール Postfix ・アンチウイルス ClamAV ・改ざん検知 Tripwire ・リアルタイムログ監視 Swatch, logmon ・IDS, IPS Snort 以降、コマンドやConfigは、CentOSにおける例です。 2014/2/5 Kazunori INABA 6
  7. 7. データベース MySQL(1) ・TCP/3306ポートを外部に公開しない。 ・インストール時にmysql_secure_installationコマンドでセキュリ  ティ設定を行う。   - 匿名ユーザーを削除。   - rootユーザーのリモートログインを禁止。(または限定) ・アプリケーション専用ユーザーを作成し、権限とアクセスする  データベーススキーマを限定する。   rootユーザーを使用しない! ・やむを得ずインターネット越しにアクセスする場合はSSLを使用。 2014/2/5 Kazunori INABA 7
  8. 8. データベース MySQL(2) ・phpMyAdmin   - HTTPSを必須として、DBデータ参照時の通信を暗号化する。   - DBユーザーのログイン認証だけではなく、アクセス元IPアドレス    の制限、クライアント証明書、BASIC/Digest認証などと組み    合わせてセキュリティを強化。 2014/2/5 Kazunori INABA 8
  9. 9. メール Postfix(1) ・メールサーバーの設定、運用は大変!   - マルチバーチャルドメイン、メーリングリスト、ウイルスチェック、    スパムメールフィルタ、暗号化通信、Webメール、PostfixAdmin等    のGUI管理ツールなどなど。   - SMTPポートへのログインチャレンジも多い。   ※Webサーバー上でメールサーバーも運用する場合は、運用保守    費を5割増ぐらいにしてもよいのでは。。。 ・さくらのメールボックス(1,000円/年)、Bizメール(1ID 315円/月)  などの外部サービスの利用がおすすめ。 ・メルマガ等の大量メール配信も、携帯キャリアへの送信等の   ノウハウを持っている外部サービス利用がおすすめ。 2014/2/5 Kazunori INABA 9
  10. 10. メール Postfix(2) ・できれば、アプリケーションや監視ツール等による送信のみ  とする。   - 上位ファイアウォール、iptablesでSMTP(TCP/25)を塞ぐ。   - SMTPポートをListenするアドレスを限定する。     inet_interfaces = localhost どうしても受信、SMTP, POP/IMAP環境が必要なとき、、、 ・不正中継(リレー)されないようにする。   mynetworks = 127.0.0.1, <リレーを許可するサーバー> ・POP over SSL/SMTP over SSL/IMAP over SSLによる  暗号化、SMTP Authは必須。 2014/2/5 Kazunori INABA 10
  11. 11. アンチウイルス ClamAV ・オープンソースのアンチウイルスソフト。   設定手順は以下が詳しい。   http://centossrv.com/clamav.shtml ・定期的にフルスキャンを実施する設定を行うとよい。   - スキャン前に、ClamAV自身とウイルス定義をアップデートする。   - ウイルス検知時に即時削除するかメッセージを出力するのみ    かは設定可能。     誤検知することもある。古いPHPパッケージなど。 ・リアルタイムスキャンは、サーバーに負荷がかかり、また、  ディレクトリの作成し直しが必要。(未経験) ・Postfixとの連携でメールのウイルスチェックも可。(未経験) 2014/2/5 Kazunori INABA 11
  12. 12. 改ざん検知 Tripwire ・指定したファイルやディレクトリの変化をチェックしてレポートで  知らせるツール。設定手順は以下など。   http://centossrv.com/tripwire.shtml ・監視対象や検知ポリシーの設定が可能。   - Webコンテンツは静的コンテンツのみ監視対象とする。   - コンテンツだけではなく、各種ConfigやOS基本コマンドの    改ざん(rootkit的な)検知にも有効。 ・短所   - ポリシーファイルに監視対象を設定するのがやや難しい。   - 予定されたConfigの変更でも、状態をアップデートしないと    いちいちアラートメールが届く。(当然だけど)     →運用はわりと大変。 2014/2/5 Kazunori INABA 12
  13. 13. リアルタイムログ監視 Swatch ・指定したログファイルを監視し、指定した文字列が出現したとき  にアラートメールを送信する。    ログイン認証エラー 'authentication failure' など。 ・設定手順は以下など。   http://www.aconus.com/~oyaji/security/swatch.htm ・検知対象の文字列が大量に出現した際の、アラートメールの  送信を抑制する設定が可能。 ・Apacheのエラーログやアプリケーションのログ監視にも便利。 ・監視対象のログファイルの分だけtailプロセスが常駐するので、  メモリ使用量が少し増えることに注意。 2014/2/5 Kazunori INABA 13
  14. 14. リアルタイムログ監視 logmon ・IBMが提供するログ監視ツール   http://www-06.ibm.com/jp/linux/tech/doc/00057580.html ・機能はSwatchとほぼ同等だが、logmonのほうがインストール   が簡単で設定がシンプル。 2014/2/5 Kazunori INABA 14
  15. 15. ソフトウェアIDS, IPS - Snort(1) ・IDS(Intrusion Detection System, 不正侵入検知)として使用   - ルールに基づいてパケットを検査し、不正なアクセスがあればログ    に書き出す(のみ。アクセスはできてしまう)。 ・IPS(Intrusion Prevention System, 不正侵入防止)として使用   - インターネットと防御対象サーバーの間に挟み込む構成    (Inlineモード)。   - iptablesと組み合わせる。   - ルールに基づいてパケットを検査し、不正なアクセスがあれば    パケットを破棄し、ログに書き出す。     →不正アクセスを自動でブロック。   構築手順をまとめました。  http://inaba-serverdesign.jp/blog/20140131/snort_inline_ips.html 2014/2/5 Kazunori INABA 15
  16. 16. ソフトウェアIDS, IPS - Snort(2) Snortの運用 ・不正アクセス発生時の通知はSwatchを使用するとよい。 ・誤検知があるので、ルールのチューニングが必要。   - 事前に十分な動作確認を。   - 無料配布ルールファイルは、かなりのルールがコメントアウト    されていることに注意。 ・攻撃を想定したテストは難しい。   - ツールが少ない。   - 利用しているISP、サーバーサービスによっては外部からの    攻撃テストは申請が必要 or 禁止の場合もあるので注意。     →例えば、AWSは申請が必要。       http://aws.amazon.com/jp/security/penetration-testing/ 2014/2/5 Kazunori INABA 16
  17. 17. まとめ ・信頼できるPaaS, SaaS的な外部サービスや共用レンタル  サーバーを利用して、自分で設定、運用するサービスを  減らそう。 ・基本的な対策を行って、不正アクセスされる確率を減らそう。 ・サーバーやミドルウェアの設定だけでは、アプリケーション  レイヤまでは守れないことに注意しよう。   2014/2/5 Kazunori INABA 17

×