Linux Install Memo

サーバー管理者によるLinux関連ソフトのインストールメモ

Home » □Apache+PHP(+SSL)でのセキュリティ対策

□Apache+PHP(+SSL)でのセキュリティ対策

□Apache+PHP(+SSL)でのセキュリティ対策

いろいろあるのでまとめてみましたが、バージョン隠すとか当たり前になると、botはそんなの無視してより効率的な方法で突いてきますので、実効性には?です。

それよりも、パスワードを取られたりするマルウェアに感染しないように、添付ファイルは基本開かない、親しいor信用ある相手からのメールでも疑うようにしないとダメです。「添付ファイル付きメールがきましたけどあけても大丈夫ですか?」とわざわざ聞くくらいでなければ、ね。

あとはこういう情報、IPAとかでまとめているので、時々目を通すといいんじゃないかと思います。時代の流れでIPAのまとめも変わってきますので。

・httpd.conf

----------
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

Alias /icons/ “/var/www/icons/”

<Directory “/var/www/icons”>
Options -Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

<Directory “/var/www/cgi-bin”>
AllowOverride None
Options -Indexes
Order allow,deny
Allow from all
</Directory>

# 最後に追加すればいい
TraceEnable Off
ServerTokens ProductOnly
ServerSignature Off
----------
※不要なモジュールを読み込まない(proxyを使っていないならproxy関連全て読まないようにする)
※iconsがそもそも要らないなら全部コメントアウトするか、mvしてしまう
※cgi-binがそもそも要らないなら全部コメントアウトするか、mvしてしまう
※デバッグ要求を拒否
※Apacheのバージョンが出なくなる
※他でも、インデックスを出したくないところで -Indexes した方がいいらしい

・/var/www/error/

mv /var/www/error/ /var/www/error-/

※http://[URL]/error/README などでアクセスされる可能性があるため

・cat > /etc/httpd/conf.d/access_denied.conf

----------
<FilesMatch “\.(cn?f|conf|inc|ini|tpl|log|[0-9]|exe|com|bat|sh|csh|tsh|bash|rc|lnk|scr|pif|eml|tpl|docx?|xlsx?|pptx?|vsd|[lm]db|~)$”>
Order Allow,Deny
Deny from All
</FilesMatch>
----------
※これらの拡張子のファイルにアクセスさせない…ので適時変更すること

・cat > /etc/httpd/conf.d/wp-login_denied.conf

----------
<FilesMatch “wp-login.php”>
Order deny,allow
deny from all
allow from .example.or.jp (アクセスを許可するホスト名 or ドメイン名)
allow from xxx.xxx.xxx.xxx (アクセスを許可するIPアドレス or ネットワーク)
allow from localhost
</FilesMatch>
----------
※WordPressの管理画面にアクセスできるホストやIPアドレスを制限する(ホスト名の逆引きを無効にしていてもホスト名で指定可能)
※.htaccessでもできる。

・php.ini

----------
expose_php = Off

session.cookie_httponly = 1
----------
※PHPのバージョンが出なくなる
※発行するcookieにhttponly属性を付与して、document.cookieで取得できなくする
Internet Explorer 6 SP1以降とか、最近のブラウザなら問題なし

・htpasswd

htpasswdでパスワードを生成するときには -m を忘れずに

※8文字以上のパスワードを有効にするため

□SSLも使う場合

・ssl.conf

----------
SSLHonorCipherOrder ON
SSLCipherSuite EECDH+HIGH:EDH+HIGH:HIGH:MEDIUM:+3DES:!ADH:!RC4:!MD5:!aNULL:!eNULL:!SSLv3:!SSLv2:!LOW:!EXP:!PSK:!SRP:!DSS:!KRB5
----------
※auはSSL3.0のみなので、!SSLv3するとアクセスすることが出来なくなる

・php.ini

----------
session.cookie_secure = 1
----------
※SSLな状態でのみCookieを食わす…ので、HTTP接続の時にはセッションIDが毎回変わるので注意
(何らかの方法で統一したセッションIDを設定してあげないといけない)

 

ここに書いてあることを鵜呑みで設定しないように!! 時代とともに設定は変わります。

ちゃんと意味を理解した上で設定してください。

(´Д`)ハァ…

Name of author

Name: admin

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です