ここで説明している内容は、レンタルサーバーではなく、自宅に設置するパソコンを、Webサーバーとして公開する場合、考える必要が有るセキュリティについて述べています。
Dosdetctor
GitHubからDosdetector-master.zipファイルをダウンロードします。なお、本項はサイトLACOONさんのサイトを参考にさせて頂きました。Patchファイルも含めて。
上図で、Codeのボタンをクリックすると、出てきたプルダウン画面の下に、Download ZIPのリンク文字にカーソルを当てて右クリックし、リンクをコピーします
Apacheのモジュールの確認
念の為、Apacheのモジュールがインストールされているか確認しておきます。
# httpd -M | grep so_module so_module (static) so_moduleがあればそのまま継続できます。
Dosdetectorのダウンロード
GitHubのサイトからダウンロードするため、サイトのZipファイルのダウンロードからURLをコピーした後、下記の操作をします。Patchファイルも作者のLACOONさんのサイトからwgetでダウンロードします。
# cd /usr/local/src/ # wget https://github.com/stanaka/mod_dosdetector/archive/master.zip # wget https://techblog.raccoon.ne.jp/wp-content/uploads/2018/04/mod_dosdetector.patch # ll 合計 3184 -rw-r--r--. 1 root root 7677 1月 26 12:49 master.zip -rw-r--r--. 1 root root 9691 8月 14 2018 mod_dosdetector.patch
Zipファイルを解凍し、ファイルを配置
ダウンロードしたZipファイルを解凍し、出来たフォルダーに、Patcheファイルを移動します
# unzip master.zip # ll 合計 3196 -rw-r--r--. 1 root root 7677 1月 26 12:49 master.zip drwxr-xr-x. 3 root root 238 1月 26 13:25 mod_dosdetector-master -rw-r--r--. 1 root root 9691 8月 14 2018 mod_dosdetector.patch # mv mod_dosdetector.patch ./mod_dosdetector-master # cd mod_dosdetector-master # ll 合計 156 -rw-r--r--. 1 root root 1065 1月 26 12:56 Makefile -rw-r--r--. 1 root root 1963 10月 27 2013 README.md -rw-r--r--. 1 root root 22448 1月 26 13:20 mod_dosdetector.c -rw-r--r--. 1 root root 9688 1月 26 12:52 mod_dosdetector.patch -rw-r--r--. 1 root root 1415 10月 27 2013 mod_dosdetector.spec
httpd-develのインストール
始めにApacheのモジュールをコンパイルするツールが必要になります。それには、apxsコマンドが実行出来るよう、httpd-devel パッケージをインストールする必要があります。
# yum -y install httpd-devel
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel/x86_64/metalink | 6.8 kB 00:00
* base: ftp.riken.jp
* centos-sclo-rh: ftp.riken.jp
・・・・・・省略・・・・
* remi-php73: ftp.riken.jp
* remi-safe: ftp.riken.jp
* updates: ftp.riken.jp
base | 3.6 kB 00:00
centos-sclo-rh | 3.0 kB 00:00
centos-sclo-sclo | 2.9 kB 00:00
apr x86_64 1.4.8-5.el7 base 103 k
httpd x86_64 2.4.6-90.el7.centos base 2.7 M
httpd-tools x86_64 2.4.6-90.el7.centos base 91 k
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/9): apr-devel-1.4.8-5.el7.x86_64.rpm | 188 kB 00:01
・・・・・省略・・・・・
依存性を更新しました:
apr.x86_64 0:1.4.8-5.el7 httpd.x86_64 0:2.4.6-90.el7.centos
httpd-tools.x86_64 0:2.4.6-90.el7.centos
完了しました!
Makeファイルの修正
mod_dosdetectorのフォルダ内にソースとMakefileがありますが、念の為、apxpファイルのパスとMakefile内の記述を確認しておきます。
# which apxs /usr/bin/apxs # cd /usr/local/src/mod_dosdetector/ # vi Makefile # the used tools 7行目 APXS=/usr/sbin/apxs ・・・・apxsの場所が調べた場所と違います ↓ APXS=/usr/bin/apxs ・・・・に変更します!
インストール
# cd /usr/local/src/mod_dosdetector # make ・・・略・・・ # echo $? # 0 ・・・・「0」ならばOK 警告は無視して可 続いてインストールします・・・ # make install ・・・略・・・ # echo $? # 0 ・・・「0」ならばOK
設定。httpd.conf に、以下を追加
# vi /etc/httpd/conf/httpd.conf Shift+i ############################### # Dos Detector ############################### DoSDetection on DoSPeriod 60 DoSThreshold 200 DoSHardThreshold 300 DoSBanPeriod 30 DoSTableSize 100 #DoSIgnoreIpRange 192.168.0.0/16 <=====この初期設定ではhttpdでエラーが出るのでコメントアウト #DoSIgnoreIpRange 172.16.0.0/12 <=====この初期設定は上記のおそれあり、コメントアウト RewriteCond %{ENV:SuspectDoS} =1 RewriteCond %{HTTP_USER_AGENT} !googlebot [NC] RewriteRule . - [E=DoS:1] ErrorDocument 500 /error503.html RewriteCond %{ENV:DoS} =1 RewriteCond %{REQUEST_URI} !=/error503.html RewriteRule . - [R=503,L] CustomLog /var/log/httpd/sd-static-dosdetector.log combinedr env=DoS ESC :wq # systemctl restart httpd
以上で、Dosdetectorのインストールと設定は完了です。
動作確認
現在、書きかけ中です。