...

6-3-基. OS セキュリティに関する知識

by user

on
Category: Documents
2

views

Report

Comments

Transcript

6-3-基. OS セキュリティに関する知識
OSS モデルカリキュラムの学習ガイダンス
6-3-基. OS セキュリティに関する知識
1. 科目の概要
OS のセキュリティを確保するために必要な機能を、Linux を題材として解説する。ロー
カルで利用する際のセキュリティ対策を示し、さらにネットワーク経由で利用する際のセ
キュリティ対策のうち、とくに OS のセキュリティ管理に必要な部分に焦点を当てて説明す
る。
2. 習得ポイント
本科目の学習により習得することが期待されるポイントは以下の通り。
習得ポイント
シラバスの対応コマ
現在のOSに求められるセキュリティの基本的な概念と、OSをとりまくリスクの
6-3-基-1. システムのセキュリティに関する基
種類とその対策方法など、OSのセキュリティを確保するために必要な事項を
本理念
解説する。
1
ソフトウェアは出荷時にたとえ安全であっても後に脆弱性が発見されたり、あ
6-3-基-2. ソフトウェアの脆弱性とセキュリティ るいはそれまでで想定していなかった攻撃にさらされるようになる。ソフトウェ
アップデート
アのセキュリティアップデートが出された場合は速やかにアップデートを行う
必要がある。
2
Linuxのアクセス制御の基本はユーザID、グループIDによる区別である。具
体的にどのように行われているのか説明を行う。またACLによるアクセス制御
も説明する。
3
6-3-基-3. Linuxにおけるシステムセキュリ
ティの基本と設定方法

説 明
GNU/Linuxにおけるネットワークセキュリティの基本は、不用意なネットワー
6-3-基-4. Linuxにおけるネットワークセキュリ
クアクセスを最小限にすることである。Iptablesによってファイアウォールを設
ティの基本と設定方法
定するなどで対応している。
3
Linuxサーバの運用時に得られるログを利用して、サーバセキュリティ管理を
6-3-基-5. ログを用いたセキュリティ管理の基 行う手法についての基本的な概念と方法を説明する。改ざんが行われたな
本
ど、サーバに対する攻撃が行われたかどうかログを利用してチェックする方
法を解説する。
2
6-3-基-6. 不正なプロセス及び不正なネット
ワーク接続の検知
4
不審なプロセスの動作やネットワーク接続など基本的なコマンドのみを使っ
て調べる方法を解説する。
6-3-基-7. セキュリティを考慮したGNU/Linux
セキュリティを考慮したLinuxサーバの適切な設定
サーバの適切な設定
4
Linuxサーバによるファイアウォールを実現するiptablesの目的や役割につい
6-3-基-8. iptablesによるネットワークからのア
て概説する。またiptablesの具体的な設定方法を紹介し、その運用手順につ
クセス制御
いて解説する。
8
6-3-基-9. 暗号化ファイルシステムの設定と
運用
暗号化ファイルシステムはハードディスク上のデータを暗号化することによっ
て物理的にハードディスクなどの窃盗が行われても情報が外部に漏れること
はない
9
6-3-基-10. DNSに関するセキュリティ対策
DNS (Domain Name System)の基本的な動作とDNSに求められるセキュリティ
要件を解説する。標準的なDNSサーバの実装であるBINDを紹介し、BINDに
おけるセキュリティ対策について述べる。
7,10
【学習ガイダンスの使い方】
1. 「習得ポイント」により、当該科目で習得することが期待される概念・知識の全体像を把握する。
2. 「シラバス」
、「IT 知識体系との対応関係」
、「OSS モデルカリキュラム固有知識」をもとに、必要に応じて、
従来の IT 教育プログラム等との相違を把握した上で、具体的な講義計画を考案する。
3. 習得ポイント毎の「学習の要点」と「解説」を参考にして、講義で使用する教材等を準備する。
OSS モデルカリキュラムの学習ガイダンス
3. IT 知識体系との対応関係
「6-3-基. OS セキュリティに関する知識」と IT 知識体系との対応関係は以下の通り。
科目名
1
2
3
4
Linuxサーバのロー
6-3-基. OSセキュリティに関する OSのセキュリティ機
Linuxのネットワーク Linuxのサーバセ
カルセキュリティ対
知識
能
セキュリティ対策
キュリティ設定
策
5
6
7
Linuxのサーバセ
安全なリモートアク SSLによるサーバ
キュリティ設定演習 セス
VPNとCA
8
9
10
Linuxによるファイア 暗号化ファイルシス DNSに関するセ
ウォール構築
テム
キュリティ対策
<IT 知識体系上の関連部分>
分野
組
織
報
関
シ
連
ス
事
テ
項
ム
と
情
応
用
技
術
1
2
IT-SP 社会的な
観点とプロ
フェッショナル
としての課題
3
IT-IM 情報管理
4
IT-WS Webシステ
ムとその技術
5
ェ
ソ
フ
ト
ウ
ア
の
方
法
と
技
術
IT-WS1.Web技術 IT-WS2.情報アー IT-WS3.デジタル IT-WS4.Web開発 IT-WS5.脆弱性
キテクチャ
メディア
IT-WS6.ソーシャ
ルソフトウェア
IT-PF1.基本デー IT-PF2.プログラ IT-PF3.オブジェ IT-PF4.アルゴリ IT-PF5.イベント IT-PF6.再帰
ミングの基本的 クト指向プログ ズムと問題解決 駆動プログラミ
IT-PF プログラ タ構造
構成要素
ラミング
ング
ミング基礎
CE-SWE0.歴史と CE-SWE1.ソフト CE-SWE2.ソフト CE-SWE3.ソフト CE-SWE4.ソフト CE-SWE5.ソフト CE-SWE6.ソフト CE-SWE7.ソフト CE-SWE8.言語翻 CE-SWE9.ソフト CE-SWE10.ソフト CE-SWE11.ソフ
概要
ウェアプロセス ウェアの要求と ウェアの設計
ウェアのテスト ウェアの保守
ウェア開発・保 ウェアプロジェ 訳
ウェアのフォー ウェアの構成管 トェアの標準化
仕様
と検証
守ツールと環境 クト管理
ルトトレランス 理
IT-SIA システム IT-SIA1.要求仕
インテグレー
様
ションとアーキ
テクチャ
IT-NET1.ネット
ワークの基礎
IT-NET ネット
ワーク
IT-SIA2.調達/手 IT-SIA3.インテ IT-SIA4.プロ
配
グレーション
ジェクト管理
IT-NET2.ルー
ティングとス
イッチング
CE-NWK0.歴史と CE-NWK1. 通信
概要
ネットワークの
アーキテクチャ
CE-NWK テレコ
ミュニケーショ
CE-NWK13.クラス CE-NWK14.イン
ン
タシステム
ターネットアプ
リケーション
IT-SIA5.テスト IT-SIA6.組織の IT-SIA7.アーキ
と品質保証
特性
テクチャ
IT-NET3.物理層 IT-NET4.セキュ IT-NET5.アプリ IT-NET6.ネット
リティ
ケーション分野 ワーク管理
CE-NWK2.通信
CE-NWK3.LANと
ネットワークの WAN
プロトコル
CE-NWK4.クライ CE-NWK5.データ CE-NWK6.ワイヤ CE-NWK7.データ CE-NWK8.組込み CE-NWK9.通信技 CE-NWK10.性能評 CE-NWK11.ネット CE-NWK12.圧縮と
アントサーバコ のセキュリティ レスコンピュー 通信
機器向けネット 術とネットワー 価
ワーク管理
伸張
ンピューティン と整合性
ティングとモバ
ワーク
ク概要
グ
イルコンピュー
ティング
CE-NWK15.次世代 CE-NWK16.放送
インターネット
IT-PT1.オペレー IT-PT2.アーキテ IT-PT3.コン
IT-PT4.デプロイ IT-PT5.ファーム IT-PT6.ハード
ピュータインフ メントソフト
ウェア
ウェア
IT-PT プラット ティングシステ クチャと機構
ム
ラストラクチャ ウェア
フォーム技術
CE-OPS0.歴史と CE-OPS1.並行性 CE-OPS2.スケ
CE-OPS3.メモリ CE-OPS4.セキュ CE-OPS5.ファイ CE-OPS6.リアル CE-OPS7.OSの概 CE-OPS8.設計の CE-OPS9.デバイ CE-OPS10.システ
CE-OPS オペレー
概要
ジューリングと 管理
リティと保護
ル管理
タイムOS
要
原則
ス管理
ム性能評価
ティングシステ
ディスパッチ
ム
13
CE-CAO0.歴史と CE-CAO1.コン
CE-CAO コン
概要
ピュータアーキ
ピュータのアー
テクチャの基礎
キテクチャと構
成
14
IT-ITF IT基礎
15
CE-ESY5.ライフ CE-ESY6.要件分 CE-ESY7.仕様定 CE-ESY8.構造設 CE-ESY9.テスト CE-ESY10.プロ CE-ESY11.並行設 CE-ESY12.実装
サイクル
析
義
計
ジェクト管理
計(ハードウェ
ア、ソフトウェ
ア
CE-ESY 組込みシ
CE-ESY13.リアル
CE-ESY14.組込み
CE-ESY15.組込み
CE-ESY16.設計手
CE-ESY17.ツール
CE-ESY18.ネット CE-ESY19.インタ CE-ESY20.センサ CE-ESY21.デバイ CE-ESY22.メンテ CE-ESY23.専門シ CE-ESY24.信頼性
ステム
タイムシステム マイクロコント プログラム
法
によるサポート ワーク型組込み フェースシステ 技術
スドライバ
ナンス
ステム
とフォールトト
設計
ローラ
システム
ムと混合信号シ
レランス
ステム
ェ
ー
12
ア
ュー
ー
ャ
複
数
領
域
に
ま
た
が
る
も
の
13
IT-IM1.情報管理 IT-IM2.データ IT-IM3.データ IT-IM4.データモ IT-IM5.データと IT-IM6.データ
の概念と基礎
ベース問合わせ アーキテクチャ デリングとデー 情報の管理
ベースの応用分
言語
タベース設計
野
CE-SWE ソフト
ウェア工学
11
12
IT-SP5.知的財産 IT-SP6.コン
IT-SP7.組織の中 IT-SP8.プロ
IT-SP9.プライバ
権
ピュータの法的 のIT
フェッショナル シーと個人の自
問題
としての倫理的 由
な問題と責任
7
10
コ
ウタ
ン
ハ
キ
ピ
ア
テ
とド
ク
6
7
8
9
10
11
IT-IAS6.情報セ IT-IAS7.フォレ IT-IAS8.情報の IT-IAS9.情報セ IT-IAS10.脅威分 IT-IAS11.脆弱性
キュリティ分野 ンジック(情報証 状態
キュリティサー 析モデル
拠)
ビス
IT-IPT1.システ IT-IPT2.データ IT-IPT3.統合的 IT-IPT4.スクリ IT-IPT5.ソフト IT-IPT6.種々の IT-IPT7.プログ
IT-IPT 技術を統 ム間通信
割り当てと交換 コーディング
プティング手法 ウェアセキュリ 問題
ラミング言語の
合するためのプ
ティの実現
概要
ログラミング
9
チ
IT-SP1.プロ
IT-SP2.コン
IT-SP3.コン
IT-SP4.チーム
フェッショナル ピュータの歴史 ピュータを取り ワーク
としてのコミュ
巻く社会環境
ニケーション
5
IT-IAS5.攻撃
6
8
シ
ス
テ
ム
基
盤
科目名
1
2
3
4
IT-IAS1.基礎的 IT-IAS2.情報セ IT-IAS3.運用上 IT-IAS4.ポリ
IT-IAS 情報保証
な問題
キュリティの仕 の問題
シー
と情報セキュリ
組み(対策)
ティ
CE-CAO2.メモリ CE-CAO3.インタ CE-CAO4.デバイ CE-CAO5.CPUアー CE-CAO6.性能・ CE-CAO7.分散・ CE-CAO8.コン
CE-CAO9.性能向
システムの構成 フェースと通信 スサブシステム キテクチャ
コスト評価
並列処理
ピュータによる 上
とアーキテク
計算
チャ
IT-ITF1.ITの一 IT-ITF2.組織の IT-ITF3.ITの歴 IT-ITF4.IT分野 IT-ITF5.応用領
般的なテーマ
問題
史
(学科)とそれに 域
関連のある分野
(学科)
CE-ESY0.歴史と CE-ESY1.低電力 CE-ESY2.高信頼 CE-ESY3.組込み CE-ESY4.開発環
概要
コンピューティ 性システムの設 用アーキテク
境
ング
計
チャ
IT-ITF6.IT分野
における数学と
統計学の活用
OSS モデルカリキュラムの学習ガイダンス
4. OSS モデルカリキュラム固有の知識
OSS モデルカリキュラム固有の知識として、ネットワークセキュリティに関する OSS の
利用方法がある。具体的にはファイアウォールを構築する際に用いる iptables や遠隔地か
らのサーバ管理に欠かせない SSH などを含む。
科目名
第1回
第2回
第3回
第4回
第5回
第6回
第7回
第8回
第9回
第10回
(1)インターネッ (1)基本的な行 (1)ネットワーク (1)サーバとし (1) パケット (1)セキュア
(1) トンネリン (1) iptablesの (1) 暗号化
(1) DNSの基
トセキュリティ 動
セキュリティの ての管理方針 フィルタリング シェルの基礎 グの仕組みと フィルタリング ファイルシステ 本動作
の概要
基本設定
と実施方法
による制御
知識
設定
設定
ムとは
(2)リスクの構 (2)改ざん
6-3-基 OS セ 成要素の識別 チェック
キュリティに関 と評価
する知識
(2)盗聴対策
(2)サーバでの (2) アプリケー (2)SSH の応
セキュリティ実 ション層での 用
施方法
制御
(3) スーパー
サーバによる
制御
(2) IPsec に (2) iptablesの
よる暗号化通 NAT設定
信の導入
(3) IPsec に
よる暗号化通
信ワークショッ
プ
(2) 暗号化
ファイルシステ
ムの例
(3) セットアッ
プ
(2) DNSサー
バに求められ
る基本要件
(3) BINDのセ
キュリティ対策
(網掛け部分は IT 知識体系で学習できる知識を示し、それ以外は OSS モデルカリキュラム固有の知識を示している)
スキル区分
セキュリティ分野
習得ポイント
対応する
OSS モデルカリキュラムの科目
6-3
OS セキュリティに関する知識
レベル
基本
6-3-基-1. システムのセキュリティに関する基本概念とリスク対策
第 1 回 OS のセキュリティ機能
コースウェア
6-3-基-1. システムのセキュリティに関する基本概念とリスク対策
現在のシステムに求められるセキュリティの基本的な概念と、システムを取り巻くリスクの種類とその
対策方法など、システムのセキュリティを確保するために必要な事項を解説する。攻撃をうける被害
者となるだけではなく、システムが乗っ取られた場合、今度は加害者の立場になる可能性もあること
を十分に理解すべきである。
【学習の要点】
* システムを管理するには、継続的なセキュリティ情報の収集と対策が不可欠である。それはサー
バであろうとデスクトップであろうと基本は変わらない。
* システムが乗っ取られるような場合、あるいはボット化してしまうような場合、今度は被害者という
立場ではなく、加害者という立場になる可能性もある。
* システムに対する脅威は多様であり、また、その被害も多様である。
インターネット
さまざまな
攻撃手法
セキュリティの確保
守るべきもの
システム資源
顧客情報
・不正アクセス
・なりすまし
・データの改ざん、漏えい、詐取
・スパム
・システムの破壊
・ウィルス、ワーム、トロイの木馬
・サービス妨害(DoS)
・踏み台
管理責任
法的責任
顧客からの信頼
世間の評判
図 6-3-基-1.
システムに求められるセキュリティ
6-3-基-1
【解説】
1) 現在の OS に求められるセキュリティの基本的な概念
セキュリティとは、攻撃に対して防衛し、脅威から守ることである。ここで守るべきものとは、システム
資源に限ったことではなく、例えば顧客などの個人情報の管理責任、その他法的責任、企業や組
織への信頼、世間の評判なども含まれる。
2) OS をとりまくリスクの種類とその対策方法
* 不正アクセス
システムへのアクセス認証を騙し、あるいは回避してシステムの利用を行う行為。
* なりすまし
他のユーザのふりをしたサービスの利用。フィッシングサイトなどもなりすましの1つと考えられ
る。
* データの改ざん、漏えい、詐取
* スパム
無差別大量なメール配信。
* システムの破壊
* マルウェア(悪意のあるプログラム)
他のプログラムに感染し動作し、またさらに感染を引き起こすウィルス。自立したプログラムであ
り、さらに感染を広げる能力を持つワーム。悪意のあるプログラムで表面上なんともないように見
せかけてシステムに侵入するトロイの木馬。これらを総称してマルウェア(悪意のあるプログラム)
と呼ぶ。
* サービス妨害(DoS)
不正なデータ、膨大なデータを送りつけてシステムの機能停止/低下を起こす行為。
* 踏み台(ボット)
不正アクセスやスパムの中継のために乗っ取られたシステム。外部からコントロールするプログ
ラムを設置し、攻撃者が外部からコマンドを与えるとそのプログラムが稼動するような状態になっ
ているのがボットである。
3) システムのセキュリティを確保するために必要な事項
* 多重な保護を施す
攻撃者がシステムの不備をつきデータ奪取に成功しても、さらにそのデータ自体が保護されて
いれば攻撃が成功したとはいえない。例えばメールなどのデータが盗まれたとしても、適切に暗
号化されていれば、攻撃者は内容を解読できない。また、電子署名がされていれば、攻撃者は
内容を改ざんできない。
* 迅速な脆弱性への対処
迅速な脆弱性への対処を行う。例えばセキュリティパッチや、セキュリティ対策を施したプログラ
ミングが挙げられる。
* 専用システムを導入
ファイアウォールやウィルス対策ソフトウェアなどを導入する。生体認証、認証トークン、スマート
カードなどのアクセス制御を導入する。
6-3-基-2
スキル区分
セキュリティ分野
習得ポイント
対応する
OSS モデルカリキュラムの科目
6-3
OS セキュリティに関する知識
レベル
基本
6-3-基-2. ソフトウェアの脆弱性とセキュリティアップデート
第 2 回 Linux サーバのローカルセキュリティ対策
コースウェア
6-3-基-2. ソフトウェアの脆弱性とセキュリティアップデート
ソフトウェアは出荷時にたとえ安全であっても後に脆弱性が発見される、あるいはそれまでで想定し
ていなかった攻撃にさらされるようになる。ソフトウェアのセキュリティアップデートが出された場合は
速やかにアップデートを行う必要がある。
【学習の要点】
* ソフトウェアをインストール後には不具合を修正したバージョンにアップデートするなどのメンテ
ナンスが必要である。
* ソフトウェアは通常の機能のアップデートだけはなく、脆弱性の問題を解決するためのアップデ
ートが頻繁に発生する。
* どのような仕組みでアップデートされるのか Debain 系のディストリビューション(debian / ubuntu
など)を例にとり説明する。
図 6-3-基-2. Debian 系(ubuntu)のアップデート・マネージャ
6-3-基-3
【解説】
1) セキュリティ監査及び勧告
* ソフトウェアの脆弱性は各ディストリビューションパッケージを管理している組織がセキュリティチ
ームを作り対処しているのが一般的である。
* Debian の場合、セキュリティ監査チームによって管理され、セキュリティ勧告(Debian Security
Announce : DSA )が発行される。DSA はソフトウェアの脆弱性情報を管理している Mitre が発行
している CVE (Common Vulnerabilities and Exposures)と互換を持っている。
2) 自動アップデート
* 通常、ソフトウェアのアップデートが必要な場合、DSA が発行されるのと同じタイミングでソフトウ
ェアは対応済みのものが公開される。デスクトップ環境ではアップデート・マネージャが用意され
ている。
* 変更がある場合、自動的にユーザに通知する。ユーザはアップデート・マネージャからの通知を
受け、手順に従いアップデートを行う。
* 他のディストリビューションではユーザに問い合わせることなく自動的にアップデートを行うのが
デフォルトのものもある。どちらが良いかは議論が分かれるところであるが、ユーザの判断にまか
せず強制的ともいえるアップデートをする方が良いという考え方もある。
3) 手動アップデート
* 例えばサーバ環境でリモートログイン端末から操作するだけのような最小限環境の場合、管理
者が手動でアップデートを行わなければならない。そのためには管理者は Debian のセキュリテ
ィアップデート情報に目を配らせておく必要がある。
$ sudo apt-get update ← 最新のアップデート情報に更新
$ sudo apt-get upgrade ←実際にソフトウェアをダウンロードしアップデートする
4) ライフサイクル
* ディストリビューションもセキュリティアップデートのサポート期間が存在する。それも含めた上で
システム環境のライフサイクルを考慮しなくてはならない。
6-3-基-4
スキル区分
OSS モデルカリキュラムの科目
セキュリティ分野
習得ポイント
対応する
6-3
OS セキュリティに関する知識
レベル
基本
6-3-基-3. Linux におけるシステムセキュリティ対策の基本と設定方法
第 2 回 Linux サーバのローカルセキュリティ対策
コースウェア
6-3-基-3. Linux におけるシステムセキュリティ対策の基本と設定方法
Linux システム運用時、ネットワーク利用の有無に関わらず必要となるローカルなセキュリティ管理に
ついて、その基本的な項目の内容と各種の設定方法、セキュリティが保たれているかどうかのチェッ
ク方法を説明する。
【学習の要点】
* 近年の Linux ディストリビューションでは、セキュリティを優先しておりデフォルト状態でも十分な
安全性を保っている。
* 不用意にユーザが設定変更をする、あるいは慣習的に以前のやり方を適用するなど不注意な
変更には注意しなければならない。
* ディストリビューションによってセキュリティに対する方針は違う。
* 必要最小限の権限を与えるようにするのが、セキュリティ対策の基本である。
ブートローダGRUBでのパスワード設定
(OSインストール後に設定する場合 )
/boot/grub/grub.confに以下のような行を追記
password --md5 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
MD5で暗号化したパスワード
不要なユーザの削除
# userdel taro
削除するユーザのログイン名
rootのログインシェルの無効化
/etc/passwd のrootエントリを以下のように変更
root:x:0:0:root:/root:/sbin/nologin
rootのSSHログインの無効化
/etc/ssh/sshd_config のPermitRootLoginエントリを以下のように追記または変更
PermitRootLogin no
ファイルのパーミッションの変更
# chmod go-r sample.dat
(所有者以外は読み取り禁止にする場合 )
ファイル名
図 6-3-基-3. ローカルセキュリティのためのコマンドや設定ファイルの例
6-3-基-5
【解説】
1) 起動
ブートローダはコンピュータの起動時に OS をメモリにロードするプログラムである。ブートローダに
は GRUB(GRand Unified Bootloader)や LILO(LInux LOadrer)があるが、これらにパスワードを設定
することで、許可のないユーザが、リムーバブルメディアやシングルユーザーモードで起動するの
を防ぐことができる。また、BIOS(Basic Input/Output System)には、起動時パスワードが設定できる
ものがあり、BIOS がブートローダを起動する前にパスワード入力を求めるようにできる。BIOS 管理
パスワードが設定できる BIOS では、起動ドライブ等の BIOS 設定を変更する際にパスワード入力を
求めるようにできる。マシンを起動/再起動した際は、いつ行ったかを記録し、不正な起動があった
場合に発見できるようにすべきである。
2) ユーザアカウントとパスワード
知らない人や連絡先のわからない人にアカウントを与えるのは非常に危険である。必要最小限の
アカウントを作成するよう注意する。使われていないアカウントは削除する。ログイン日時/場所を記
録するようにする。複数人でユーザ ID を共有するのは(責任所在の明確化のため)避けなければな
らない。パスワードは安易で見破られやすいものが使われないように運用すべきである。
3) root アカウント
root はマシン全体に対する権限を持つアカウントである。攻撃や操作ミスなどの影響が大きい root
でのアクセスは極力減らすべきである。ユーザ切り替えコマンドの su や、管理者権限でコマンドを
実行できる sudo からのみ管理者権限を利用できるようにし、ログを採取するのが望ましい。root で
のアクセス拒否の設定としては、/etc/passwd ファイルを編集して root のシェルを無効にする、root
ログインを禁止する、SSH デーモンの設定ファイルを編集して SSH での root ログインを禁止する、
PAM(Pluggable Authentication Module)の設定ファイルを編集して root を禁止する、といった方法
がある。sudo で実行できるコマンドやユーザの設定は visudo で行う。
4) ファイルアクセス
ファイルのパーミッションは、所有ユーザと所有グループを設定でき、所有ユーザ/所有グループ/
その他のグループそれぞれについて、読取権/書込権/実行権が設定できるようになっている。不
必要な権限は極力与えないようにすべきである。ただしシステムファイルのパーミッションは安易に
変更しないよう注意が必要である。パーミッションは chown、chgrp、chmod といったコマンドで設定
可能である。umask コマンドを使い新規作成時においては公開範囲が最小限になるようなパーミッ
ション設定をすることが望ましい。ファイル改ざんの監視として Tripwire のような専用ソフトウェアが
あるので、それを導入するのも良い。
5) ログ
通常、/var/log/ディレクトリ配下のファイルにログが出力される。必要な情報を出力し、不要な情報
を抑制するように設定すべきである。一般ユーザで実行しない処理のログは、一般ユーザが書き換
えできないようにパーミッションを設定がされているかチェックする。
6-3-基-6
スキル区分
セキュリティ分野
習得ポイント
対応する
OSS モデルカリキュラムの科目
6-3
OS セキュリティに関する知識
レベル
基本
6-3-基-4. Linux におけるネットワークセキュリティ対策の基本と設定方法
第 3 回 Linux のネットワークセキュリティ対策
コースウェア
6-3-基-4. Linux におけるネットワークセキュリティ対策の基本と設定方法
Linux におけるネットワークセキュリティ管理について、その基本的な項目の内容と各種の設定方法
を解説する。またネットワーク上の通信に関してプライバシを保護するための対策についても触れ
る。
【学習の要点】
* Linux には、ネットワークセキュリティを確保するための様々な技術が搭載されている。
* セキュリティに関する設定項目を理解することで、堅牢なサーバを構築することができる。
TCPwrapperのアクセス制御
/etc/hosts.deny に以下のような内容を記載
ALL: ALL
原則すべて禁止が望ましい
/etc/hosts.allow に以下のような内容を記載
すべてのクライアントに対してsshdサービスを許可
sshd: ALL
ALL : localhost
localhostに対してすべてのサービスを許可
xinetdで起動されるサービスの無効化
/etc/xinetd.confフ ァイルなどの編集も可能だが、他のサービスと同様 chkconfigコマンドで設定可能
# chkconfig time off
# service xinetd restart
サービス名
xinetd自体の無効化
# service xinetd stop
# chkconfig xinetd off
図 6-3-基-4. ネットワークセキュリティのためのコマンドや設定ファイルの例
6-3-基-7
【解説】
1) パケットフィルタリング
Linux では iptables コマンドによりパケットフィルタリングの設定が可能である。ネットワーク層での制
御となるので、ネットワークインタフェース毎の制御が可能である。
2) TCPwrapper
TCPwrapper はサービスやポートに対してアクセス制御や監視を行うためのプログラムであり、外部
からの接続を送信元(ホスト名または IP アドレス)をもとに制限する機能を有する。具体的には、以下
の手順を踏む。
* /etc/hosts.allow に記述されたパターンに合致する場合は接続許可
* hosts.allow に合致せず、/etc/hosts.deny に記述されたパターンに合致すれば接続拒否
* いずれにも合致しなければ接続許可
パケットフィルタリングとは異なり、TCPwrapper はアプリケーション層での制御となる。ネットワークイ
ンタフェース毎の制御はできないが、ドメインの部分一致などによるアクセス制御が可能である。
3) xinetd
xinetd は、設定されたあるサービスへの要求があった場合に、そのデーモンを起動する役割を担
い、スーパーサーバと呼ばれる。スーパーサーバでは、応答速度が遅くなる反面、常駐しない分メ
モリを節約できるので、利用頻度の低いサービスが登録される。TCPwrapper によるアクセス制御が
可能である。
* xinetd の設定
xinetd の設定は/etc/xinetd.conf ファイル(またはこのファイルから呼び出すファイル)に記述する。
必要のないサービスは設定を無効化すべきである。xinetd に登録すべきサービスが何もない場
合は、xinetd 自体を起動しないようにすべきである。
* inetd と xinetd
xinetd は、以前に使われていた inetd を、セキュリティを含めて機能強化したものである。inetd
は使わずに xinetd にすべきである。また、xinetd はそれ自身にアクセス制御の仕組みを備えた
ため、TCPwrapper の併用は減少しているが、併用することにより二重のアクセス制御ができ、セ
キュリティが強化される。
4) 通信の暗号化
多くの Linux ディストリビューションには OpenSSL が標準で導入され、SSL に対応したアプリケーショ
ンで暗号化通信が実現でき、プライバシ等を保護することができる。SSH もその一つである。
6-3-基-8
スキル区分
セキュリティ分野
OSS モデルカリキュラムの科目
6-3
OS セキュリティに関する知識
習得ポイント
6-3-基-5. ログを用いたセキュリティ管理の基本
対応する
第 2 回 Linux サーバのローカルセキュリティ対策
レベル
基本
コースウェア
6-3-基-5. ログを用いたセキュリティ管理の基本
Linux サーバの運用時に得られるログを利用して、サーバセキュリティ管理を行う手法についての基
本的な概念と方法を説明する。改ざんが行われたなど、サーバに対する攻撃が行われたかどうかロ
グを利用してチェックする方法を解説する。
【学習の要点】
* システムを監査するための情報がログにはたくさん記録されており、これを活用しなければ十分
なセキュリティは保てない。
* 大量なログデータを分析するためのツールを使う方法も考えられる。
* システムへの侵入や改竄を考えた場合、ログサーバなどを別途用意しログを管理するなども考
えられる。
/var/log/messages の例
Nov 15 01:26:28 sv syslogd 1.4.1: restart.
Nov 15 01:26:28 sv kernel: klogd 1.4.1, log source = /proc/kmsg started.
Nov 15 01:26:28 sv kernel: Linux version 2.6.18-8.el5 ([email protected]) (gcc ver
sion 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Thu Mar 15 19:57:35 EDT 2007
/var/log/secure の例
Nov 15 01:57:36 sv sshd[1807]: Failed password for root from 192.168.0.1 port 32781 ssh2
Nov 15 01:57:40 sv sshd[1807]: Accepted password for root from 192.168.0.1 port 32781 ssh2
Nov 15 01:57:40 sv sshd[1807]: pam_unix(sshd:session): session opened for user root by (uid=0)
図 6-3-基-5. ログの出力例
6-3-基-9
【解説】
1) ログ管理の重要性
ログ管理は実行を怠ってしまいがちであるが、ログがなければチェックすることが出来ない。
* システムやアプリケーションのほぼあらゆる問題の解決に役立つ
* 不正アクセスの兆候に警告を発してくれる
* システムクラッシュや不正アクセスの証拠データとなる
2) セキュリティのためのログ確認と設定
セ キ ュ リ テ ィ に 関 連 す る 情 報 は 、 通 常 、 /var/log/messages と /var/log/secure あ る い は
/var/log/auth.log で確認できる。syslog などのログユーティリティでは、あらかじめログの設定がさ
れているが、初期設定をそのままカスタマイズせずに使っていては、ログ情報の洪水に埋もれてし
まう。必要なログを採取し、不要なログは抑制する必要がある。以下の記述では、システムが置かれ
ている状況によって異なる判断が必要であることに注意する。
* 正常な状態と異常な状態
正常な状態と異常な状態を見分けるには、日ごろからログを確認し、どんなメッセージが表示さ
れているかを知っておくことが重要で、普段見たことのない情報が表示されていれば何かが起
こっていると認識することができる。
* 成功/失敗
例えば SSH 認証の成功/失敗では、通常は成功であるため、成功した内容の情報は不正アク
セスを監視する際には意味がなく、失敗した内容の情報に意味があることが多い。辞書攻撃な
どによる認証失敗はその典型である。ログ監視ツールにて、SSH 認証失敗を抽出するようにした
り、SSH 認証成功のログ出力を抑制したりすることで、効率的なログ管理が可能となる。
3) syslog
syslog は最も広く利用されているログユーティリティであり、/etc/syslog.conf ファイルにより、以下の
ようなログ出力の設定が可能である。
* ファシリティ (ログの分類)
* 優先度 (デバッグ、情報、警告などのレベル)
* 動作 (通常ファイルや画面などのデバイスファイルの名前)
4) Syslog-ng (syslog new generation)
Syslog-ng は syslog の次世代版として開発され、セキュリティ面で以下のような利点がある。
* ログ監査の自動化
* ログ受信時のアクセス制御
* root 以外のユーザ権限で動作可能
* TCP ポートによるログ転送
5) swatch
swatch はログ監視ユーティリティであり、ログが書き込まれるときに、指定したパターンが見つかった
場合に、指定したコマンドを実行することができる。
6-3-基-10
スキル区分
セキュリティ分野
習得ポイント
対応する
OSS モデルカリキュラムの科目
6-3
OS セキュリティに関する知識
レベル
基本
6-3-基-6. 不正なプロセス及び不正なネットワーク接続の検知
第 4 回 Linux のサーバセキュリティ設定
コースウェア
6-3-基-6. 不正なプロセス及び不正なネットワーク接続の検知
不審なプロセスの動作やネットワーク接続など基本的なコマンドのみを使って調べる方法を解説す
る。サーバへリモートログインでログインしオペレーションするときなど、特別なツールを使えない状
況でどのようなことが出来るかを示す。
【学習の要点】
* 基本的なコマンドで不正なプロセス及び不正なネットワーク接続の検知を試みる。
* プロセスを表示するのは ps や top、あるいは pstree を使う。
* ネットワークの接続は netstat を使う。
* どのプログラムが、どのポートを使っているか調べるには lsof を使う。
図 6-3-基-6. netstat 画面(左上)/top 画面(左下)/pstree(右)
6-3-基-11
【解説】
1) プロセスのチェック
* ps はプロセスの一覧を表示する。最も基本的なコマンドであるが、これによりすべてのプロセス
を目視することが出来る。ps axuw とタイプするとすべてのプロセスの表示とコマンドに与えられ
たオプションが長い行で表示される。
* top は、動作中のプロセスのリストを毎秒更新し、実行時間でソートしリストする。これにより、プロ
セスが CPU 資源やメモリ資源を使っているかを動的に観察することができる。 top –u www-data
とタイプするとユーザ www-data のプロセスのみ表示される。
* pstree はプロセスの親子関係をリストするコマンドである。ps や top で見つけた動作中のプログラ
ムが、どのプロセスと関係しているのか確認するのに使う pstree –a とタイプするとオプションも含
め長い表示がされる。
2) ネットワークのチェック
* netstat は現在接続しているネットワーク一覧を表示する。オプションがない場合、tcp、udp、
UNIX ドメインソケットも含めた接続中すべてのリストが表示される。ドメイン名で表示されるので
IP アドレスから逆引きする分、初回の表示は遅い。
* 接続まちでポートをあけているものまで表示するときは-a オプションを使う。nenstat –tuan とタイ
プすると接続中、接続待ちのポートも含めて IP アドレス、ポートなどが表示される。
3) ポートを利用しているアプリケーションを探す
* netstat を使って不審なネットワーク接続を探し出せてもそれがどのプログラムであるかわからな
い。そこでポート番号を指定してプロセスをリストす lsof を利用する。例えばポート番号 80 を使っ
ているプロセスを探したいときは、lsof –i:80 とタイプする。
4) last と who
last コマンドはシステムへのログイン記録を表示するコマンドである。last -F とタイプするとチェック
に必要な詳細な情報が得られる。who は現在ログインしているユーザを表示するコマンドである。
who -H -a とタイプすると詳細な情報が得られる。
5) host と whois
* host は IP アドレスからホスト名を逆引きするコマンドである。whois は IP アドレスから、そのアドレ
スが誰に割り当てられているかを調べるコマンドである。これは、どこの国の ISP に割り当てられ
ているか程度までの情報である場合が多い。
これらの変化を見つけるためには日頃、システムの中でどのようなプログラムが動作しているのか、ど
のようなネットワーク接続が行われているのか、サービスが動いていたりするのかを把握しておく必要
がある。
6-3-基-12
スキル区分
セキュリティ分野
習得ポイント
対応する
OSS モデルカリキュラムの科目
6-3
レベル
OS セキュリティに関する知識
基本
6-3-基-7. セキュリティを考慮した Linux サーバの適切な設定
第 4 回 Linux のサーバセキュリティ設定
コースウェア
6-3-基-7. セキュリティを考慮した Linux サーバの適切な設定
サーバソフトウェアのインストール方針やサービス提供方針など、Linux サーバにおけるセキュリティ
管理の基本的な方針について説明し、さらにサーバ上で十分なセキュリティを確保するために必要
な作業と留意点を示す。
【学習の要点】
* 多くの Linux ディストリビューションでは、導入初期の状態は、セキュリティよりも利便性を重視し
たものとなっている。
* Linux サーバを初期設定のままでなく、適切に設定を変更することで、Linux サーバのセキュリテ
ィを向上させることができる。
デフォルトの構成で
OSをインストール
最小構成で
OSをインストール
不要なソフトウェアの削除
不要なサービスの停止
不要なユーザの削除
サービス公開の制限
ユーザアクセスの制限
継続的なパッチの適用
運用
運用
脆弱なサーバ
堅牢なサーバ
図 6-3-基-7. Linux サーバの設定の必要性
6-3-基-13
【解説】
1) 不要なソフトウェアを削除または無効化する
不要なソフトウェアを導入していると、それらのセキュリティホールを突かれるなど、脆弱性が増す。
必要なソフトウェアだけをインストールし、それ以外のものは極力削除する。不要でなくとも普段使
用しないものは無効化しておく。OS インストールの段階で、最小インストールを行うのが望ましい。
2) ソフトウェアを最新状態に保つ
* 個々のパッケージのセキュリティパッチ
リリースされ次第、直ちに適用する。
* 個々のパッケージのその他のバージョンアップ、Linux ディストリビューションのバージョンアップ
設計上のセキュリティ強化、新たなセキュリティホールの可能性、安定性、互換性等を考慮のう
え、適用の是非を判断する。
* カーネルのバージョンアップ
メジャーバージョンアップは不安定な場合が多いので、適用する場合は、4、5 回程度のマイナ
ー改訂を待つ。
3) 不要なユーザアカウントを削除または無効化する
不要なユーザを用意していると、それらのユーザへのなりすましなど、脆弱性が増す。必要なユー
ザだけを作成し、不要なものは削除する。不要でなくとも普段使用しないユーザは無効化しておく。
特定のアプリケーション専用のユーザアカウントが、そのアプリケーションがインストールされている
かどうかに関係なく登録されている場合もあるので、不要なアプリケーション用のアカウントは無効
化する。
4) ユーザのシェルアクセスを制限する
アプリケーション専用のユーザアカウントなどの多くはサービス用のアカウントであり、シェルを必要
としない。これらのシェルアクセスを制限することで、必要のないシェルアクセスを与えないようにす
る。
5) 既知のユーザだけにアクセスを限定する
サービスへの匿名アクセスは、必要でなければ無効化する。
6) サービスの公開を制限する
各サービスは原則非公開とし、公開の必要なものに限って公開のための作業を行う。
7) chroot されたシステムでサービスを実行する
chroot システムコールは、プロセスが扱えるファイルシステムを、実際のルートのサブディレクトリに
変更する。これにより、デーモンがハイジャックされた場合のファイルシステムへのアクセスを制限
することができる。
8) その他
* SUID や SGID が設定されていると、コマンドは所有者権限で実行されるので注意する。
* ログ管理を怠らない。
* iptables を使ってローカルセキュリティを確保する。
6-3-基-14
スキル区分
セキュリティ分野
習得ポイント
対応する
OSS モデルカリキュラムの科目
6-3
OS セキュリティに関する知識
レベル
基本
6-3-基-8. iptables によるセキュリティ管理方法
第 8 回 Linux によるファイアウォール構築
コースウェア
6-3-基-8. iptables によるセキュリティ管理方法
Linux サーバによるファイアウォールを実現する iptables の目的や役割について概説する。また
iptables の具体的な設定方法を紹介し、その運用手順について解説する。
【学習の要点】
* Linux には、iptables という、ネットワーク制御において非常に便利かつセキュリティ上重要なツ
ールが用意されている。
* iptables の使い方を理解することで、パケットフィルタリング、NAT、IP マスカレードといったファイ
アウォールを Linux 上で構築できるようになる。
filterテーブル
マシンを経由するパケット
FORWARD
チェイン
マシンに入り、処理されるパケット
INPUT
チェイン
マシンで生成され、出て行くパケット
OUTPUT
チェイン
natテーブル
ルーティング前に受け取るパケット
ルーティング後に送り出すパケット
PREROUTING
チェイン
POSTROUTING
チェイン
mangleテーブル
図 6-3-基-8.
iptables のテーブルとチェインの概念
6-3-基-15
【解説】
1) iptables の目的と役割
iptables は Linux のネットワークツールの 1 つである。様々なパケットフィルタリングルールや NAT
ルールを適用することができ、Linux 上にファイアウォールを構築することができる。
2) iptables の主な設定方法
iptables の基本的な書式は、次のようになる。
iptables -t テーブル 操作の種類 チェイン ルール番号 ルール
* テーブル
iptables には、一連のルールを記述するテーブルという概念がある。テーブルには、filter(パケッ
トフィルタリング用)、nat(NAT 用)、mangle(特殊な変換用)がある。「-t」に続けてテーブルを指定
する。-t 省略時は filter となる。
* 操作の種類
操作の種類には、-P(ポリシーの設定)、-L(全ルールの表示)、-A(ルールの追加)、-I(ルールの
挿入)、-R(ルールの置換)、-D(ルールの削除)、-F(全ルールの消去)などがある。-P の場合は
上記書式ではなく、-P につづけてターゲットを指定する。
* チェイン
各テーブルでは、チェインと呼ばれるブロック毎にルールを設定する。チェインには、INPUT(入
力用)、OUTPUT(出力用)、FORWARD(転送用)、PREROUTING(ルーティングの受信時用)、
POSTROUTING(ルーティングの送信時用)があり、図のように、テーブルによって使用できるチ
ェインが異なる。-L や-F ではチェインを省略し、テーブルの全チェインを対象にできる。
* ルール番号 (-I、-R、-D の場合)
ルールにつける番号(各チェインで一意)。-I で省略するとルール番号は 1 となる。
* ルール (-A、-I、-R の場合)
ルールには、条件と、条件にマッチした場合の動作を、以下のようなオプションで指定する。
-s 送信元
送信元のホスト名、ドメイン名または IP アドレスを指定
-d 宛先
宛先のホスト名、ドメイン名または IP アドレスを指定
-p プロトコル
tcp、udp、icmp、あるいは全プロトコルが対象の all を指定
--sport 番号
送信元ポート番号を指定
--dport 番号
宛先ポート番号を指定
-i インタフェース 受信ネットワークインタフェースを指定
-o インタフェース 送信ネットワークインタフェースを指定
-j 動作
ターゲットまたは次に処理するチェインを指定
* ターゲット
ACCEPT(通過)、DROP(破棄)、MASQUERADE(IP マスカレード) など。
3) iptables の運用手順
* 各チェインで「-P チェイン DROP」とし、原則破棄にするのが望ましい。
* その後、必要なものに限って許可のルールを加えていく。
6-3-基-16
スキル区分
セキュリティ分野
習得ポイント
対応する
OSS モデルカリキュラムの科目
6-3
OS セキュリティに関する知識
レベル
基本
6-3-基-9. 暗号化ファイルシステム
第 9 回 暗号化ファイルシステム
コースウェア
6-3-基-9. 暗号化ファイルシステム
暗号化ファイルシステムはハードディスク上のデータを暗号化することによって物理的にハードディ
スクなどの窃盗が行われても情報が外部に漏れることはない。
【学習の要点】
* Linux の暗号ファイルシステムの概略を説明する。
* 現在多くのディストリビューションではインストール時に暗号化ファイルシステムを選択できるよう
になっている。
図 6-3-基-9. 暗号化ファイルシステム
6-3-基-17
【解説】
1) dm-crypt
* 暗号化ファイルシステムと慣習的に呼んでいるが、正確にいうとファイルシステムが暗号化の能
力を持っているわけではなく、その下のブロック IO レベルで暗号化されている。具体的には
device-mapper は I/O をマッピングするデバイスドライバで、このデバイスドライバを I/O インタフ
ェースにして dm-crypt が暗号化を行っている。
* そのためディスクエンクリプション(Disk Encryption)と呼ぶ場合もある。同じように device-mapper
を使うものには dmraid や LVM2 などがある。尚、device-mapper 以外にもループバックデバイス
で暗号化を行う方法もある。
2) セットアップ
* 2011 年現在、最新のディストリビューションでは、システムのインストール時にファイルシステムを
暗号化するかどうか選択できるので、その際に選ぶと良い。
* デフォルトの場合、AES128 と SHA-256 が選択されるが、どんな暗号モジュールがカーネルに入
っているかチェックするときは/proc/crypto を表示する。
* 新規に作るのではなく既存の古いシステムの場合は ARC4(RC4)と md5 のような既に利用するの
に危険である暗号が使われ続けている可能性があるので注意が必要である。
3) 手動でのセットアップ
* /dev/sdc1 を暗号化する場合、また明示的に暗号を指定する場合、次のように行う。
# cryptosetup –y luksFormat –-cipher aes-cbc-essiv:sha256 –-key-size 256 /dev/sdc1
* Device-mapper で/dev/mapper/edisk1 にマップするときは次のように行う。
# cryptosetup luksOpen /dev/sdc1 edisk1
4) 暗号化ファイルシステムの利点
* 暗号化ファイルシステムは、その内容が暗号化されているため、物理的にハードディスクが盗ま
れたとしてもデータの内容は安全である。
* ハードディスクが故障した場合、ハードディスクは廃棄処分となるが、そのときハードディスクの
磁性体上にはデータが復元できる形で残っているのにデータを破棄できないという問題がおこ
る。このような場合でも暗号化ファイルシステムを導入していれば安心である。
6-3-基-18
スキル区分
セキュリティ分野
習得ポイント
対応する
コースウェア
OSS モデルカリキュラムの科目
6-3
レベル
OS セキュリティに関する知識
基本
6-3-基-10. DNS に関するセキュリティ対策
第 7 回 ドメインネームサービスのセキュリティ対策
第 10 回 DNS に関するセキュリティ対策
6-3-基-10. DNS に関するセキュリティ対策
DNS (Domain Name System)の基本的な動作と DNS に求められるセキュリティ要件を解説する。標準
的な DNS サーバの実装である BIND を紹介し、BIND におけるセキュリティ対策について述べる。
【学習の要点】
* BIND は最も普及している DNS 実装であり、バージョン 9 でセキュリティも大幅に強化されたが、
古いバージョンからの移行が遅れている。
* BIND のセキュリティ強化のポイントは、named からの操作の制限と、named.conf の設定である。
chroot jail の設定
/etc/sysconfig/named に以下のような行を追記
ROOTDIR=/var/named/chroot
BINDのみかけのルートディレクトリ
ACLの追加 (クエリを192.168.0.0/24に許可する場合)
/etc/named.conf (chrootしている場合はそのディレクトリのetc/named.conf)に以下のような記述を追記
acl mynetwork {
192.168.0.0/24;
};
options {
allow-query { mynetwork; };
allow-recursion { mynetwork; };
};
任意の名称
セキュリティ関連のログ設定
/etc/named.conf (chrootしている場合はそのディレクトリのetc/named.conf)に以下のlogginセクションを追記または変更
logging {
channel logsec {
file "/var/log/named/security.log" versions 3 size 1m;
};
category security { logsec; };
};
任意の名称
1MB単位で3世代のログをとる場合
図 6-3-基-10. BIND のセキュリティ対策のためのファイル設定例
6-3-基-19
【解説】
1) DNS(Domain Name System)の基本動作
DNS による通常の名前参照は以下のように行われる。
* クライアントは、ネームサーバ(A)に、問い合わせたいホスト名/ドメイン名を提示する。
* ネームサーバは、当該ドメイン情報を保持していない場合は、ルートネームサーバに問い合わ
せる。(再帰的問い合わせ)
* ルートネームサーバは、ネームサーバ A に、当該ドメイン情報を保持するネームサーバ(B)の情
報を返す。
* ネームサーバ A は、ネームサーバ B に、問い合わせたいホスト名を提示する。
* ネームサーバ B は、ネームサーバ A に、ホストの IP アドレスを返す。
2) DNS に求められるセキュリティ要件
* DNS ソフトウェアを最新バージョンに保つ
使用している DNS にセキュリティホールが発見されたまま放置されると、そのセキュリティホール
を狙った攻撃の影響を受けてしまう。
* 不必要な情報やサービスを提供しない
悪意のあるものに余計に情報やサービスを提供すると、それを利用して DNS を操作されるリスク
が増大する。ネームサーバの IP アドレスを不必要に知らせない、DNS のレコードに不必要な情
報を登録しない、再帰的な問い合わせを制限または無効化する、DNS サービスを公開部分と非
公開部分とに分割する、などにより、余計な情報やサービスを提供しないようにする。
3) BIND のセキュリティ対策
BIND は、歴史があり、もっとも広く利用されている DNS ソフトウェアである。UNIX 系 OS の場合の具
体的な対策は以下の通りである。
* バージョン 9 以降の最新バージョンを利用する。
バージョン 8 以前では脆弱性を抱えた設計となっている。バージョン 9 で大幅に設計しなおされ、
セキュリティも強化された。
* named の実行を root 以外の制限ユーザ/グループで行う。
named は常駐する DNS サービスの名称である。named の実行を特権のないユーザ/グループで
行うことで、万一 named がハイジャックされた場合でも、システムに対する操作が限定される。
* BIND がみなすルートディレクトリを「/」以外の安全な場所に変更する。
BIND には chroot jail という、named のルートディレクトリを設定できる。chroot jail をシステムの
ルート「/」以外にすることで、万一 named がハイジャックされた場合でも、操作可能なファイルが
限定される。
* named.conf に ACL を追加する。
named.conf は BIND の設定ファイルである。named.conf には ACL(アクセス制御リスト)を記述で
き、ホストアドレスやネットワークアドレスにより、実行可能な操作を制限できる。
* named.conf にログ設定を追加する。
named.conf に対し、セキュリティ関係のイベントをログに記録するように設定する。
6-3-基-20
Fly UP