本来、サポートが終了したレガシー OS は、OS のアップグレード等を行い、使用を中止するべきですが、製造装置や医療機器などで、更新費用が高額となる事から、使用を継続せざるを得ない状況が少なからず発生します。本稿では、レガシー OS の最低限の温存方法を解説します。
基本的な考え方
ネットワークに接続されたレガシー OS を完全に守ることは困難です。脆弱なプロトコルが存在している場合、接続されただけで、乗っ取りやリモートからのプログラムの実行は可能です。従って、通信相手を極限まで減らし、かつ、通信相手の安全性を確実に確保し、結果としてレガシー OS を守ります。
設計の基本原則
- 原則 1:Deny All が起点
- 先に「全部遮断」する
- 必要な通信だけ個別に Allow(許可)する
- 例外を積み上げる設計にしない
- 原則 2:IP / ポート / 方向を固定
- 宛先 IP を固定
- ポート最小化
- In / Out を明確に分離する
- 原則 3:ネットワークインターフェースカードを2枚にし、管理通信と業務通信を分離
- NIC1:RDP / SSH (管理端末のみとする)
- NIC2:業務プロトコル / NTP
- 原則4:多層防御(パーソナル Firewall だけでは守れない)
Windows レガシー OS での実装
- 初期状態:全遮断(以下、コマンドラインインターフェース)
netsh advfirewall set allprofiles firewallpolicy blockinbound,blockoutbound- 業務通信のみ許可(例)
- 業務サーバー ( 192.168.10.50) へ HTTPS/443 を許可
netsh advfirewall firewall add rule
name="Allow_App_Server_443"
dir=out action=allow
protocol=TCP localport=any remoteport=443
remoteip=192.168.10.50- NTP(例)
- NTP サーバー (192.168.10.1)へ NTP/123 を許可
netsh advfirewall firewall add rule ^
name="Allow_NTP" ^
dir=out action=allow ^
protocol=UDP remoteport=123 ^
remoteip=192.168.10.1- 管理用 RDP(例)
- 管理端末 ( 192.168.1.100) へ RDP/3389 を許可
netsh advfirewall firewall add rule ^
name="Allow_RDP_Admin" ^
dir=in action=allow ^
protocol=TCP localport=3389 ^
remoteip=192.168.1.100