Bastille実行後の微調整 |
TODO.txtにはいくつかの項目が書き込まれたが、多くが報告的なもので、これまでの作業の場合、セキュリティパッチの確認と、ファイアウォールであるIPFilterの調整が実質的な作業となる。この2つに加えて、以下ではrootログインも禁止しておこう。
HP-UXには、security_patch_checkというツールが用意されており、利用中のシステム構成と、最新のパッチとを比較できるようになっている。Bastille適用後はcronで毎日起動し、チェックするように設定されている(リスト2)。
リスト2 rootのcron設定 |
0,15,30,45 * * * * /usr/sbin/sendmail -q ↑ Batilleによってデーモン常駐から15分の起動に変更された 5 3 * * * (umask 077; export PASSIVE_FTP=1; export PATH=/usr/bin:/sbin; /opt/sec_mgmt/spc/bin/security_patch_check -r -q -d -c /etc/opt/sec_mgmt/bastille/security_catalog 2>&1 | /usr/bin/mailx -s "Security Patch Check Results for uuweb01" root@localhost ) ↑ 毎日チェックし、その結果をrootアカウントにメールする |
リスト2のようなコマンドを実行すればFTPアクセスで最新カタログを取り寄せチェックできるのだが、ここではチェック機構の流れを把握するためにも、外部へのFTPアクセスを拒否するポリシーで運用していることを想定して、別のマシンで最新情報のカタログファイルを取り寄せ、チェックする手順で作業していく。
まず、管理端末のマシンで最新のカタログファイルを取得する。最新のカタログファイルは、次のURLに用意されている。
ftp://ftp.itrc.hp.com/export/patches/security_catalog
security_catalog.gzというgzip形式になっているファイルもあるので、こちらをダウンロードするといいだろう。ダウンロードしたら、scpコマンドでHP-UXマシンへ転送しておく。
次に、security_patch_checkコマンドを実行する(実行例4)。いくつかのものが未適用な状態であるのが分かる。この例ではWebサーバーとして緊急に適用するものはないが、先頭のSendmailを例にインストールしていこう。
実行例4 未適用のセキュリティパッチをチェック |
# gunzip security_catalog.gz # security_patch_check -c ./security_catalog : : # Recommended Bull(s) Spec? Reboot? PDep? Description ----------------------------------------------------------------- 1 PHNE_29913 281 No No No sendmail(1m) 8.11.1 2 PHNE_30090 1020 Yes Yes No libnsl cumulative 3 PHNE_30092 1020 No Yes Yes RPC commands and daemons cumulative 4 PHNE_30093 1020 No Yes Yes Lock Manager cumulative 5 PHNE_30094 1020 No Yes Yes NFS cumulative 6 PHNE_30095 1002 No Yes Yes NIS/NIS+ cumulative 7 PHSS_29966 299 Yes No No HP DCE 1.9 client cumulative 8 PHSS_30013 297 No No No CDE Base 9 PHSS_30480 1018 No No No X11 Font Library 10 PHSS_30502 1018 No Yes Yes Xserver cumulative 11 PHSS_30671 1038 Yes No No CDE Applications ----------------------------------------------------------------- *** END OF REPORT *** NOTE: Security bulletins can be found ordered by number at http://itrc.hp.com/cki/bin/doc.pl/screen=ckiSecurityBulletin |
最新のパッケージは、実行例4の最後に表示されているように「ITリソース・センタ」から入手できるが、このURLではなく、「パッチデータベース ホーム」のページで検索するのが分かりやすいだろう。
http://www1.itrc.hp.com/service/patch/mainPage.do
このページの「特定パッチの検出」の欄に、実行例4で表示された番号「29913」を入力すれば、一発で検索できる。あとは、該当のパッチにチェックを入れ、[選択済みパッチリストに追加]ボタン、[選択済みパッチのダウンロード]ボタンと押していけば、Webブラウザからファイルがダウンロードできる。ファイルフォーマットはいくつか選べるが、ここではgzipを選び、hpux_800_11.23_08020450.tgzをダウンロードした。
このファイルもHP-UXマシンにscpで転送したら、/tmpなど任意のディレクトリで展開する(実行例5)。PHNE_29913が本体であり、これを実行するとHP-UX標準のパッケージ形式である、depotという拡張子のついたファイルが現れる。
実行例5 ダウンロードしたファイルを展開してdepotパッケージを取り出す |
# cd /tmp # gunzip hpux_800_11.23_08020450.tgz # tar xvf hpux_800_11.23_08020450.tar x patch_manifest, 91 bytes, 1 tape blocks x README_hp-ux, 1780 bytes, 4 tape blocks x create_depot_hp-ux_11, 5608 bytes, 11 tape blocks x PHNE_29913, 1586486 bytes, 3099 tape blocks # sh PHNE_29913 x - PHNE_29913.text x - PHNE_29913.depot [non-ascii] |
depotファイルをインストールには、実行例6のようにswinstallコマンドを使う。「-s」オプションのあとにインストールしたいファイルを指定するが、ファイル名指定は絶対パスである点に注意していただきたい。ファイル名だけを指定しても正常に実行されない。
depotファイルをインストールしたら、念のため、再びsecurity_patch_checkを実行してみよう。Sendmailの項目が消えていればOKだ。
実行例6 depotファイルのインストール |
# swinstall -x autoreboot=true -x patch_match_target=true -s /tmp/PHNE_29913.depot : : # security_patch_check -c ./security_catalog : : # Recommended Bull(s) Spec? Reboot? PDep? Description ------------------------------------------------------------------- 1 PHNE_30090 1020 Yes Yes No libnsl cumulative 2 PHNE_30092 1020 No Yes Yes RPC commands and daemons cumulative : : |
Bastilleによって、ファイアウォールIPFilterの設定は、22番ポート以外はふさがった状態である。Webサーバーとして構築するので80番ポートは空けておかなければならない。
IPFilterの設定は/etc/opt/ipf/ipf.confで行うが、リスト3のように、このファイルはBastilleによって管理されている状態である。何らかの変更を加える場合は、/etc/opt/sec_mgmt/bastille/ipf.customrulesに追加設定を記述し、再度「bastille -b」コマンドを実行する。
リスト3 /etc/opt/ipf/ipf.conf |
# RULES INSERTED FROM /etc/opt/sec_mgmt/bastille/ipf.customrules
# ARE BELOW. THESE MAY BE OVERWRITTEN IF YOU RERUN BASTILLE!!!
#
# # # # # # # # # #
# # # # # # # # # #
# # # # # # # # # #
# # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # #
# ### ### ### ### ### ### ### ### ###
# # # # # # # # # #
: : ↑ /etc/opt/sec_mgmt/bastille/ipf.customrulesの記述がここに挿入される # # # # # # # # # # # ### ### ### ### ### ### ### ### ### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # : : |
/etc/opt/sec_mgmt/bastille/ipf.customrulesファイルには、デフォルトで内側から外側へのアクセス許可と、Windowsネットワークに関連したアクセス拒否が設定されている(リスト4)。後者の設定は意味がなさそうだが、これによってWindowsからのブロックログが大量に書かれてしまうことを防いでいる。
80番ポートを開ける設定を記述したら、再度「bastille -b」コマンドを実行して完了である。今度はIPFilter設定の適用のみなので、それほど時間はかからない。
リスト4 /etc/opt/sec_mgmt/bastille/ipf.customrules |
#################################################### # These rules will allow connections initiated from # this host along with the return connection pass out quick proto icmp all keep state pass out quick proto tcp all keep state pass out quick proto udp all keep state # End allow outgoing rules #################################################### # These rules specifically do not log netbios udp or portmapper # packets because these protocols tends to be very noisy on networks block in quick proto udp from any to any port = netbios_ns block in quick proto udp from any to any port = netbios_dgm block in quick proto udp from any to any port = portmap pass in quick proto tcp from any to any port = 80 keep state ↑80番ポートを開ける設定を追加 |
Bastille(DMZ)適用後の環境では、telnet(tty?)からのrootのリモートログインは禁止されている。これは/etc/securettyファイルで設定しており、consoleのみが許可されている。一方でSSHでのログインは許可されている。
複数管理者がいるときなどは、一般ユーザーアカウントでログインさせ、suコマンドなどでrootにスイッチさせるほうが、誰が操作したのかが把握できて良い。どうしても利便性を考えてrootで直接ログインしたい場合も、パスワード認証ではなく、鍵交換による認証に変更したほうが安全だろう。
SSH経由でのrootのログインを禁止させるには、/opt/ssh/etc/sshd_configでコメントアウトされている「PermitRootLogin」の部分をリスト5のように変更する。これでOS再起動後に有効になるが、即時適用させるため、sshdを再起動させておく(実行例7)。
リスト5 SSHでrootログインを制限 |
PermitRootLogin no ログインを禁止 もしくは PermitRootLogin without-password パスワードログインを禁止 |
実行例7 sshdの再起動 |
# /sbin/init.d/secsh stop # /sbin/init.d/secsh start_msg もしくは # kill -HUP |
次回は |
主にセキュリティ関連、とくにBatille関連の設定を解説したが、ほかのOSのソースやドキュメントを見ていくと、Linuxディストリビューションの違いや各システムでの作業例が分かるので、参考にしてはいかがだろう。
次回はWebサーバー構築に向けたボリューム設定と、Apacheの設定を紹介する予定だ。
最新号:UNIX USER 9月号の内容
第1特集
第2特集
[特別企画] |
Copyright(c)2010 SOFTBANK Creative Inc. All rights reserved.