[ファームウェアリリース] SEIL/X,B1 ver.4.82 & SEIL/x86 ver.3.42

SEILのNTP機能使用時に、NTPサーバとしての応答をさせない動作モードを追加しました。NTPサーバが必要なくシステム時刻の時刻合わせのみ必要な場合に、NTPサーバの脆弱性が新たに発見された際のリスクを減らすことができます。

記事一覧

NTPの設定に、動作モードの設定を追加しました

これまでSEILのNTP機能は、機能を有効にした時点でNTPクライアントかつNTPサーバとして動作していました。サーバとして他のクライアントから参照されることを想定していない場合、IPフィルタの設定を忘れてしまうと、意図せずサーバとして動作していることにより、脆弱性を狙われた際に、見逃しやすくなってしまっていました。これを防止するために、NTPサーバまたはNTPクライアントを動作モードとして明示的に設定できるようモード設定を追加しました。

これまでの動作

SEIL/X1 Ver.4.81 での動作

OBJ# interface lan2 address 192.168.1.123
OBJ# ntp server add 192.168.1.1
OBJ# ntp enable
OBJ# show status ntp
host info:
        status:   synchronized
        stratum:  5
        offset:   0.772ms
        jitter:   0.919ms
peer info:
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*192.168.1.1     192.168.1.11     4 u   29   64   37    0.359    0.772   1.837

このような動作状態で外部からSEILに対してNTPを参照すると、時刻に応答があります。

# ntpdate 192.168.1.123
 7 May 11:37:53 ntpdate[27482]: step time server 192.168.1.123 offset 168690663.592025 sec

NTPクライアントモードでの動作

新たに追加されたNTPクライアントモードの設定および動作は次のようになります。

OBJ# interface lan2 address 192.168.1.123
OBJ# ntp server add 192.168.1.1
OBJ# ntp mode client
OBJ# ntp enable
OBJ# show status ntp
function info:
        mode:  client
host info:
        status:   synchronized
        stratum:  5
        offset:   1.684ms
        jitter:   1.098ms
peer info:
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*192.168.1.1     192.168.1.11     4 u   17   64  377    0.361    3.381   1.239

この状態で外部からこのSEILに対してNTPを参照すると、次のように応答しません。

# ntpdate 192.168.1.123
 1 Jan 01:11:11 ntpdate[27502]: no server suitable for synchronization found

ただし、現在のバージョンではSEILのUDPの123番ポートは開いており、受信したNTPメッセージを破棄しているだけです。

# hping -p 123 -k 192.168.1.123
HPING 192.168.1.123 (em0 192.168.1.123): NO FLAGS are set, 40 headers + 0 data bytes
len=46 ip=192.168.1.123 ttl=64 id=13 sport=123 flags=RA seq=0 win=0 rtt=0.8 ms

このように、123番ポートは応答してしまいます。

将来的には、ポート番号を変更可能とすることで、より安全に運用できるよう変更する予定です。

受信時に破棄するNTPのメッセージは以下の通りです。

送信元 破棄するパケット 備考
ntp server に指定されたアドレス mode1, mode2 mode3, mode5, mode6, mode7 mode4 パケットはサーバから供給される時刻通知に利用
ntp peer に指定されたアドレス mode3, mode5, mode6, mode7 mode1, mode2 は peer との時刻同期に利用
それ以外のアドレス mode[0-7]