Vine Linux Apache2の設定-1
Apache2の設定
Apache設定ファイルの編集

# vi /etc/apache2/conf/httpd.conf


ServerTokens Prod      
変更(ServerTokens OS→Prod)
ServerAdmin  
webmaster@****.com    変更(#削除して、管理者のメールアドレス指定)
ServerName
****.com:80           変更(#削除して、自分のドメイン名を指定「:80」を付加)
DocumentRoot "/home/httpd/html"     
変更(ディレクトリをVine6標準の場所に設定)
<Directory "/home/httpd/html">    
変更(ディレクトリをVine6標準の場所に設定)
Options Includes ExecCGI FollowSymLinks   
変更(Indexesを削除、ExecCGI追加してSSIとCGIを有効にする)
AllowOverride All       
変更(NoneをAllに変更して.htaccessの有効化)

インデックスファイル設定
DirectoryIndex index.html index.html.var     
を変更して。
DirectoryIndex index.html index.htm index.shtml index.php index.cgi 
必要なインデックスを追加

WebDAVの脆弱性を狙った攻撃への対策

LogFormat "%h %l %u %t \"
%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
"%r\"を"%!414r\"に変更して
LogFormat "%h %l %u %t \"
%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined  にする

wormからのアクセスをログに記録しない対策(以下を追記する)

SetEnvIf Request_URI "cmd\.exe" nolog
SetEnvIf Request_URI "root\.exe" nolog
SetEnvIf Request_URI "Admin\.dll" nolog
SetEnvIf Request_URI "NULL\.IDA" nolog
SetEnvIf Request_URI "^/_mem_bin/" nolog
SetEnvIf Request_URI "^/_vti_bin/" nolog
SetEnvIf Request_URI "^/c/" nolog
SetEnvIf Request_URI "^/d/" nolog
SetEnvIf Request_URI "^/msadc/" nolog
SetEnvIf Request_URI "^/MSADC/" nolog
SetEnvIf Request_URI "^/scripts/" nolog
SetEnvIf Request_URI "^/default.ida" nolog

gif,jpg,png,ico,cssへのアクセスをログに記録しない対策(以下を追記)
SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(ico)|(css)$" nolog

内部からのアクセスをログに記録しない対策(以下を追記)
SetEnvIf Remote_Addr 192.168.0. nolog

CustomLog logs/access_log combined   env=!nologは追記しない(私の環境では都合が悪い)

ServerSignature off   
On→offでエラーページでApacheのバージョン非表示

#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
   #追加コメントアウトする
ScriptAlias /cgi_bin/ /home/httpd/
cgi_bin/   追加(変更)

AddHandler cgi-script .cgi .pl   
#を削除して .plを追加

編集終了
保存

Apache2再起動と自動起動設定    
 
Apqche2の再起動
# /etc/rc.d/init.d/apache2 restart

Apache2 HTTP Serverを停止中:                [
OK ]
Apache2 HTTP Serverを起動中:                [
OK ]

SyntaxErrorが発生したら見直しすます。

Apache2の自動起動設定
# chkconfig apache2 on


自動起動設定の確認
# chkconfig --list apache2

apache2 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ランレベル3〜5がonならOK

 
 
       
  perlコマンド    
 
#!/usr/bin/perlに加えて/usr/local/bin/perlでもアクセス出来るようにする
# ln -s /usr/bin/perl /usr/local/bin/perl   /usr/local/bin/perlから/usr/bin/perlへリンクをはる

# whereis perl    /usr/local/bin/perlが有るか確認

perl: /usr/bin/perl /usr/local/bin/perl /usr/share/man/man1/perl.1.gz
OK

 
 
       
Apache接続テスト
適当なhtmlファイルをドキュメントルート(/home/httpd/html)に転送する。
ブラウザで http://192.168.0.206/に接続して確認する。


Apacheの基本設定は以上で終了です。
後ほど、使用環境に合わせた様々な設定を行います。
SSI の動作確認
以下のファイルを作成して適当な名前をつけて.shtmlで保存する

<html>
<body>
<pre>
<!--#printenv -->
</pre>
</body>
</html>

サーバーのドキュメントルート/home/httpd/htmlに転送してブラウザで確認します。
環境変数一覧が表示ざれればSSI は正常に作動してます。
  私の環境ではこんな感じです。  

HTTP_ACCEPT=text/html, application/xhtml+xml, */*
HTTP_ACCEPT_LANGUAGE=ja-JP
HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
HTTP_ACCEPT_ENCODING=gzip, deflate
HTTP_HOST=www.xxxxxx.net
HTTP_DNT=1
HTTP_CONNECTION=Keep-Alive
HTTP_COOKIE=xxxxxxxxxx=; 0342362NQ=Yellbsedeoroavpaadr&02aabg&01aabo&00aaaf&09aaan&08aaaf; xxxxxxxUser10342362=1390084115024 1371382427907 1390084115024 50 17; xxxxxxxxxx=1-1411795191; 0342362NQ=Seohrxxgeohrztfaaae&02aaac&00aaac
PATH=/sbin:/usr/sbin:/bin:/usr/bin
SERVER_SIGNATURE=
SERVER_SOFTWARE=Apache
SERVER_NAME=www.xxxxxx.net
SERVER_ADDR=192.168.0.206
SERVER_PORT=80
REMOTE_HOST=xxxxxxx.xxxxxx.ppp.xxxxxxxxxx.or.jp
REMOTE_ADDR=220.157.188.54
DOCUMENT_ROOT=/home/httpd/html
SERVER_ADMIN=root@localhost
SCRIPT_FILENAME=/home/httpd/html/ssi.shtml
REMOTE_PORT=17994
GATEWAY_INTERFACE=CGI/1.1
SERVER_PROTOCOL=HTTP/1.1
REQUEST_METHOD=GET
QUERY_STRING=
REQUEST_URI=/ssi.shtml
SCRIPT_NAME=/ssi.shtml
DATE_LOCAL=Monday, 29-Sep-2014 19:09:58 JST
DATE_GMT=Monday, 29-Sep-2014 10:09:58 GMT
LAST_MODIFIED=Monday, 29-Sep-2014 19:09:25 JST
DOCUMENT_URI=/ssi.shtml
USER_NAME=XXXXXX
DOCUMENT_NAME=ssi.shtml


2014.09.01