この記事を読むのに必要な時間は約 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を作っていないのでエラーになります。
簡易的に作ります。
再起動後、内容が変わりました。
あとは、この内容にどれだけ力を入れるかです。
参考
このほかにも各種セキュリティ設定を実施する必要がありますが、
保存していない状態で記事が消えてしまいました。(😿)
後日、別記事にまとめたいと思います。