インストール
yum -y install httpd yum -y install php php-mbstring
設定
エラーが起きたときにサーバー情報を返さないようにする。
# ServerTokens OS ServerTokens Prod ← エラーページ等でOS名を表示しないようにする
KeepAliveをOnにして複数のリクエストをひとつのコネクションで処理する(負荷分散を入れるときには要注意)
# KeepAlive Off KeepAlive On
不要なモジュールを削除する
# LoadModule actions_module modules/mod_actions.so # LoadModule auth_basic_module modules/mod_auth_basic.so # LoadModule auth_digest_module modules/mod_auth_digest.so # LoadModule authn_alias_module modules/mod_authn_alias.so # LoadModule authn_anon_module modules/mod_authn_anon.so # LoadModule authn_dbm_module modules/mod_authn_dbm.so # LoadModule authn_default_module modules/mod_authn_default.so # LoadModule authn_file_module modules/mod_authn_file.so # LoadModule authz_default_module modules/mod_authz_default.so # LoadModule authnz_ldap_module modules/mod_authnz_ldap.so # LoadModule authz_dbm_module modules/mod_authz_dbm.so # LoadModule authz_groupfile_module modules/mod_authz_groupfile.so # LoadModule authz_owner_module modules/mod_authz_owner.so # LoadModule authz_user_module modules/mod_authz_user.so # LoadModule cache_module modules/mod_cache.so # LoadModule cgi_module modules/mod_cgi.so # LoadModule dav_module modules/mod_dav.so # LoadModule disk_cache_module modules/mod_disk_cache.so # LoadModule env_module modules/mod_env.so # LoadModule expires_module modules/mod_expires.so # LoadModule ext_filter_module modules/mod_ext_filter.so # LoadModule include_module modules/mod_include.so # LoadModule info_module modules/mod_info.so # LoadModule ldap_module modules/mod_ldap.so # LoadModule mime_magic_module modules/mod_mime_magic.so # LoadModule proxy_module modules/mod_proxy.so # LoadModule proxy_ajp_module modules/mod_proxy_ajp.so # LoadModule proxy_balancer_module modules/mod_proxy_balancer.so # LoadModule proxy_connect_module modules/mod_proxy_connect.so # LoadModule proxy_ftp_module modules/mod_proxy_ftp.so # LoadModule proxy_http_module modules/mod_proxy_http.so # LoadModule speling_module modules/mod_speling.so # LoadModule status_module modules/mod_status.so # LoadModule substitute_module modules/mod_substitute.so # LoadModule suexec_module modules/mod_suexec.so # LoadModule userdir_module modules/mod_userdir.so # LoadModule usertrack_module modules/mod_usertrack.so # LoadModule version_module modules/mod_version.so # LoadModule vhost_alias_module modules/mod_vhost_alias.so
システム管理者のメールアドレスを登録する
# ServerAdmin root@localhost ServerAdmin apache@mydomain.com
サーバー名を指定する。
#ServerName www.example.com:80 ServerName www.mydomain.com:80
/var/www/htmlについてオプションを変更する。SSI(Server Side Include)、CGI,シンボリックリンクを使えるようにする。ファイル一覧表示はできないようにする。
# Options Indexes FollowSymLinks Options Includes ExecCGI FollowSymLinks
.htaccessを利用できるようにする。
# AllowOverride None AllowOverride All
ディレクトリ名でアクセス(URLの最後が”/”で終わっている)時に探索するファイルの優先順位を決める。
# DirectoryIndex index.html index.html.var DirectoryIndex index.html index.htm index.cgi index.php
アクセスログを確認して414エラーでログの解析ができないときには以下のように変更して414エラーをログに残さないようにします(最初から設定する必要はありません)。414エラーはDAVの脆弱性をつく攻撃にあった場合に出力されます。
# LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
ログに記録するアクセスを指定する
ワームからのアクセスはデフォルトでは出力しない。必要に応じてすぐに別のログファイルに出力できるようにworm_log変数を指定しておく。
SetEnvIf Request_URI "default\.ida" no_log worm_log SetEnvIf Request_URI "cmd\.exe" no_log worm_log SetEnvIf Request_URI "root\.exe" no_log worm_log SetEnvIf Request_URI "Admin\.dll" no_log worm_log SetEnvIf Request_URI "NULL\.IDA" no_log worm_log
アイコンや画像へのアクセスはログに出力しない。
SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(ico)|(css)$" nolog
ログの出力先を指定する。
# CustomLog logs/access_log combined CustomLog logs/access_log combined env=!no_log Worm用ログをあらかじめ用意しておく。必要に応じてコメントを外す。 # CustomLog logs/worm_log combined env=worm_log
サーバー情報を表示しないようにする。
# ServerSignature On ServerSignature Off
言語設定の順番を変える
# 日本語と英語を先頭に持ってくる。他に自分がよく使う言語があれば先頭に持ってくる。 AddLanguage ja .ja AddLanguage en .en
優先順位を変更する。
# LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW LanguagePriority ja en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
デフォルトの言語を無効にする。
# AddDefaultCharset UTF-8
cgiを有効にする。
#AddHandler cgi-script .cgi AddHandler cgi-script .cgi .pl
phpを利用できるようにします。
AddType application/x-httpd-php .php
iconsディレクトリについて一覧表示をできないようにする。
<Directory "/var/www/icons"> # Options Indexes MultiViews FollowSymLinks Options MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
設定
再起動時にApacheが起動するにようにする。
# chkconfig httpd on # chkconfig --list httpd
テストページを削除する
# ウェルカムページ削除 rm -f /etc/httpd/conf.d/welcome.conf # デフォルトエラーページ削除 rm -f /var/www/error/noindex.html
httpdを再起動する
# service httpd restart