Linuxサーバセキュリティ

[cover photo]
この商品は品切れ再入荷未定です

本書はLinuxサーバを構築、運用していく上で必要不可欠なセキュリティ対策を実践的にまとめたガイドブックです。本書で解説を行っているのは「脅威のモデル化とリスク管理」「境界ネットワークの設計」「安全なリモートアクセス」「トンネル」「ドメインネームサービス」「電子メールのセキュリティ対策」「Webのセキュリティ対策」「ファイルサービスのセキュリティ対策」「システムログの管理」「侵入検知の方法」など。また、nmap、Nessus、swatch、tripwire、snortなど、Linuxのセキュリティ強化に役立つ新しいツールに関しては、インストール/設定から具体的な使い方まで詳しく解説を行っています。本書の記述は主にRed Hat、SuSE、Debianを対象にしていますが、ノウハウの多くは他のディストリビューションでも活用可能です。

訳者まえがき
はじめに

1章 脅威のモデル化とリスク管理
        1.1 リスクの構成要素
                1.1.1 システム資源
                1.1.2 セキュリティ目標
                1.1.3 脅威
                1.1.4 動機
                1.1.5 脆弱性に対する攻撃
        1.2 単純なリスク分析:ALE
        1.3 もう1つの方法:攻撃ツリー
        1.4 防御
                1.4.1 システム資産の価値を下げる
                1.4.2 脆弱性を緩和する
                1.4.3 攻撃の緩和
        1.5 結論
        1.6 参考文献

2章 境界ネットワークの設計
        2.1 用語の解説
        2.2 ファイアウォールとDMZアーキテクチャの種類
                2.2.1 内部と外部のアーキテクチャ
                2.2.2 3ホームファイアウォールによるDMZアークテクチャ
                2.2.3 サブネットで弱く分割されたアーキテクチャ
                2.2.4 サブネットで強く分割されたアーキテクチャ
        2.3 DMZに何を配置するか決める
        2.4 DMZにリソースを割り当てる
        2.5 ファイアウォール
                2.5.1 ファイアウォールの種類
                2.5.2 ファイアウォールの選択
                2.5.3 ファイアウォール設定のガイドライン

3章 Linuxを鍛える
        3.1 OSを鍛える上での原則
                3.1.1 必要なソフトウェアだけをインストールし実行する
                3.1.2 ソフトウェアを最新状態に保つ
                3.1.3 不要なユーザアカウントを削除し、シェルアクセスを制限する
                3.1.4 既知のユーザだけにアクセスを限定する
                3.1.5 chrootされたファイルシステムでサービスを実行する
                3.1.6 SUID=rootの使用を極力なくす
                3.1.7 ログの設定、運用、監視
                3.1.8 システムにファイアウォールをもたせる:iptablesを使ってローカルセキュリティを確保する
                3.1.9 ファイアウォールをスキャナで検査する
                3.1.10 セキュリティ機能を理解して活用する
                3.1.11 要塞ホストの設定をドキュメントにまとめる
        3.2 Bastille Linuxを使って自動的にセキュリティ強化する
                3.2.1 背景
                3.2.2 Bastilleの入手とインストール
                3.2.3 Bastilleを実行する
                3.2.4 InteractiveBastilleに関するいくつかの補足
                3.2.5 Bastilleのログについて
                3.2.6 これでセキュリティは万全か?

4章 安全なリモートアクセス
        4.1 暗号化されていない管理ツールを破棄すべき理由
        4.2 セキュアシェルの基礎知識
                4.2.1 SSHの動作について
                4.2.2 OpenSSHの入手とインストール
                4.2.3 SSHの手引き
                4.2.4 sftpとscpを使って暗号化されたファイル転送を行う
                4.2.5 SSHの設定を調整する
                4.2.6 sshdの設定と実行
        4.3 SSHの応用
                4.3.1 公開鍵暗号
                4.3.2 SSHでの公開鍵暗号
                4.3.3 RSAとDSAの認証の設定と使用法
                4.3.4 ssh-getを使ってパスフレーズの入力を最小にする
                4.3.5 パスフレーズなしの鍵を使ってスクリプトから実行する
                4.3.6 SSHを使ってリモートコマンドを実行する
                4.3.7 SSHを使ったTCPポートフォワーディング:万人のためのVPN
        4.4 その他のツール
                4.4.1 rootでの処理の問題点
                4.4.2 su
                4.4.3 sudo

5章 トンネル
        5.1 StunnelとOpenSSL
                5.1.1 OpenSSL
                5.1.2 Stunnelを使う
                5.1.3 CAを使うための手順
                5.1.4 サーバ上でStunnelを使い、クライアント上で他のSSLアプリケーションを使う
                5.1.5 その他のトンネル用ツール

6章 ドメインネームサービス
        6.1 DNSの基本
        6.2 DNSセキュリティの原則
        6.3 DNSソフトウェアパッケージの選択
        6.4 BINDにセキュリティ対策を施す
                6.4.1 BINDのバージョンに注意する
                6.4.2 BINDの入手とインストール
                6.4.3 BINDの実行環境を整える
                6.4.4 named.confにセキュリティ対策を施す
                6.4.5 ゾーンファイルのセキュリティ
                6.4.6 BINDの高度なセキュリティ:TSIGとDNSSEC
                6.4.7 BINDに関する情報源
        6.5 djbdns
                6.5.1 djbdnsについて
                6.5.2 djbdnsのサービスを選ぶ
                6.5.3 djbdnsが動くしくみ
                6.5.4 djbdnsのインストール
                6.5.5 tinydnsの実行
                6.5.6 djbdnsクライアントプログラムの実行
                6.5.7 BINDとの併用
                6.5.8 rsyncとsshによるゾーン転送の暗号化
                6.5.9 BINDからの移行
        6.6 参考資料
                6.6.1 DNSセキュリティ一般に関する参考資料
                6.6.2 BINDの参考資料
                6.6.3 djbdnsの参考資料

