LoginSignup
0
0

Webサーバのバージョン隠ぺいの方法及びメリット。

Posted at

概要

Webサーバのバージョンを全世界に公開してしまっていると、セキュリティ上よくない。
例えば、機器の脆弱性は色々なサイトから公表されているが、(以下はZabbix)

該当のバージョンに対応する脆弱性を検索されてそれを実行されてしまうという恐れがある。

*上記の例だと、ZabbixAgentのバージョンが外から見れてしまうと問題になりそう。
そのため、各サービスのバージョン情報は外部から見れないようにするとよい。
今回は、apacheとphpのバージョン情報をcurlで見れないようにしていく手順を記載する。

事前確認

対象のWebサーバ宛てにcurlコマンドを実行する。

curl  -v --head url

何も対処していないと以下のようにバージョンが表示される。
200OKのすぐ下に、Apacheのバージョンが表示されているのが確認できると思われる。

出力結果
PS C:\Users\daigo.ito> curl -v --head https://sample.hoge.co.jp
略
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Date: Wed, 25 Oct 2023 02:33:08 GMT
Date: Wed, 25 Oct 2023 02:33:08 GMT
< Server: Apache/2.2.3 (CentOS)
Server: Apache/2.2.3 (CentOS)
< Last-Modified: Fri, 21 Jan 2011 08:11:11 GMT
Last-Modified: Fri, 21 Jan 2011 08:11:11 GMT
略

httpd隠ぺい作業

これではよくないため、以下の操作をして隠ぺいを行っていく。以下のファイルを編集する。

sudo vi /etc/httpd/conf/httpd.conf

その後、以下の内容を追記する。ない場合は新たに追記する。
*Enablesendfileの後に記載し、includeの前に記載するとよい。

ServerTokens ProductOnly
ServerSignature Off

その後、httpdを再起動させる。

sudo systemctl restart httpd

この状態でcurlを実行すると、apacheのバージョンは見えなくなる。

実行結果
略
< HTTP/1.1 200 OK
< Date: Wed, 25 Oct 2023 02:41:31 GMT
< Server: Apache (ここ)
< Content-Length: 481
< Content-Type: text/html;charset=ISO-8859-1
<
略

php隠ぺいサイト

次にphp分がある場合は、以下のように記載する。

sudo vi /etc/php.ini

そして、以下の記述を追加する。

編集内容
expose_php = Off

phpはモジュールであり、再起動は不要。

それぞれのパッケージのアップデート

これが済んだら、update作業を行っていく。
以下のコマンドを実行し、apacheをupdateする。

sudo yum update httpd

updateが終わった後httpdは一度落ちるため、再度systemctl startさせる必要がある。

sudo systemctl start httpd

phpのアップデートが必要な場合は実行する。ただい、phpはバージョンアップにより仕様が変わって動かなくなることがあるので、もし行う場合は事前に検証を入念に行う事。

sudo yum update php

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0