Linuxセキュリティ クックブック

―システム防御のためのレシピ集

[cover photo]
TOPICS
クックブック , Security , System/Network , Linux
発行年月日
PRINT LENGTH
408
ISBN
4-87311-159-5
原書
Linux Security Cookbook
FORMAT
Print
3,960円
この商品は品切れ再入荷未定です

システムへの不正侵入は後を絶たず、セキュリティ対策はシステム管理者にとって頭の痛い問題です。本書はシステム管理者が遭遇すると思われる200の問題とその解決策を示すレシピ集です。侵入の検知、アクセス制限、暗号化といった基本事項から、SSH、SSL、GunPGなどのツールの使用法まで、セキュリティに関する幅広いトピックをカバー。どんな問題でも必ず納得のいく「料理法」が見つかるはずです。ディストリビューションによるコマンドや設定の違いもフォローしています(RedHat、SuSE、Turbo対応)。

目次

訳者まえがき
はじめに

1章 Tripwireを使ったシステムスナップショット
はじめに
        レシピ1.1 Tripwireをセットアップする
        レシピ1.2 ポリシと設定を表示する
        レシピ1.3 ポリシと設定を変更する
        レシピ1.4 整合性をチェックする(基礎編)
        レシピ1.5 整合性をチェックする(読み込み専用ディスクからの実行編)
        レシピ1.6 整合性をチェックする(リモートマシン編)
        レシピ1.7 整合性をチェックする(上級編)
        レシピ1.8 整合性をチェックする(高価な装置による上級編)
        レシピ1.9 整合性チェックを自動化する
        レシピ1.10 最新の整合性チェックの結果を表示する
        レシピ1.11 データベースを最新の状態にする
        レシピ1.12 データベースにファイルを追加する
        レシピ1.13 チェック対象外のファイルを指定する
        レシピ1.14 Windows VFATファイルシステムをチェックする
        レシピ1.15 Tripwire以外の方法 .. RPMでファイルを検証する
        レシピ1.16 Tripwire以外の方法 .. rsyncで整合性をチェックする
        レシピ1.17 Tripwire以外の方法 .. チェックサムで整合性をチェックする

2章 iptablesとipchainsによるファイアウォール
はじめに
        レシピ2.1 送信元アドレスの検証機能を有効にする
        レシピ2.2 偽造された送信元アドレスからの通信を遮断する
        レシピ2.3 ネットワーク上の通信をすべて遮断する
        レシピ2.4 外部からの受信を遮断する
        レシピ2.5 外部への送信を遮断する
        レシピ2.6 外部からのサービス要求の受信を遮断する
        レシピ2.7 特定のリモートホストからの受信を遮断する
        レシピ2.8 特定のリモートホストへの送信を遮断する
        レシピ2.9 特定のWebサーバへの送信を遮断する
        レシピ2.10 リモートからの受信を遮断する
        レシピ2.11 MACアドレスでアクセスを制御する
        レシピ2.12 SSH接続だけを許可する
        レシピ2.13 他ホストへのTelnet接続を禁止する
        レシピ2.14 サービス特化型のサーバを保護する
        レシピ2.15 pingを無視する
        レシピ2.16 ファイアウォールの設定を表示する
        レシピ2.17 ファイアウォールの設定を削除する
        レシピ2.18 ファイアウォールの設定を挿入する
        レシピ2.19 ファイアウォールの設定を保存する
        レシピ2.20 ファイアウォールの設定を読み込む
        レシピ2.21 ファイアウォールの設定をテストする
        レシピ2.22 ファイアウォールの複雑な設定を構造化する
        レシピ2.23 ファイアウォールのログを出力する

3章 ネットワークアクセス制御
はじめに
        レシピ3.1 ネットワークインタフェースを表示する
        レシピ3.2 ネットワークインタフェースの起動と停止を行う
        レシピ3.3 サービスを有効/無効にする(xinetd)
        レシピ3.4 サービスを有効/無効にする(inetd)
        レシピ3.5 サービスを新規に追加する(xinetd)
        レシピ3.6 サービスを新規に追加する(inetd)
        レシピ3.7 リモートユーザからのアクセスを制限する(SSH)
        レシピ3.8 リモートホストからのアクセスを制限する(xinetd)
        レシピ3.9 リモートホストからのアクセスを制限する(xinetdとlibwrap)
        レシピ3.10 リモートホストからのアクセスを制限する(xinetdとtcpd)
        レシピ3.11 リモートホストからのアクセスを制限する(inetd)
        レシピ3.12 アクセス時刻を制限する
        レシピ3.13 SSHサーバへアクセスできるホストを制限する
        レシピ3.14 SSHサーバへアクセスできるユーザを制限する
        レシピ3.15 サービスのディレクトリ範囲を制限する
        レシピ3.16 DoS攻撃を防ぐ
        レシピ3.17 コネクションを中継する
        レシピ3.18 サービスへのアクセスログを出力する
        レシピ3.19 rootでのログインを禁止する