7章 電子メールのセキュリティ対策
        7.1 背景:MTAとSMTPセキュリティ
                7.1.1 電子メールのアーキテクチャ:SMTPゲートウェイとDMZネットワーク
                7.1.2 SMTPセキュリティ
                7.1.4 迷惑メール
                7.1.4 SMTP AUTH
        7.2 SMTPコマンドを使って、SMTPサーバのトラブル解決とテストを行う
        7.3 MTAにセキュリティ対策を施す
        7.4 Sendmail
                7.4.1 Sendmailの長所と短所
                7.4.2 Sendmailのアーキテクチャ
                7.4.3 Sendmailの入手とインストール
                7.4.4 Sendmailの設定:概要
                7.4.5 sendmail.mcの設定
                7.4.6 Sendmailをchrootして実行するための設定
                7.4.7 Sendmailのマップやその他のファイルの設定
                7.4.8 SendmailとSMTP AUTH
                7.4.9 SendmailとSTARTTLS
                7.4.9 TLSを使うSendmailの設定
        7.5 Postfix
                7.5.1 Postfixのアーキテクチャ
                7.5.2 Postfixの入手とインストール
                7.5.3 Postfixを立ち上げるための7つの手順
                7.5.4 Postfixの設定
                7.5.5 マスカレードで内部メールアドレスを隠す
                7.5.6 Postfixをchroot jailで実行する
                7.5.7 Postfixにおけるエイリアス
                7.5.8 迷惑メール対策
        7.6 参考資料
                7.6.1 SMTPの情報
                7.6.2 Sendmailの情報
                7.6.3 Postfixの情報

8章 Webのセキュリティ対策
        8.1 Webサーバのセキュリティ
                8.1.1 問題と対策
                8.1.2 脆弱性とセキュリティ対策のタイミング
                8.1.3 Webセキュリティの原則
        8.2 構築時:Apacheのインストール
                8.2.1 インストールについて
                8.2.2 インストール方法
                8.2.3 Apacheファイル階層のセキュリティ対策
        8.3 設定時:Apacheの設定
                8.3.1 Apacheの設定ファイル
                8.3.2 設定オプション
                8.3.3 静的コンテンツ
                8.3.4 動的コンテンツ: SSI(Server-Side Includes)
                8.3.5 動的コンテンツ:CGI(Common Gateway Interface)
        8.4 実行時:CGIスクリプトのセキュリティ対策
                8.4.1 HTTP、URL、CGI
                8.4.2 CGIプログラミング言語
                8.4.3 フォームデータの処理
                8.4.4 ファイルのインクルード
                8.4.5 プログラムの実行
                8.4.6 フォームからファイルをアップロードする
                8.4.7 データベースへのアクセス
                8.4.8 他のスクリプトのチェック
                8.4.9 注意を怠らない
        8.5 そのほかのトピックス
                8.5.1 認証
                8.5.2 アクセスコントロール
                8.5.3 SSL
                8.5.4 セッションとクッキー
                8.5.5 サイト管理:ファイルのアップロード
                8.5.6 新しいフレームワーク:SOAP、Webサービス、REST
                8.5.7 ロボットとスパイダー
                8.5.8 攻撃の検知と回避
                8.5.9 キャッシュ、プロキシ、ロードバランサ
                8.5.10 ログ
        8.6 その他のサーバとWebセキュリティ
                8.6.1 Webサーバ
                8.6.2 アプリケーションサーバ

9章 ファイルサービスのセキュリティ対策
        9.1 FTPのセキュリティ
                9.1.1 FTPセキュリティの原則
                9.1.2 ProFTPDを使って匿名FTPを実現する
        9.2 FTP以外のファイル共有方式
                9.2.1 SFTPとscp
                9.2.2 rsync
        9.3 参考資料

10章 システムログの管理
        10.1 syslog
                10.1.1 syslogの設定
        10.2 Syslog-ng
                10.2.1 Syslog-ngをソースコードからインストールする
                10.2.2 syslog-ngを実行する
                10.2.3 Syslog-ngの設定
                10.2.4 高度な設定
        10.3 loggerを使ってシステムログをテストする
        10.4 システムログファイルの管理
                10.4.1 Red Hat 7とDebian 2.2のログ管理:/sbin/logrotate
                10.4.2 SuSE 7のログ管理
        10.5 swatchを使ってログの監視を自動化する
                10.5.1 swatchのインストール
                10.5.2 swatchの設定の概要
                10.5.3 swatchの高度な設定
                10.5.4 swatchを実行する
                10.5.5 swatchの設定を最適化する
                10.5.6 swatchの設定は一度きりでは終わらない
        10.6 参考資料

11章 侵入検知の手法
        11.1 IDSの原理
                11.1.1 ホストベースのIDS:整合性のチェック
                11.1.2 NIDS:パターンの検知と異常事態の検知
        11.2 Tripwireを使う
                11.2.1 Tripwireの入手、コンパイル、インストール
                11.2.2 Tripwireの設定
                11.2.3 Tripwireによるチェックと更新を実行する
                11.2.4 Tripwireのポリシーを変更する
                11.2.5 その他の整合性チェックプログラム
        11.3 Snort
                11.3.1 Snortの入手、コンパイル、インストールについて
                11.3.2 Snortをパケットアナライザとして使う
                11.3.3 Snortをパケットログとして使う
                11.3.4 SnortをIDSとして設定する
        11.4 参考資料

付録 iptables起動スクリプト

索引

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]