1 / 197

OSS OS セキュリティ

OSS OS セキュリティ. 株式会社リナックスアカデミー http://www.linuxacademy.ne.jp. 本講座の項目 . サーバセキュリティ概論 ネットワークセキュリティ セキュアシェル セキュア OS 概論 SELinux の仕組みと機能(1) SELinux の仕組みと機能(2) (1/2). 本講座の項目 . SELinux 構築演習 Web 環境におけるセキュリティ Web 環境におけるセキュリティの実務 ログ管理システムの仕組み(1) ログ管理システムの仕組み(2) ログ管理システムの構築実務 (2/2).

vail
Download Presentation

OSS OS セキュリティ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OSS OSセキュリティ 株式会社リナックスアカデミー http://www.linuxacademy.ne.jp

  2. 本講座の項目  • サーバセキュリティ概論 • ネットワークセキュリティ • セキュアシェル • セキュアOS概論 • SELinuxの仕組みと機能(1) • SELinuxの仕組みと機能(2) • (1/2)

  3. 本講座の項目  • SELinux構築演習 • Web環境におけるセキュリティ • Web環境におけるセキュリティの実務 • ログ管理システムの仕組み(1) • ログ管理システムの仕組み(2) • ログ管理システムの構築実務 • (2/2)

  4. 1章 サーバセキュリティ概論 • サーバセキュリティ • Linuxにおけるネットワーク • chkconfigによるサービスの設定 • Kudzu

  5. 脅威の種類 • 侵入による脅威 • 情報漏洩 • 改ざん • バックドア • 踏み台 • サービス妨害 • DoS • 待ち伏せによる脅威 • トロイの木馬型 • 盗聴 • ソーシャルエンジニアリング

  6. 実際に起きた事例(1) • 楽器販売サイトからの情報流出 • 楽器をインターネット上で通信販売している会社のサーバから、過去に利用した利用者の情報が流出 • 流出規模は数万件 • SQLインジェクションといわれる、DBの操作を不正に行う処理 • 販売サイトのシステムにミスが存在 • 流出したデータにはクレジットカードの情報も存在

  7. 実際に起きた事例(2) • DoS 企業ネットワークを機能させなくする • ある企業のネットワーク部門に連絡、膨大な顧問料を要求 • 断ると、その企業のサーバに対して、多くのアクセスが発生。企業のサービス・ネットワークがダウン • 攻撃元は、顧問料を要求している人間

  8. 代表的な対策(1) • トロイの木馬 • アンチウイルスのソフトウエアによる駆除 • ソーシャルエンジニアリング • ワンタイムパスワード • セキュリティに対する教育 • ハードウエアトークン

  9. 代表的な対策(2) • DoS • ネットワークの監視 • Broute Force Attack • ネットワークの監視 • IDS

  10. TCP/IPとネットワーク • Linuxでは、TCP/IPをベースとしたネットワークが動作 • loのループバックのインターフェース • ethXの主にNICが対象となるインターフェース

  11. IPネットワーキング 実習(1) • IPアドレスを確認 • ifconfig -aでインターフェース一覧表示 • ifconfig eth0で、特定インターフェースの設定内容の表示

  12. IPネットワーキング 実習(2) • netstat -rでルーティングテーブル表示 • 隣の生徒にIPアドレスを交換 • 教員がIPアドレスを板書 • ルータのIPアドレスを板書 • localhostにpingを打つ • 隣にpingを打つ • 教員マシンにpingを打つ • ルータにpingを打つ

  13. ポートオープンとその確認(1) • TCP/IPの動作原理は、サーバの対象となるサービスのポートに対して、クライアントがアクセス 例: HTTPはTCP/80なので、WebサーバのTCP/80番へのアクセス • サーバは、常に対象となるサービスのポートをオープン状態で待機 • lsof等のコマンドで、待機状態を確認

  14. ポートオープンとその確認 実習 • netstat –a • netstat –r • netstat –p • lsof これらを順に入力し動作確認

  15. サーバプログラムとは • サーバ上で、常時稼動しているプログラム • クライアントからのリクエストに応じて、サーバプログラムが応答し、レスポンスが応答 • 主要なサービスは、1-1023=Well known portでポートオープン

  16. サービスの起動と終了 • serviceコマンドを利用して、起動/終了 service XXXX start service XXXX stop で起動/終了が可能

  17. ランレベル • Linuxが動作するときの、動作モードのことが「ランレベル」 • ランレベルごとに、違った動作環境を設定済 • ランレベルごとに動作するサービスを変更 • ランレベルは0-6, Sの8段階 • telinit Xでランレベルを変更

  18. kudzuとは • システム起動時に実行されるハードウエア認識ツール • 新しいデバイスが加わった、既存のデバイスが取り出された、等の管理 • 起動時に新しいデバイスがあった場合、追加するかしないか等の判定

  19. kudzuの設定 • kuzduの設定ファイル - /etc/sysconfig/hwconf - ハードウエアの情報が記述されている • 起動時のkudzuのメッセージを確認 - dmesgコマンド

  20. 1章のまとめ • ネットワークにおける脅威 • Linuxのネットワーク機能 • Linuxにおけるサーバ動作の原理 • サーバ機能の提供 • ランレベルとサーバの動作 • kudzuの説明の機能

  21. 2章 ネットワークセキュリティ • iptables • iptalesの仕組み • テーブルとチェイン • ターゲット • ルールの設定 • 実習 • 上級の設定

  22. iptablesとは • パケットフィルタのツール • カーネルレベルに実装されているnetfilter • netfilterに対して制御のルールを指定するのがiptables(コマンド) • アクセス制限によるファイアウォール • パケット転送によるNATルータ等が実現 • パケットは、「チェイン」というところを通過

  23. iptablesの仕組み1 • カーネルのモジュールとコマンドから成立 カーネルが受け取ったパケットを、 カーネル内部で処理 コマンドは、そのルールを与える ためのコマンド ユーザランド プログラム プログラム プログラム iptablesモジュール (netfilter) カーネル ハードウエア

  24. iptablesの仕組み2 • ルールはチェインに対して設定 例: iptables -A INPUT -i eth0 –s 192.168.10.0/24 -p tcp --dport 80 -j DROP インターフェースeth0から入ってくる(=INPUTチェインを通過する)、 発信元アドレスが192.168.10.0/24で 宛先ポートがTCP/80であるパケットをDROPせよ、というルール

  25. iptablesの仕組み3 • 否定に関する 例: iptables –A INPUT ! –s 192.168.20.0/24 –j DROP !は否定(〜ではない)を意味する。   従来の書式では、 iptables –A INPUT –s ! 192.168.20.0/24 –j DROP   というように、!の位置が違っていた。  まだ出回っているiptablesの説明は、この古い形式で書かれている場合が多い。

  26. テーブルとは? • 4つのテーブル「filter」「nat」「mangle」「raw」 • それぞれのテーブルに機能が存在  例: mangle・・・パケットの改変 filter・・・パケットのフィルタリング • それぞれのテーブルの中で利用できるチェイン

  27. チェインとは? チェインは、ルールの集まりでできている 元々組み込まれているチェインがある チェインは独自に設定し、チェインに対してチェインを加えることができる チェインの中に記述されたルールは、ファーストマッチであるため、優先度の高いルールはチェインの中で前の方に書いておく必要がある

  28. ターゲット • チェインに設定されたルールで、対象のパケットをターゲットに送る仕組み • ターゲット自身に機能があり、パケットを送ることで処理を • 全部で20以上あるが、有名なターゲットとして、ACCEPT, DROP, REJECT, MASQUERADE等が存在  例: iptables -A INPUT -i eth0 -s 192.168.10.0/24 -p tcp --dport 80 -j DROP 対象のパケットをDROPターゲットに送る(=落とす)。

  29. ルールの設定 • チェインXXXに対してルールを設定する  iptables -A XXX     ルールの追加  iptables -D XXX     ルールの削除  iptables -i ethX   ルールをethXからパケットが入力されるときに適用  iptables -s X.X.X.X     発信元IPアドレスがX.X.X.Xであるパケットが対象。CIDR形式でも指定可能。  iptables -d XXX     送信先IPアドレスがX.X.X.Xであるパケットが対象。CIDR形式でも指定可能

  30. 実習1 方針 • SSHのアクセス制限を行います。 • 2人でペアになってください。 • 相手のIPアドレスを聞いてください。 • 自分のIPアドレスを相手に伝えてください。

  31. 実習2-1 アクセス制限 • ssh 相手のIPアドレス - アクセスできます。

  32. 実習2-2 アクセス制限 コマンド一覧 iptables –nvL iptables -A INPUT -i eth0 -s 相手のIPアドレス -j DROP iptables –nvL 相手のIPアドレスを発信元IPとするパケットで、eth0からパケットがくるものを、すべてDROPする。という意味。

  33. 実習3-1 アクセス制限後 • もう一度実行してください。 • ssh 相手のIPアドレス ・・・接続できないはずです。

  34. 実習3-2 アクセス制限後 コマンド一覧 • iptables –nvL • iptables –F • iptables –nvL すべてのアクセス制限を解除します。

  35. 実習4 カウンター確認する • 実験2〜3を再度行います。 iptables –nvL を入力しますが、実験2-2の終わりの出力と、実験3-2の終わりの出力を比較してください。 • 設定した条件にマッチした回数と、適用したパケットのバイト数が変わるはずです。

  36. 上級の設定

  37. サーバの構成 • あるサーバを想定し、そのサーバのファイアウォールをiptablesで実現 • 対象とするサーバの構成: - Webサーバ - リモートからSSHアクセスによる操作が可能 - Apache-httpd, sshdが動作 - IPアドレスは192.168.10.100

  38. サーバの特徴1 • 設定上の理念は2つ A「対象ホストが、ネットワーク的にどういう動きをするか完全把握する必要がある」 B「獅子身中の虫」 A「対象ホストが、ネットワーク的にどういう動きをするか完全把握する必要がある」 Apache-httpdが動作している⇒TCP/80がポートオープン sshdが動作している⇒TCP/22がポートオープン 他にオープンしているようであれば、それは停止→lsof等を使って、動いているプロセスと、ポートオープンの状況を調査

  39. サーバの特徴2 • B「獅子身中の虫」 iptablesで設定できるファイアウォール/アクセス制限多くの場合: 「外部から自ホストへのアクセス制限をかける」 それ以外に: 「自ホストから外部へのアクセス制限もかける」 万が一乗っ取り等が発生した場合、他ホストへのアタックの防止

  40. iptablesの設定1 • どちらの方針がよいか? 1. 「全パケット通過で、特定のパケットだけ制限する。」 2. 「全パケットを制限し、特定のパケットだけ通す」 1. vs 2.・・・もちろん2. • そのためのA「対象ホストが、ネットワーク的に・・・完全把握する」 • 実際の設定方法 まず全チェインに対するルール削除と、余分なチェインの削除 INPUT, OUTPUTのチェインのポリシーは「すべて通過させない」 ループバックは全部通す。

  41. iptablesの設定2 • 自ホストTCP/80へのアクセスと、その応答の通信を許可。(HTTP) • 自ホストTCP/22へのアクセスと、その応答の通信を許可。(SSH) • 自ホストからUDP/53 TCP/53へのアクセスと、その応答の通信を許可。(DNS)

  42. iptablesスクリプト表示 • 参考文献 「習うより慣れろ iptablesテンプレート集」 @IT 連載記事 http://www.atmarkit.co.jp/flinux/index/indexfiles/iptablesindex.html

  43. 2章のまとめ • iptablesの動作原理の説明 • iptablesのアクセス制限の実証 • iptablesでWebサーバの設定

  44. 3章 セキュアシェル • telnetサーバの構築 • OpenSSH • sshd_configの設定 • ブルートフォースアタック

  45. telnetとは • TCP 23番ポートで通信 • 相手先のtelnetサーバと通信 • UNIXでリモートのマシンにログイン • 暗号化は(標準では)行われない • セキュリティ的に怖いので、最近は利用頻度が低い

  46. telnetサーバとは • telnetのクライアントに対して応答 • telnetの通信は、ログインだけではない • ルータや様々な機器がtelnetの接続に応答

  47. telnetコマンドとは • UNIX系OSの場合標準で利用可能 • リモートマシンにも接続 • telnet ホスト名 ポート番号で、ホスト名に対してポート番号で接続 • 手動HTTP、手動SMTPの実現

  48. telnetサーバの設定(実習) • yum install telnet-server • /etc/xinetd.d/telnetの設定 disable=yes ⇒ noに変更 • service xinetd restart • telnet-serverはxinetdで管理

More Related