4章 認証技術
はじめに
        レシピ4.1 PAMを使用するアプリケーションを作成する
        レシピ4.2 PAMを使用してパスワード強度を保持する
        レシピ4.3 PAMを使用してアクセス制御リストを適用する
        レシピ4.4 SSL証明書の有効性を検証する
        レシピ4.5 SSL証明書の内容を表示する
        レシピ4.6 認証局証明書をインストールする
        レシピ4.7 SSL証明書の発行を依頼する
        レシピ4.8 自己署名されたSSL証明書を作成する
        レシピ4.9 認証局をセットアップする
        レシピ4.10 SSL証明書をDER形式からPEM形式へ変換する
        レシピ4.11 Kerberosをセットアップする
        レシピ4.12 Kerberosのレルムにユーザを追加する
        レシピ4.13 Kerberosのレルムにホストを追加する
        レシピ4.14 KerberosをSSHの認証に使用する
        レシピ4.15 KerberosをTelnetで使用する
        レシピ4.16 KerberosをIMAPサーバの認証に使用する
        レシピ4.17 Kerberosをシステム全体の認証に使用する

5章 権限の管理
はじめに
        レシピ5.1 rootログインシェルを実行する
        レシピ5.2 Xアプリケーションをroot権限で実行する
        レシピ5.3 sudoでコマンドを別ユーザの権限で実行する
        レシピ5.4 sudoでパスワード認証を省略する
        レシピ5.5 sudoでパスワード認証を強制する
        レシピ5.6 sudoでホストごとに異なる設定をする
        レシピ5.7 sudoでグループに権限を与える
        レシピ5.8 sudoでディレクトリ内のプログラムを実行する
        レシピ5.9 sudoでコマンドライン引数を禁止する
        レシピ5.10 グループでファイルを共有する
        レシピ5.11 sudoで共有ファイルへの読み込み専用アクセスを許可する
        レシピ5.12 sudoで他ユーザのパスワードを変更する権限を与える
        レシピ5.13 sudoでデーモンを起動/停止する
        レシピ5.14 sudoで限定的なroot権限を与える
        レシピ5.15 sudoでプロセスを強制終了させる
        レシピ5.16 sudoの実行を記録する
        レシピ5.17 sudoのログをリモートホストで取る
        レシピ5.18 SSHでroot権限を共有する
        レシピ5.19 SSHでrootコマンドを実行する
        レシピ5.20 Kerberos suでroot権限を共有する

6章 他ホストへの接続の保護
はじめに
        レシピ6.1 SSHでリモートホストにログインする
        レシピ6.2 SSHでリモートホスト上のプログラムを実行する
        レシピ6.3 SSHでリモートホストのファイルをコピーする
        レシピ6.4 OpenSSH鍵を使用してOpenSSHクライアントをOpenSSHサーバで認証する
        レシピ6.5 OpenSSH鍵を使用してOpenSSHクライアントをSSH2サーバで認証する
        レシピ6.6 SSH2形式の鍵を使用してOpenSSHクライアントをSSH2サーバで認証する
        レシピ6.7 SSH2形式の鍵を使用してSSH2クライアントをOpenSSHサーバで認証する
        レシピ6.8 OpenSSHクライアントとOpenSSHサーバとでホスト認証する
        レシピ6.9 SSHでパスワードを入力せずに認証する
        レシピ6.10 自動実行されるコマンドを認証する
        レシピ6.11 ログアウトと同時にSSHエージェントを終了する
        レシピ6.12 SSHコマンドの使い方を単純にする
        レシピ6.13 SSHのデフォルトの動作を変更する
        レシピ6.14 SSHでTCPセッションをトンネリングする
        レシピ6.15 パスワードを管理する

