ハッキングの初期段階ではソフトウェアやバージョン情報の収集が行われます。そこでバージョン情報を表示させずにセキュリティを向上させる方法を説明します。こんな簡単な設定ですが、効果は絶大です。
課題 : バージョン情報が表示される
ハッカーはnmapでスキャンを行います。スキャン結果から nginx 1.18.0 が稼働していることがわかります。ソフトウェアとバージョン情報が分かれば、脆弱性情報を調査するのは簡単ですよね。
$ nmap -sV 52.68.59.139
Starting Nmap 7.80 ( https://nmap.org ) at 2023-03-27 07:37 UTC
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (Ubuntu Linux; protocol 2.0)
80/tcp open http nginx 1.18.0 (Ubuntu)
443/tcp open ssl/http nginx 1.18.0 (Ubuntu)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
理想 : バージョン情報が表示されない
そこで nmapでスキャンをされても、下記のようにスキャン結果が nginx だけにすることができます。これにより、ハッカーは脆弱性を調査することが難しくなります。
$ nmap -sV 52.68.59.139
Starting Nmap 7.80 ( https://nmap.org ) at 2023-03-27 07:40 UTC
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (Ubuntu Linux; protocol 2.0)
80/tcp open http nginx
443/tcp open ssl/http nginx
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
設定
nginxの設定ファイルを編集します。
$ sudo vi nginx.conf
httpモジュール内に server_tokens off; を追記します。
http {
server_tokens off;
}
設定ファイルを再読み込みします。
$ sudo systemctl reload nginx
このように設定は1行追加するだけなので数分でできます。
結果
上記の設定で nginxのバージョン情報が非表示になります。