この記事を読むのに必要な時間は約 4 分です。
LAMP環境のセキュリティ設定を行っていく
全開、LAMP環境を初期設定でいろいろ入れてみました。

ここから最低限、セキュリティ設定を厳しくしていきたいと思います。
apache2
ディレクトリの一覧表示を隠す
現在標準設定で以下のような構成です。

以下のように、ディレクトリ直アクセス時に構成は見えてほしくありません。

ディレクトリインデックスは以下のファイルを編集します。
/etc/apache2/apache2.conf
![]()
変更前

変更後1
まず使わないディレクトリ構成をすべて削除します

変更後2
Indexesのを消します。

コンフィグテストを行って、 Syntax OKだけ表示されればOKです。
apache2ctl configtest

図では別のエラーが出てしまっていますが、こちらで修正します。
AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message
サービスの再起動を行います。
systemctl reload apache2.service
![]()
これで、同じようなアクセスをしても一覧表示はされなくなります。

バージョン情報を隠す
脆弱性対策として、バージョン情報は見えないほうが良いです。

apache2.confに以下1行書き足します。
ServerSignature Off
![]()
コンフィグのテストと、再起動を一気にやります。
apache2ctl configtest && systemctl reload apache2.service
不要な情報の削除に成功しました。

存在しないページのアクセスを飛ばす
存在しないページにアクセスすると以下のようなメッセージが表示されます。
Not Found
The requested URL was not found on this server.
オリジナルの404ファイルを作成してindex.htmlと同じフォルダに 404.htmlとして作成し、
apache2.confに以下1行書き足します。
ErrorDocument 404 /404.html

コンフィグのテストと、再起動を一気にやります。
apache2ctl configtest && systemctl reload apache2.service
設定自体は成功しましたが、404.htmlを作っていないのでエラーになります。

簡易的に作ります。

再起動後、内容が変わりました。

あとは、この内容にどれだけ力を入れるかです。
参考
このほかにも各種セキュリティ設定を実施する必要がありますが、
保存していない状態で記事が消えてしまいました。(😿)
後日、別記事にまとめたいと思います。


