検索
特集

Perlは悪くない――CGIセキュリティホールの落とし穴スパム時代のサニタイズ開発手法(2/2 ページ)

比較的レガシーになってきた言語「Perl」に対し、旧サービスのメンテナンス不備が問題視されている。問題なく稼働中であっても、脆弱性が潜んでいる場合があるからだ。何に注意すればよいのか? 具体的に触れていこう。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

 今回の記事では、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版でご覧ください。 ***

前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る