2010年10月14日木曜日

[SA-3-10] httpd設定

selinuxの無効化
# getenforce
# setenforce 0
# vi /etc/sysconfig/selinux
#SELINUX=enforcing
SELINUX=disabled
httpdの設定ファイル修正
# vi /etc/httpd/conf/httpd.conf
エラーページ等でOS名を非表示
 #ServerTokens OS
 ServerTokens Prod

エラーページ等でApacheのバージョン非表示
 #ServerSignature On
 ServerSignature Off

不要モジュールの読み込み解除
 #LoadModule auth_anon_module 
 #LoadModule ldap_module modules/mod_ldap.so
 #LoadModule auth_ldap_module modules/mod_auth_ldap.so
 #LoadModule mime_magic_module 
 #LoadModule cern_meta_module 
 #LoadModule deflate_module modules/mod_deflate.so
 #LoadModule headers_module modules/mod_headers.so
 #LoadModule usertrack_module modules/mod_usertrack.so
 #LoadModule status_module modules/mod_status.so
 #LoadModule asis_module modules/mod_asis.so
 #LoadModule info_module modules/mod_info.so
 #LoadModule vhost_alias_module 
 #LoadModule imap_module modules/mod_imap.so
 #LoadModule speling_module modules/mod_speling.so
 #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
 #LoadModule cache_module modules/mod_cache.so
 #LoadModule disk_cache_module 
 #LoadModule file_cache_module modules/mod_file_cache.so
 #LoadModule mem_cache_module 

サーバ管理者のメールアドレス設定
 #ServerAdmin root@localhost

サーバ(FQDN)名設定
 #ServerName www.example.com:80

ドキュメントルート(/var/www/html)のCGI/SSIの実行権付与とインデックスリストの非表示
(Indexes : インデックスリスト表示, FollowSymLinks : Symlink許可, Includes : SSI許可, ExecCGI : CGI許可)
 # Options Indexes FollowSymLinks
 Options FollowSymLinks Includes ExecCGI

ディレクトリアクセス制御
(FileInfo : ファイル関係の制御, AuthConfig : 認証関係, Limit : .htaccessによるアクセス制御, or ALL : 全て許可)
 # AllowOverride None
 AllowOverride FileInfo AuthConfig Limit

ユーザディレクトリ(/home/[user]/public_htmlをhttp://localhost.localdomain/~[user]として表示)の有効化とCGI/SSIの実行権付与とインデックスリストの非表示
※各ディレクトリのパーミッションは,/home/[user] : 711, /home/[user]/public_html : 755です.
 #UserDir disable
 UserDir public_html
 <Directory /home/*/public_html>
  AllowOverride FileInfo AuthConfig Limit
  Options MultiViews SymLinksIfOwnerMatch 
  <LimitExcept GET POST OPTIONS>
   Order deny,allow
   Deny from all
  </LimitExcept>
 </Directory>
 <Directory /home/*/public_html>
  AllowOverride FileInfo AuthConfig Limit
  Options MultiViews SymLinksIfOwnerMatch IncludesNoExec ExecCGI
  <LimitExcept GET POST OPTIONS>
   Order deny,allow
   Deny from all
  </LimitExcept>
 </Directory>

iconsディレクトリのファイル一覧を非表示
<Directory "/var/www/icons">
 #Options Indexes MultiViews
 Options MultiViews
 AllowOverride None
 Order allow,deny
 Allow from all
</Directory>

Index.htmの許可
 DirectoryIndex index.html index.htm

CGIスクリプトとして.plを許可
#AddHandler cgi-script .cgi
AddHandler cgi-script .cgi .pl

アクセスログでのホストネーム使用
 #HostnameLookups Off
 HostnameLookups On

ログ分離設定
 #CustomLog logs/access_log combined
 SetEnvIf Remote_Addr 192.168.1 nolog
 SetEnvIf Remote_Addr 127.0.0.1 nolog
 SetEnvIf Request_URI "Admin.dll" wormlog nolog
 SetEnvIf Request_URI "cmd.exe" wormlog nolog
 SetEnvIf Request_URI "default.ida" wormlog nolog
 SetEnvIf Request_URI "null.ida" wormlog nolog
 SetEnvIf Request_URI "root.exe" wormlog nolog
 CustomLog logs/worm_log common env=wormlog
 CustomLog logs/access_log combined env=!nolog

/var/www以下のディレクトリを,ユーザー権限で操作可能(SFTPにてファイルのアップロードが可能)とする.
# chown -R [user name] /var/www/
# chmod -R g+w /var/www/

テスト用のhtmlファイル作成
# vi /var/www/html/index.html
もしくは
例) sftp://192.168.147.131

外部からWEBサーバへの接続確認
例) http://192.168.147.131

→[SA-1-5]

0 件のコメント: