
第5回 トラブルシューティングはCentOS 5におまかせ
面 和毅
サイオステクノロジー株式会社
OSSテクノロジーセンター
開発支援グループ
グループマネージャー
2007/11/15
CentOS 5も2007年4月にリリースされてから、早くも半年が過ぎました。そろそろ導入を検討されている方もいらっしゃるのではないでしょうか?
CentOS 5からはSELinuxの設定方法などが以前のバージョンよりも格段に簡単になり、設定のためのさまざまなツールもそろってきています。今回から、CentOS 5でのSELinuxの使い方を、実例を基に説明していきましょう。
CentOS 5でのSELinux――RHEL 5との違いは?
CentOS 5はRed Hat Enterprise Linux 5(RHEL 5)のクローンになります。RHEL 5でのSELinuxの新機能に関しては、@ITの記事ですでに紹介していますので詳しい内容はそちらを参照してください。
| 【関連記事】 Red Hat Enterprise Linux 5で始めるSELinux http://www.atmarkit.co.jp/fsecurity/special/97rhel/rhel01.html |
大まかな機能変化としては、
- 「Reference Policy」の採用により、ポリシーを修正する際にもポリシーソース全部を必要としなくなった。
- セキュリティコンテキストに新たに「Multi Level Security」(MLS)を加えた。これにより、MLSによるアクセス制御もできるようになった。
- GUIツールが拡充され、プログラムの動作に支障があった場合でも、SELinuxが原因で起きているのかをリアルタイムで把握できるツールが入った。また、対処の指針も出してくれるツールが入った。
- デフォルトのポリシーでもドメイン分けされているサービスが増えた。これにより、よく知られているようなアプリケーションであれば、インストールしただけでドメインが分離されてセキュリティが保てるようになった。
というところでしょう。
1、2に関しては、「Red Hat Enterprise Linux 5で始めるSELinux」ですでに紹介していますので、3、4について実際にCentOS 5上にアプリケーションを導入して、CentOS 4との違いを見ていきましょう。
GUIツール、SELinuxトラブルシューターを試してみる
CentOS 5ではSELinuxの管理ツールとして、GUIから、
- SELinuxトラブルシューター
- SELinux Manager(semanagement)
の2つが使用できます。CentOS 4でのSELinuxログはアクセスがあるたびに出力されていたため、非常に大量となるログに悩まされたものでした。また、ログの内容自体も、どの部分のアクセス権で処理が拒否されて、どう直していけばよいのかを判断するのが非常に難しいものでした。
「SELinuxトラブルシューター」は、これらのログを分類してまとめ、かつ分かりやすい形で出力してくれるものです。また、SELinuxに起因しているエラーを解消するための方法もメッセージとして(ある程度までになりますが)出力してくれます。
今回、例としてリスト1のようなCGIスクリプトとリスト2のようなHTMLファイルを用意しました。
| #!/usr/bin/perl use CGI; use Net::Ping; open(STDERR, ">&STDOUT"); $|=1; $cgi = new CGI; print "Content-Type: text/html\r\n\r\n"; print "<HTML><BODY><PRE>"; $host = $cgi->param('hostname'); $timeout=0.1; my $p = Net::Ping->new('tcp'); $p->tcp_service_check(1); $port = 22; $p->{'port_num'} = $port; print "Port $port on $host is ", ($p->ping($host) ? "up" : "down"), ".\n"; $p->close(); print "</PRE></BODY></HTML>"; |
| リスト1 ポート22番が空いているかどうかを確認するサンプルCGIスクリプト |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <title>ping</title> </head> <body> <h1> SSH check page</h1> <form action=cgi-bin/test.cgi method=POST> Host <input type=text size=20 name=hostname><br> <input type=submit value="Check SSH now!!"> </form> </body> </html> |
| リスト2 サンプルHTMLファイル |
空欄にIPアドレスを入力してボタンを押すと、そのIPアドレスのホスト上でSSHが動作しているかどうか(より正確にはポート22番がOpenになっているかどうか)をテストしてくれるCGIとHTMLになります。
![]() |
| 図1 サンプルプログラムの実行画面 |
CentOS 5にyumでApacheをインストールし、このCGIをテストします。このサンプルはそのままではうまく動きませんが、SELinuxトラブルシューターを利用するとどのように対応ができるかを体験してみましょう。
|
1/3 |
|
| Index | |
| トラブルシューティングはCentOS 5におまかせ | |
| Page1 CentOS 5でのSELinux――RHEL 5との違いは? GUIツール、SELinuxトラブルシューターを試してみる |
|
| Page2 早速、トラブルシューティングしてみよう |
|
| Page3 SELinux Managerを試してみる |
|
スイッチ・オン! SELinux バックナンバー
- 第1回 CMSツールをよりセキュアに導入しよう
- 第2回 SELinuxでいろいろバックアップ/リストアしてみた
- 第3回 SELinuxのお行儀を監視する――MRTG/Nagios編
- 第4回 NRPEプラグインを作って確認「SELinux、異常なし!」
- 第5回 トラブルシューティングはCentOS 5におまかせ
- 第6回 GUIでカスタマイズも簡単! SELinux on CentOS 5.1
- 第7回 やっぱり気になるスイッチ・オン! での性能変化
- 第8回 なぜクラスタリングにSELinuxを使わないのか!
- 第9回 挑戦! SELinuxでWebアプリもクラスタリング
- 最終回 Heartbeat+独自ドメインでセキュアな世界のその先へ
| スイッチ・オン! SELinux 連載インデックス |
TechTargetジャパン
- Facebook タイムライン利用時の「鉄則」 (2012/2/9)
ユーザーインターフェイスの変更措置に伴い浮上した、Facebookの「過剰な情報提供」のリスクと対策とは - 無料サービスなら通信内容を記録してもいいの? (2012/1/13)
無料の公衆無線LANサービスが、ユーザーに無断で通信履歴を記録していたことが判明し、話題に - 攻撃はまるでレーザービーム (2011/12/26)
2011年に話題となった標的型攻撃は「人」という弱点ををねらい打ちにしました。では、人に教育さえしておけば防げるものなのでしょうか? - 見せたくないなら「持たせない」が鉄則! (2011/12/15)
逆コンパイル対策で難読化したのに、大事なデータが解析されちゃった? Androidアプリのセキュリティの道は深い
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

