如何設定apache可以讓他更安全(二)?



贊助商連結


bigmichael
2005-06-23, 03:22 PM
大家好!
我用windows 架了一台web server
上面灌 apache for windows的版本

我只要讓外面的人能看到我的網站,網站上沒有任何的php或asp的程式,
是純html的網站。

除了流覽網站以外的功能全部關閉,並且把它設定成超級安全。
包括防止盜連...等

經過這些日子的研究,得到下列的修改方法,和大家分享^^



Options -Indexes
加這一行才能讓子目錄不讓別人看到。
-------------------------------------
#<Location /server-status>
# SetHandler server-status
# Order deny,allow
# Deny from all
# Allow from all
#</Location>


#<Location /server-info>
# SetHandler server-info
# Order deny,allow
# Deny from all
# Allow from all
#</Location>
這兩個server-status及server-info全部
關掉,才不系統的狀態讓別人看光光。
-------------------------------------
UseCanonicalName off
設成off才能讓子目錄內的index.htm
在子目錄不用加/一樣能看的到。
如:http://www.abc.com.tw/aa
-------------------------------------
SetEnvIfNoCase Referer "^http:65.35.215.24" local_ref=1
<FilesMatch "\.(gif|jpg|css|swf|xml|js)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>

SetEnvIfNoCase Referer "^http://ftp\.test\.idv\.tw/" local_ref=1
SetEnvIfNoCase Referer "^http://www\.test\.idv\.tw/" local_ref=1
<FilesMatch "\.(gif|jpg)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>
加上面這些,可以防止圖片盜連。打ip或domain都可以。
看要給幾個domain或ip連,即加上去即可。
-------------------------------------


apache的預設值的設定我把它頡取下來如下:


ServerType standalone
ServerRoot "C:/AppServ/Apache"
PidFile logs/httpd.pid
ScoreBoardFile logs/apache_runtime_status
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MaxRequestsPerChild 0
ThreadsPerChild 50
LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule php4_module C:/AppServ/php/sapi/php4apache.dll
ClearModuleList
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_isapi.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_php4.c
AddModule mod_so.c
AddModule mod_setenvif.c
ExtendedStatus On
Port 80
ServerName localhost
DocumentRoot "C:/AppServ/www"
<Directory />
Options FollowSymLinks ExecCGI Indexes
AllowOverride None
</Directory>
<Directory "C:/AppServ/www">

Options -Indexes

AllowOverride All
Order allow,deny
Allow from all
</Directory>

<IfModule mod_userdir.c>
UserDir "C:/AppServ/www/users/"
</IfModule>



<IfModule mod_dir.c>
DirectoryIndex index.html index.htm index.php index.php3
</IfModule>

AccessFileName .htaccess

<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>

UseCanonicalName off

<IfModule mod_mime.c>
TypesConfig conf/mime.types
</IfModule>

DefaultType text/plain

<IfModule mod_mime_magic.c>
MIMEMagicFile conf/magic
</IfModule>

HostnameLookups Off

ErrorLog logs/error.log

LogLevel warn

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

CustomLog logs/access.log combined

ServerSignature On

<IfModule mod_alias.c>

Alias /icons/ "C:/AppServ/Apache/icons/"

<Directory "C:/AppServ/Apache/icons">

</Directory>


ScriptAlias /cgi-bin/ "C:/AppServ/www/cgi-bin/"

<Directory "C:/AppServ/www/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

</IfModule>

<IfModule mod_autoindex.c>


IndexOptions FancyIndexing


AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*

AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^

DefaultIcon /icons/unknown.gif

ReadmeName README
HeaderName HEADER

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

</IfModule>

<IfModule mod_mime.c>


AddType application/x-tar .tgz


AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz

AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .ee
AddLanguage fr .fr
AddLanguage de .de
AddLanguage el .el
AddLanguage he .he
AddCharset ISO-8859-8 .iso8859-8
AddLanguage it .it
AddLanguage ja .ja
AddCharset ISO-2022-JP .jis
AddLanguage kr .kr
AddCharset ISO-2022-KR .iso-kr
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddCharset ISO-8859-2 .iso-pl
AddLanguage pt .pt
AddLanguage pt-br .pt-br
AddLanguage ltz .lu
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .sv
AddLanguage cs .cz .cs
AddLanguage ru .ru
AddLanguage zh-TW .zh-tw
AddCharset Big5 .Big5 .big5
AddCharset WINDOWS-1251 .cp-1251
AddCharset CP866 .cp866
AddCharset ISO-8859-5 .iso-ru
AddCharset KOI8-R .koi8-r
AddCharset UCS-2 .ucs2
AddCharset UCS-4 .ucs4
AddCharset UTF-8 .utf8

<IfModule mod_negotiation.c>
LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
</IfModule>

AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php-source .phps

AddHandler cgi-script .cgi .pl

AddType text/html .shtml
AddHandler server-parsed .shtml

</IfModule>

<IfModule mod_setenvif.c>

BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0

BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

</IfModule>



請問懂apache的高手
上面這兩百多行預設的設定
還有什麼地方可以把它加上#關掉的
或是加上一些設定,可以讓他更安全。

因為只是一個純html的網頁,沒有任何的程式喔!
所以修考到可以符合這個絛件的環境即可,如cig用不到把它關掉...等,要再如何修改呢?

肛恩啊^^ :D :D :jump2: :jocky: