少し期間が空いてしまった。子育て世代の宿命ですね。。。
前回はApacheのインストールと初期ページが開けることの確認までをしていた。
ので、今回はApacheの設定ファイルを編集する。
なんで編集する必要があるの?
TelnetとかでApacheから情報を取得すると、以下の情報が見れる。
[root@localhost conf.d]# telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
OPTIONS / HTTP/1.1
host: localhost
HTTP/1.1 200 OK
Date: Mon, 01 Apr 2024 17:05:56 GMT
Server: Apache/2.4.57 (Rocky Linux)
Allow: OPTIONS,HEAD,GET,POST,TRACE
Content-Length: 0
Content-Type: httpd/unix-directory
Connection closed by foreign host.
Server: Apache/2.4.57 (Rocky Linux)
Allow: OPTIONS,HEAD,GET,POST,TRACE
→ Apacheのバージョンがわかり、かつTRACEメソッドが有効なので、そのバージョン特有のセキュリティ脆弱性を悪用されるかもしれない。
これらの情報を隠蔽する
ディレクトリ表示の無効
→ ファイルリストをが外部から隠すことで外部から内部構造が知られてしまうのを防ぐ
クリックジャッキング無効
→
[root@localhost conf]# vi httpd.conf
で設定ファイルを編集する。
Options Indexes FollowSymLinks
から、Indexesを消す。
内部ディレクトリ構造を外部から隠すことができた。
あとは、設定ファイルの末尾に次の内容を追記する。
ServerTokens ProductOnly
ServerSignature off
TraceEnable off
Header append X-FRAME-OPTIONS "SAMEORIGIN"
上二行でバージョン情報の削除
下二行でクロスサイトスクリプティング、クリックジャッキングの対策
が有効になった。
[root@localhost conf]# telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
OPTIONS / HTTP/1.1
host: localhost
HTTP/1.1 200 OK
Date: Mon, 01 Apr 2024 17:19:45 GMT
Server: Apache
Allow: HEAD,GET,POST,OPTIONS
X-FRAME-OPTIONS: SAMEORIGIN
Content-Length: 0
Content-Type: httpd/unix-directory
数日間空いてしまったので、今回はここまでで・・・