WEB業界で働く人や興味がある人に役立つ情報サイト“qam(カム)”

たかし

2022/09/01

Webサイトを制作したら必ず設定したい「.htaccess」によるセキュリティ対策

投稿者: たかし
カテゴリー: プログラム >セキュリティ

Webサイトのセキュリティを保つためには、プログラム面での対策も有効ですが、「.htaccess」を利用した方法も有効です。
今回はWebサイトのセキュリティに役立つ.htaccessの設定例をご紹介します。

クロスサイトスクリプティング(XSS)、クリックジャッキング脆弱性対策

XSSによる悪意のあるスクリプトの実行回避、クリックジャッキングによるiframeを利用した悪意のある操作を回避します。

Header set X-XSS-Protection "1; mode=block"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Download-Options: noopen
Header set X-Powered-By: ""
Header always append X-Frame-Options SAMEORIGIN

htaccessへのアクセスをブロック

「.htaccess」に不正アクセスされるのを防ぐために、.htaccess自体へのアクセス制限をします。

deny from all

ディレクトリの表示禁止

ブラウザでディレクトリにアクセスされた際、ファイル一覧が閲覧できないようにします。

Options -Indexes

Webサイトを強制的にSSL通信にする

サイトをHTTPSプロトコルで読み込むように強制します。
以降の指定された期間は当該サイトには全てHTTPSによって接続します。

Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

Secure Cookieでsecure属性を追加する

SSL通信がされていても、cookieで「secure属性」を指定しないとcookie内の情報が漏洩する可能性があります。

php_flag session.cookie_httponly on
php_flag session.cookie_secure On

WordPressの管理画面(wp-login.php)へのアクセスをブロック

WordPressの管理画面への不正アクセスを防ぐため、固定IPのみ接続を可能にし、関係者以外のアクセスをブロックします。
※「00.00.00.00」にIPアドレスを記述

Order deny,allow
Deny from all
Allow from 00.00.00.00

WordPressで攻撃されやすいファイルのアクセスをブロック

wp-config.php
WordPressの動作に必要な設定ファイル
wp-cron.php
予約投稿やアップデート通知など時刻連動の処理に使われるファイル

<FilesMatch "^(wp-config\.php|wp-cron\.php)">
order allow,deny
deny from all

 
xmlrpc.php
特定のホストへpinbackを送るファイル

RewriteEngine On
RewriteBase /
RewriteRule ^xmlrpc\.php$ "http\:\/\/0\.0\.0\.0\/" [R=301,L]

まとめ

「.htaccess」を利用したセキュリティ対策をご紹介しました。
簡単に設定ができ、効果的なセキュリティ設定となりますので、参考にしてください。

コーディング業務のご依頼、ご相談の詳細についてはこちらから

最後までお読みいただき、ありがとうございました。

よろしければシェアしていただければ幸いです。

  • このエントリーをはてなブックマークに追加

関連記事

よろしければこちらの記事もお読みください。

WEB業界ならqam!qam(カム)はWEB業界で働く人や興味がある人に役立つ情報サイトです。
マーケティングやデザイン、マークアップ(コーディング)、プログラム、トレンドなどの情報をqamライター陣が執筆。噛めば噛むほど(読めば読むほど)制作・開発や運営・運用、業界知識やノウハウを学ぶことができます。

トップへ