Perlは悪くない――CGIセキュリティホールの落とし穴:スパム時代のサニタイズ開発手法(2/2 ページ)
比較的レガシーになってきた言語「Perl」に対し、旧サービスのメンテナンス不備が問題視されている。問題なく稼働中であっても、脆弱性が潜んでいる場合があるからだ。何に注意すればよいのか? 具体的に触れていこう。
今回の記事では、CGIやPerlが何であるか? どのような仕組みで動作し、セキュリティホールが明るみとなる事項を幾つか挙げてきた。
核心となるPerlセキュリティとサニタイズの関係は、次回の記事で詳細を解説していこう。
運用者が知っておくべきWebサーバソフトの設定
筆者は、今回の記事執筆のために動作環境として、Fedora Core 4(以下、FC4)のIA-32 PCを用意した。
Webサーバは市場シェア70%を誇るApacheを使用している。FC4にはあらかじめApacheのパッケージがインストールされているため、すぐにでもサービスを起動することができるが、その前に必要最小限の設定を行う必要がある。
Apacheは /etc/httpd/conf/httpd.conf を編集することで、カスタマイズを行うことができるようになっている。編集作業はroot権限(スーパーユーザー権限)で行う。注意すべき個所は以下の点だ。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ユーザーのホームディレクトリにpublic_html/ディレクトリを作成する。そこにHTMLやCGIスクリプトを置けばよい。このとき、chmodコマンドでパーミッションの設定を行っておく必要性にも注意だ。この作業を忘れると、「403 Forbidden」のエラー表示となって閲覧することができない。これはCGIスクリプトを実行させるときに、Apacheの権限ではなく、ファイルの所有者権限で動作させるsuEXEC(Switch User before EXECuting external programs)と呼ばれる機能が有効となっているためだ。suEXECは、最近では標準でApache(パッケージ)に組み込まれていることが多い。
/home/[ユーザ名]のディレクトリは、711
/home/[ユーザ名]/public_html/のディレクトリは、755
ApacheはスーパーデーモンのXinetd経由ではなく、単体のデーモンとして起動されるため、rc(Run Command)スクリプトから起動・停止・再起動処理を行う。Linuxのブート時に自動的に起動したい場合には、chkconfigコマンドでhttpdデーモンの設定を変更すればよい。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
関連記事
- Cookieは悪くない――潜む漏えいパターンの真実
- セキュリティホールで問うこれからの常識
- ネットセキュリティの考え方が変わった理由
- 攻撃の標的がOSからアプリにシフト――SANS Institute報告書
- セキュリティを意識したネットワークシステム設計、5つのポイント
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.