セキュリティを強化する Web サーバーの設定
セキュリティを保つサーバー管理
Web サービスに関する OS でのセキュリティ強化
ここでは、ネットワークなどを介する攻撃や不正な侵入者に対する OS のセキュリティ強化について述べます。
不必要なサービスの停止または削除
不必要なポートがオープンされていると、侵入者に不正利用されてしまう場合があります。
プロトコル ポート番号 攻撃の可能性
FTP 20、21 高 - ファイルシステムにたいするアクセスの危険性
Telnet 23 高 - 不正コマンド実行の危険性、パスワードの漏洩
TFTP 69 高 - 不正データの書き込みなど
Finger 79 中
RPC 111、135 高 - 不正プロセス起動の危険性
RSH 514 高 - 不正アクセスの危険性
サービスを停止するには、root ユーザで /etc/services ファイルの該当する行をコメントアウト (行頭に '#'記号を挿入)して保存し、/usr/sbin/inetd -c コマンドを実行します。
不必要なシェルやインタープリターの削除
CGI で Perl が不必要な場合などは、Perl をアンインストールします。
※HP-UX 11i では、Perl はデフォルトでインストールされるようになっています。コンポーネントを削除するには、
root ユーザで /usr/sbin/swremove コマンドを起動し、perl コンポーネントを選択します。
攻撃者に利用されやすいコマンドなどの削除
例)finger, whois, nslookup, NIS など
これらのファイルは、ベース OS に含まれているので swremove で削除することは推奨されません。このコマンドを含む プロダクトを swremove すると他の重要なコマンドも削除されてしまいます。直接 /usr/bin/などにあるコマンドファイ ルから実行権限パーミッションを消すか、ファイルを削除します。
ファイルパーミッションは厳密に設定する。
要塞化ツール bastille を使用すると、システムの全ユーザに対してデフォルト umask を設定することができます。これに より Web コンテンツオーナーがあやまったファイルパーミッションを設定する可能性を減らせます。
デフォルトの umask を設定するには以下のいずれかの方法を実行します。
root ユーザで/opt/sec_mgmt/bastille/bin/bastille コマンドを実行し、以下の設問に Yes と答え、次の設問で umask の値を指定し、設定をシステムに反映させる。
Q: Do you want to set the default umask?
Install Time Security で Sec10Host または Sec20MngDMZ、Sec30DMZ のいずれかを選択する。(HP-UX 11i v2 以降)
このとき自動的に設定される umask の値は 027 です。
脆弱性のあるサービスを強固なものに変更する。
• telnet や rlogin、rsh コマンドは削除し、ssh コマンドを使用する。
• FTP、TFTP は削除し、Secure Shell に含まれる SFTP を使用する。
• rcp は削除し、Secure Shell に含まれる scp を使用する。
• サーバー/クライアント間は 暗号化された通信を使用する。
• SSH コマンドは暗号化された通信を行います。
※HP-UX 11i v2 から、Secure Shell は Foundation OE に含まれています。
パスワードの保護
• 長くて複雑なパスワードを使用し、定期的に更新する。
パスワードポリシーを設定するには以下の方法を実行します。
root ユーザで /opt/sec_mgmt/bastille/bin/bastille コマンドを実行し、以下の設問に Yes と答え、設定をシス テムに反映させる。
Q: Do you want to setup password policies?
• /etc/passwd ファイルは、すべてのユーザからハッシュされたパスワードが参照可能なので、shadow パスワードに 切換える
shadow パスワードに切換えるためには以下のいずれかの方法を実行します。
・ root ユーザで /opt/sec_mgmt/bastille/bin/bastille コマンドを実行し、以下の設問に Yes と答えて設定をシ ステムに反映させる。
・ Q: Would you like to hide the encrypted passwords on this system?
・ root ユーザで /usr/sbin/pwconv コマンドを実行する。
・ Install Time Security で Sec10Host または Sec20MngDMZ、Sec30DMZ のいずれかを選択する。(HP-UX 11i v2 以降)
アプリケーションに対する chroot 設定
chroot の機能は UNIX システムだけが持つものです。chroot 機能とはファイルシステムのルートディレクトリの位置を変 更するもので、chroot するとそのプロセスと全ての子プロセスは chroot したディレクトリ階層より上のファイルを開くこ とができなくなります。
これにより、もし Web サーバーがバッファーオーバフロー攻撃などで悪意あるユーザに攻撃され制御をのっとられたとして も、その攻撃者は chroot 指定されたディレクトリ以外にはアクセスできず機密性の高いファイルを参照したりシステムコ マンドを実行できないため、被害を最低限に食い止めることができます。
HP-UX Apache-based Web Server を chroot するには以下の方法を実行します。
root ユーザで /opt/sec_mgmt/bastille/bin/bastille コマンドを実行し、以下の設問に Yes と答え、設定をシステ ムに反映させる。
Q: Would you like to chroot your Apache Server?
以下は、この章で紹介されたセキュリティに関する設定項目と、Install Time Security で自動設定される項目について一覧表に まとめたものです。
セキュリティ項目
Install Time Security での設定項目
bastille による設 Sec10HOST Sec20MngDMZ Sec30DMZ 定
サービスの停止(telnet、ftp) - ○ ○ 可
サービスの停止(finger、tftp、rsh、
rexec) ○ ○ ○ 可
ポートの制御のための IPFilter 設定 - ○ ○ 可
不必要なシェルやインタープリターの 削除
- - - ×
攻撃者に利用されやすいコマンドの削 除
- - - ×
ファイルパーミッション - umask の設 定
○ ○ ○ 可
パスワードポリシーの設定 - - - 可
shadow パスワード機能の適用 ○ ○ ○ 可
HP-UX Apache-based Web Server
の chroot - - - 可
Security Patch Checker の自動実行 設定(セキュリティを保つサーバー管理 参照)
○ ○ ○ 可