17章 セキュリティ 
 
17.1 プログラミングを行う際のセキュリティ 
 
・データベース 
	WEBサーバの公開ディレクトリにデータベースファイルを置くと、URLを直接入力すれば、簡単にファイルが開けてしまうので、公開ディレクトリにはデータベースファイルは置かないようにする。できれば別マシンにデータベースを置くのが望ましい。 
 
・パスワードの管理 
	会員のパスワードには特に注意が必要。ユーザによっては、全てのWEBサイトで同じパスワードを設定しているユーザもいるので、万一、一つのサイトからパスワードが盗まれてしまった場合、重要なサイトにログインされてしまう場合もある。 
	通常、パスワードはファイルに保存するにしても、データベースに保存するにしても、一方向の暗号化を行って保存しておく。 
 
・クッキー 
	ログインした会員のセッションを維持するために、クッキーが使用されるが、なりすましを防ぐために、暗号化することが必要。 
 
 
17.2 通信の際のセキュリティ 
 
・SSL通信 
	インターネット経由で、重要なデータをユーザが送信する場合は、SSL通信により暗号化した方がよい。 
 
・SSH通信 
	TelnetやFTPで接続する際に、重要なデータを送受信する場合は、SSH通信により暗号化した方がよい。 
 
 
17.3 ネットワークのセキュリティ 
 
・ファイアーウォール 
	WEBサーバが置いてあるマシンには、必ず第三者からの侵入を防ぐために、ファイアーウォールを設置する。別マシンでなくても、WEBサーバマシンにファイアーウォールアプリケーションを入れて防ぐ場合もある。 
 
・ウィルスのチェック 
	何らかの形でウィルスが入り込まないよう、常にウィルスチェックを行う状態にしておくのが望ましい。 
 
・アクセス制限 
	各マシンにアクセス制限をかけ、関係のないマシンからのアクセスを防ぐようにする。プログラムレベルでアクセス制限を行うことも可能。 
 
 
17.4 メンテナンス 
 
・ログのチェック 
	WEBサーバのログをチェックし、不正なアクセスや、エラーがないかどうかを定期的にチェックすることが望ましい。 
 |