7章 ファイルの保護
はじめに
        レシピ7.1 ファイルパーミッションを使用する
        レシピ7.2 共用ディレクトリを保護する
        レシピ7.3 ディレクトリのファイル一覧表示を禁止する
        レシピ7.4 パスワードによってファイルを暗号化する
        レシピ7.5 ファイルを復号化する
        レシピ7.6 公開鍵暗号を使えるようGnuPGを設定する
        レシピ7.7 鍵リングを表示する
        レシピ7.8 デフォルト鍵を設定する
        レシピ7.9 公開鍵を安全に入手する
        レシピ7.10 鍵リングへ鍵を追加する
        レシピ7.11 指定の受信者のためにファイルを暗号化する
        レシピ7.12 テキストファイルに署名する
        レシピ7.13 ファイルに署名し暗号化する
        レシピ7.14 署名ファイルを生成する
        レシピ7.15 署名を検証する
        レシピ7.16 公開鍵を表示する
        レシピ7.17 私有鍵をバックアップする
        レシピ7.18 ディレクトリ全体を暗号化する
        レシピ7.19 鍵サーバへ鍵を追加する
        レシピ7.20 鍵サーバに新しい署名を送る
        レシピ7.21 鍵サーバから鍵を取得する
        レシピ7.22 鍵サーバの鍵を無効にする
        レシピ7.23 Emacsで暗号化ファイルを編集する
        レシピ7.24 vimで暗号化ファイルを編集する
        レシピ7.25 バックアップを暗号化する
        レシピ7.26 GnuPGでPGPの鍵を使う

8章 メールの保護
はじめに
        レシピ8.1 Emacsでメールを暗号化する
        レシピ8.2 vimでメールを暗号化する
        レシピ8.3 Pineでメールを暗号化する
        レシピ8.4 Mozillaでメールを暗号化する
        レシピ8.5 Evolutionでメールを暗号化する
        レシピ8.6 muttでメールを暗号化する
        レシピ8.7 elmでメールを暗号化する
        レシピ8.8 MHでメールを暗号化する
        レシピ8.9 SSLの使用可能なPOP/IMAPメールサーバを動作させる
        レシピ8.10 SSLを使用したメール送受信をテストする
        レシピ8.11 PineからSSLを使用してメール送受信する
        レシピ8.12 muttからSSLを使用してメール送受信する
        レシピ8.13 EvolutionからSSLを使用してメール送受信する
        レシピ8.14 stunnel経由でメール送受信する
        レシピ8.15 SSHを使用してメール送受信する
        レシピ8.16 PineからSSHを使用してメール送受信する
        レシピ8.17 公開サーバを使用せずにメールを受信する
        レシピ8.18 任意のクライアントからメールを受信するSMTPサーバを使用する

9章 システムのテストと監視
はじめに
        レシピ9.1 John the Ripperでログインパスワードを検証する
        レシピ9.2 CrackLibでログインパスワードを検証する
        レシピ9.3 パスワードなしアカウントを探す
        レシピ9.4 root(スーパユーザ)権限を持つアカウントを調査する
        レシピ9.5 単一コンピュータにおける不審なアカウントを調査する
        レシピ9.6 複数コンピュータにおける不審なアカウントを調査する
        レシピ9.7 検索パスをテストする
        レシピ9.8 ファイルシステム内を効率的に検索する
        レシピ9.9 setuid(またはsetgid)が設定されているプログラムを探す
        レシピ9.10 デバイススペシャルファイルの安全性を確保する
        レシピ9.11 誰でも書き込み可能なファイルを探す
        レシピ9.12 Rootkitの有無を調べる
        レシピ9.13 開いているポートを検証する
        レシピ9.14 ローカルマシンのネットワーク状態を調査する
        レシピ9.15 プロセスのトレース情報を取得する
        レシピ9.16 ネットワークトラフィック状態を監視する
        レシピ9.17 ネットワークトラフィック状態を監視する(GUI使用)
        レシピ9.18 ネットワークトラフィック中の文字列データを探す
        レシピ9.19 セキュアでないネットワークプロトコルの使用を検知する
        レシピ9.20 Snortを使用する
        レシピ9.21 Snortでパケットを傍受する
        レシピ9.22 Snortを使って不正侵入を検知する
        レシピ9.23 Snortの警告メッセージを理解する
        レシピ9.24 Snortでログを出力する
        レシピ9.25 Snortのログを複数ファイルに分類する
        レシピ9.26 Snortのアップグレードやチューニングを行う
        レシピ9.27 システムメッセージをログファイルに送信する(syslog)
        レシピ9.28 システムロガーの設定をテストする
        レシピ9.29 別ホストにログを出力する
        レシピ9.30 ログファイルをローテーションする
        レシピ9.31 システムロガーにメッセージを送る
        レシピ9.32 シェルスクリプトからログを出力する
        レシピ9.33 Perlスクリプトからログを出力する
        レシピ9.34 Cプログラムからログを出力する
        レシピ9.35 複数のログファイルを統合する
        レシピ9.36 logwatchを使用してログファイルを整理する
        レシピ9.37 logwatchのフィルタを定義する
        レシピ9.38 実行されたコマンドすべてを監視する
        レシピ9.39 実行されたコマンドをすべて表示する
        レシピ9.40 プロセスアカウンティングのログを解析する
        レシピ9.41 不正侵入から回復する
        レシピ9.42 不正侵入を報告する

索引