2014年4月24日木曜日

ntpdのセキュリティ対策

2014年2月に問題となったntpdの機能へのセキュリティ対策についての備忘録

参照:ntpd の monlist 機能を使った DDoS 攻撃に関する注意喚起https://www.jpcert.or.jp/at/2014/at140001.html

自分の職場のサーバでntpdを使用している場合、時刻同期先のNTPサーバを職場で用意してくれているものを利用するという対策をとった。

職場で配布された対策マニュアルには、”$  /usr/sbin/ntpq -c rv”
で、ntpdが動いているかどうかを確認・・・とあったが、うちの10.04サーバーでは単に

$  ntpq -c rv

だけで、

assID=0 status=c011 sync_alarm, sync_unspec, 1 event, event_restart,
version="ntpd 4.2.4p8@1.1612-o Tue Apr 19 07:08:18 UTC 2011 (1)",
processor="x86_64", system="Linux/2.6.32-21-server", leap=11,
(以下略)

と返ってきた。バージョンは4.2.4p8らしい。
次に、時刻同期先を

$  ntpq -pn

で調べ、外部サーバを使っていることを確認。対策マニュアルに「確認されたバージョンが4.2.7p26 より古いものの場合や、職場内部のNTPサーバと同期していない場合は/etc/ntpd.confを編集します」とのこと。
viなどで編集するべきだが、今回はftpでファイルを入手し、手元で書き換えてから戻した。

まず、以下の部分が有効になっていることを確認。原則NTP通信を行わないという設定。

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

その後、”server....."などで指定されている外部サーバの行をコメントアウト、もしくは削除して、末尾に職場内サーバを指定。

server (職場内NTPサーバ1)
restrict (職場内NTPサーバ1) mask 255.255.255.255 nomodify notrap noquery
server (職場内NTPサーバ2)
restrict (職場内NTPサーバ2) mask 255.255.255.255 nomodify notrap noquery
disable monitor

以上で設定終了なので、ファイルを上書きしてからntpdを再起動。

$  sudo /etc/init.d/ntp restart

最後に、ちゃんとこれらのNTPサーバを参照しているかどうかを”$  ntpq -pn”で確認。




2014年4月23日水曜日

Apache Struts 2のセキュリティ問題への対応:備忘録

管理者からの調査依頼内容
--------
2014/4/18、Webサーバで広く使用されている「Apache Struts2」で脆弱性が発見されました。
詳細は以下の通りです。

■影響を受けるバージョン
 2.0.0 から 2.3.16 まで
 
■バージョンの確認方法例
 Apache Struts 2 を利用しているウェブアプリケーションの
  /WEB-INF/lib ディレクトリを開き、struts2-core-2.x.x.x.jar
 ファイルの名称を確認してください。
 2.x.x.x の部分が、利用している Struts 2 のバージョンです。
--------

実験機器用のサーバ(Ubuntu 10.04 LTS Server)なので、Apacheを使っていることは理解していたが、Strutsが使われているかどうかは全く不明。そこでまず、

$ find / -name struts2-core*.jar

で、該当ファイルを探すも、見つからず。ということは使われてないっぽい。
念のため、パッケージリストを確認。出力を手元に持ってくればいいのだが、今回は目視で。

$ dpkg -l | less