1、如何在Ubuntu上搭建安全的Apache Web伺服器
1.安裝Apache2
使用下面這個命令,安裝Apache2及其他庫。
1
$ sudo apt-get -y install apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt libapache2-mod-suphp libopenssl-ruby libapache2-mod-ruby
2.阻止分布式拒絕服務(DDoS)攻擊
$ sudo apt-get -y install libapache2-mod-evasive
$ sudo mkdir -p /var/log/apache2/evasive
$ sudo chown -R www-data:root /var/log/apache2/evasive
把下面這個命令添加到mod-evasive.load的末尾處。
$ sudo nano /etc/apache2/mods-available/mod-evasive.load DOSHashTableSize 2048
DOSPageCount 20 # 請求同一頁面的最大數量
DOSSiteCount 300 # 同一偵聽器上同一客戶端IP請求任何對象的總數量
DOSPageInterval 1.0 # 頁面數量閾值的間隔
DOSSiteInterval 1.0 # 站點數量閾值的間隔
DOSBlockingPeriod 10.0 # 客戶機IP被阻止的時間段
DOSLogDir 「/var/log/apache2/evasive」
DOSEmailNotify [email protected]
3.阻止DNS注入攻擊
$ sudo apt-get -y install libapache2-mod-spamhaus
$ sudo touch /etc/spamhaus.wl Append the config to apache2.conf
$ sudo nano /etc/apache2/apache2.conf
MS_METHODS POST,PUT,OPTIONS,CONNECT
MS_WhiteList /etc/spamhaus.wl
MS_CacheSize 256
2、在Apache2伺服器上,如何啟用線程安全
先停掉apache的服務
殺掉httpd.exe進程 重啟apache服務看看是否可以
3、如何增加apache伺服器的安全性
負責您伺服器和網站的各方面技術處理和日常維護(除網站程序代碼的修改和內容的更新外)。 2、WEB伺服器環境配置Apache,PHP,MySQL,Zend,各類組件等的安裝和配置升級。例如:LAMP(linux+apache+mysql+php)環境的安裝配置及優化;nginx+mysql/sqlserver+Resin環境的安裝配置及優化;apache+mysql/sqlserver+tomcat環境的安裝配置及優化;mysql、postgresql資料庫的安裝配置維護及優化及資料庫同步設置; 3、其它應用程序安裝配置按客戶的特殊需求安裝和調試其他程序和升級;postfix郵件伺服器的配置維護及優化;VPN專線撥入的安裝配置及優化;智能DNS分步式解析系統架設;各種負載均衡、集群、雙機的配置維護及優化; 4、PHP網站安全檢測和清馬Unix系統各類網站安全漏洞的檢測和被黑後的修復、清理木馬後門等措施、防火牆配置,主要針對獨立網站。
4、詳細全面介紹什麼是 Apache伺服器
Apache,一種開放源碼的HTTP伺服器,可以在大多數計算機操作系統中運行,由於其多平台和安全性(注1)被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的API擴展,Perl/Python等解釋器可被編譯到伺服器中。
歷史
Apache
起初由 Illinois 大學 Urbana-Champaign 的國家高級計算程序中心開發。此後,Apache
被開放源代碼團體的成員不斷的發展和加強。Apache
伺服器擁有牢靠可信的美譽,已用在超過半數的網際網路站中-特別是幾乎所有最熱門和訪問量最大的網站。
開始,Apache只是Netscape網頁伺服器(現在是Sun
ONE)的之外的開放源代碼選擇。漸漸的,它開始在功能和速度。超越其他的基於Unix的HTTP伺服器。1996年4月以來,Apache一直是
Internet上最流行的HTTP伺服器: 1999年5月它在 57% 的網頁伺服器上運行;到了2005年7月這個比例上升到了69%。
作
者宣稱因為這個名字好記才在最初選擇它,但是流傳最廣的解釋是(也是最顯而易見的):這個名字來自這么一個事實:當Apache在1995年初開發的時
候,它是由當時最流行的HTTP伺服器NCSA HTTPd 1.3 的代碼修改而成的,因此是「一個修補的(a
patchy)」伺服器。然而在伺服器官方網站的FAQ中是這么解釋的:「『Apache』這個名字是為了紀念名為Apache(印地語)的美洲印第安人
土著的一支,眾所周知他們擁有高超的作戰策略和無窮的耐性」。無論怎麼樣,Apache 2.x 分支不包含任何 NCSA 的代碼。
特性
Apache
支持許多特性,大部分通過編譯的模塊實現。這些特性從伺服器端的編程語言支持到身份認證方案。一些通用的語言介面支持Perl,Python, Tcl,
和 PHP。流行的認證模塊包括 mod_access, mod_auth 和 mod_digest。其他的例子有 SSL 和 TLS 支持
(mod_ssl), proxy 模塊,很有用的URL重寫(由 mod_rewrite 實現),定製日誌文件
(mod_log_config),以及過濾支持(mod_include 和
mod_ext_filter)。Apache日誌可以通過網頁瀏覽器使用免費的腳本AWStats或Visitors來進行分析。
2.x版本
Apache 的2.x版本核心在Apache 1.x版本之上作出了重要的加強。這包括:線程,更好的支持非UNIX平台(例如Windows),新的 Apache API,以及IPv6支持。
評價
《PC Magazine》2004年8月評出了近30年以來的10款最佳軟體產品。
他們其中或者是有過最輝煌的歷史,或者是最具創意。其對apache的評價是:第三名:Apache(阿帕奇,1995年推出)Apache目前已經演變
成了「LAMP」,即Linux、Apache、MySQL和PHP的聯合體。這是一個開放源代碼軟體項目,已經對微軟的「.NET」戰略構成嚴重威脅。
尤其是Apache網路伺服器,讓用戶充分體驗到開發源碼軟體的穩定性、可靠性和可定製性。
Apple.com評價apache時
說:Apache是伺服器軟體始終不斷進化的大塊部件,它免費但又是無價之寶。Apache
是在資源開放運動中出現的絕對珍品,因為不屬於個人專利而是對公共免費。一旦擁有這些源碼,程序員能夠自由完成所想——能在其它程序員接替工作時被賦予同
樣的許可權來改變和修改自己的源代碼。
注釋
盡管不斷有新的漏洞被發現,但由於其OpenSource的特點,漏洞總能被很快修補。因此總的來說,其安全性還是相當高的。
() [#page_#][#page_#]AddHandler cgi-script .cgi
AddHandler server-parsed .shtml
Sethandler cgi-script
AddHandler定義了何種擴展名用那一個字元串進行描述.
SetHandler把一個目錄下的文件都指定用這一個字元串描述.
我在這里提到的命令都是與其結構密切相關的. Handler和Type的關系在下面會描述的. 許多的東東從外面是看不清楚的, 下面, 我們從裡面看.
三 程序的基本結構
-----------------
Apache有非常好的跨平台性. 為了實現這一目標和簡化模塊編寫者的負擔,Apache完成了許多基本的功能如IO, 內存分配等, 這些介面都是與具體平台無關的. 還有一些很有用的常式如: hash table, array 等. 在整個體系中, Apache有一個基本點, 它盡可能的使用簡單的結構和演算法, 這不僅易於理解和維護, 還提高了它的穩定性.
在
UNIX系統上, Apache採用了多進程模型, 在Window上採用了多線程模型.多進程模型中, 其子進程處理客戶請求,
父進程用於管理子進程. 當系統過載時父進程會再啟動幾個子進程, 當系統空閑時, 父進程會殺掉幾個子進程.
子進程的數目在"MinSpareServers"和"MaxSpareServers"之間. 而且, 每個子進程處理的請求個數也是有限制的,
這可以解決諸如內存泄漏等問題. 所有的進程狀態都被記錄在share memory中. 由於每個進程的狀態記錄在其中的一小塊內存上,
它通常也只讀寫這一塊內存, 因此, Apache沒有使用什麼同步機制.
在Richard Steve的書上說到的幾種多進程伺服器模型, Apache都使用了,在不同的系統上根據其特點選擇使用不同的方法:
1. accept :
在accept處阻塞, 只有在accept是在內核級實現的才行.
2. select :
在select處阻塞.
3. mutex/lock_file :
使用mutex或lock_file來進行對accpet進行互斥.
三
種方法都要求進行阻塞, 區別在於阻塞與不同的地方. 前兩種方法都會由所謂的巨群問題: 多個阻塞在同一個資源上的進程被同時喚醒引發再次競爭.
不過, 按Richard Steve 的評測, 第一種方法最快, 第二種其次, 第三種最慢. 其實, 在linux上第三種方法也會有巨群問題.
Apache雖然並不強調性能, 這並不意味著他們不重視性能. 而是Apache認為在Server端realiable才是第一位的. 但Apache的性能還是不錯的.
5、Apache伺服器是什麼?有什麼用啊!
一般用於支撐web站點,搭建網站
6、WEB伺服器選擇Apache好還是IIS?有什麼區別?
Apache在各方面都比IIS要好,下面列舉出它們之間的區別:
1、免費與收費之爭:
雖然很多用戶都使用IIS建立網站,他是集成於Windows操作系統中的組件。不過要想合法使用IIS就要購買正版Windows操作系統。反觀Apache,他是完全免費的。不需要支付任何費用就可以免費下載並使用了。
結論——Apache免費,IIS收費,前者占優。
2、穩定性:
WWW服務要隨時運轉正常,一個網站也需要一天24小時,一周七天為公眾開放。所以穩定性是IIS和APACHE比較的重點。
IIS在實際使用中經常出現500錯誤,而且有的時候還會出現莫名其妙的假死現象。用戶需要不定期的重新啟動IIS服務才能保證網站的正常。
Apache在配置上比IIS要復雜,不過一經設置完畢就可以長期的工作了。大型網站都使用APACHE作為自己的WWW服務提供工具。APACHE的所有配置都保存在配置文件中,使用時完全按照配置文件中記錄的信息執行。一般不會發生莫名其妙的假死情況。
在windows2003系統下使用IIS比用APACHE性能要好。
結論——APACHE穩定,IIS有時假死,前者占優。
3、擴展性:
擴展性是指WWW服務提供工具是否可以應用於多種場合,多種網路情況,多種操作系統。IIS只能在微軟公司的windows操作系統下使用,離開了windows他將一事無成。無法移植到其他類型的操作系統中。
APACHE是個多面手,他不僅僅應用於windows,對於unix,linux以及freebsd等多種操作系統來說他都可以勝任工作。而且不同操作系統的配置步驟基本類似,可移植性非常高。
結論——IIS只能在windows下運行,apache應用范圍廣。
7、如何維護Apache伺服器安全
http://drops.wooyun.org/%E8%BF%90%E7%BB%B4%E5%AE%89%E5%85%A8/2727
8、linux伺服器上架構apache伺服器,安全方面要怎麼配置?
找個企業級 Linux 裝好就行了。不需要的東西一律不裝。所有用戶的密碼必須很長很長很長防止被爆破密碼。
之後就是保證系統能自動升級,沒有開自動升級要隨時手動升級。
之後就是 apache 跑的網站的安全了。
Linux 本身就是安全第一的系統,所以很多默認設置就是極為安全的。
9、安全配置和維護Apache WEB Server
前言:在目前的Internet時代,主頁已成為樹立公司形象和展示自我天地的一個重要手段,配置一台強大且安全的Web Server就顯得尤其重要。在眾多的Web Server產品中,Apache是應用最為廣泛的一個產品, 同時也是一個設計上非常安全的程序。但是,同其它應用程序一樣,Apache也存在安全缺陷。上海快網將詳細介紹如何正確配置和維護Apache WEB Server的安全性問題等。
一、Apache伺服器的介紹
Apache伺服器它是Internet網上應用最為廣泛的Web伺服器軟體之一。Apache伺服器源自美國國家超級技術計算應用中心(NCSA)的Web伺服器項目中。目前已在互聯網中占據了領導地位。Apache伺服器得經過精心配置之後,才能使它適應高負荷,大吞吐量的互聯網工作。快速、可靠、通過簡單的API擴展,Perl/Python解釋器可被編譯到伺服器中,且完全免費,完全源代碼開放。如果你需要創建一個每天有數百萬人訪問的Web伺服器,Apache可能是最佳選擇。
二、Apache伺服器的主要安全缺陷
正如我們前言所說盡管Apache伺服器應用最為廣泛,設計上非常安全的程序。但是同其它應用程序一樣,Apache也存在安全缺陷。畢竟它是完全源代碼,Apache伺服器的安全缺陷主要是使用HTTP協議進行的拒絕服務攻擊(denial of service)、緩沖區溢出攻擊以及被攻擊者獲得root許可權三缺陷和最新的惡意的攻擊者進行「拒絕服務」(DoS)攻擊。合理的網路配置能夠保護Apache伺服器免遭多種攻擊。我們來介紹一下主要的安全缺陷:
(1)使用HTTP協議進行的拒絕服務攻??(denial of service)的安全缺陷
這種方法攻擊者會通過某些手段使伺服器拒絕對HTTP應答。這樣會使Apache對系統資源(CPU時間和內存)需求的劇增,最終造成Apache系統變慢甚至完全癱瘓。
(2)緩沖區溢出的安全缺陷
該方法攻擊者利用程序編寫的一些缺陷,使程序偏離正常的流程。程序使用靜態分配的內存保存請求數據,攻擊者就可以發送一個超長請求使緩沖區溢出。比如一些Perl編寫的處理用戶請求的網關腳本。一旦緩沖區溢出,攻擊者可以執行其惡意指令或者使系統宕機。
(3)被攻擊者獲得root許可權的安全缺陷
該安全缺陷主要是因為Apache伺服器一般以root許可權運行(父進程),攻擊者會通過它獲得root許可權,進而控制整個Apache系統。
(4)惡意的攻擊者進行「拒絕服務」(DoS)攻擊的安全缺陷
這個最新在6月17日發現的漏洞,它主要是存在於Apache的chunk encoding中,這是一個HTTP協議定義的用於接受web用戶所提交數據的功能。 利用黑客程序可以對於運行在FreeBSD 4.5, OpenBSD 3.0 / 3.1, NetBSD 1.5.2平台上的Apache伺服器均可進行有效的攻擊.
所有說使用最高和最新安全版本對於加強Apache Web伺服器的安全是至關重要的。請廣大Apache伺服器管理員去下載補丁程序以確保其WEB伺服器安全!
三、正確維護和配置Apache伺服器
雖然Apache伺服器的開發者非常注重安全性,由於Apache伺服器其龐大的項目,難免會存在安全隱患。正確維護和配置Apache WEB伺服器就很重要了。
10、什麼是apache伺服器
Apache,一種開放源碼的HTTP伺服器,可以在大多數計算機操作系統中運行,由於其多平台和安全性(注1)被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的API擴展,Perl/Python等解釋器可被編譯到伺服器中。
歷史
Apache
起初由 Illinois 大學 Urbana-Champaign 的國家高級計算程序中心開發。此後,Apache
被開放源代碼團體的成員不斷的發展和加強。Apache
伺服器擁有牢靠可信的美譽,已用在超過半數的網際網路站中-特別是幾乎所有最熱門和訪問量最大的網站。
開始,Apache只是Netscape網頁伺服器(現在是Sun
ONE)的之外的開放源代碼選擇。漸漸的,它開始在功能和速度。超越其他的基於Unix的HTTP伺服器。1996年4月以來,Apache一直是
Internet上最流行的HTTP伺服器: 1999年5月它在 57% 的網頁伺服器上運行;到了2005年7月這個比例上升到了69%。
作
者宣稱因為這個名字好記才在最初選擇它,但是流傳最廣的解釋是(也是最顯而易見的):這個名字來自這么一個事實:當Apache在1995年初開發的時
候,它是由當時最流行的HTTP伺服器NCSA HTTPd 1.3 的代碼修改而成的,因此是「一個修補的(a
patchy)」伺服器。然而在伺服器官方網站的FAQ中是這么解釋的:「『Apache』這個名字是為了紀念名為Apache(印地語)的美洲印第安人
土著的一支,眾所周知他們擁有高超的作戰策略和無窮的耐性」。無論怎麼樣,Apache 2.x 分支不包含任何 NCSA 的代碼。
特性
Apache
支持許多特性,大部分通過編譯的模塊實現。這些特性從伺服器端的編程語言支持到身份認證方案。一些通用的語言介面支持Perl,Python, Tcl,
和 PHP。流行的認證模塊包括 mod_access, mod_auth 和 mod_digest。其他的例子有 SSL 和 TLS 支持
(mod_ssl), proxy 模塊,很有用的URL重寫(由 mod_rewrite 實現),定製日誌文件
(mod_log_config),以及過濾支持(mod_include 和
mod_ext_filter)。Apache日誌可以通過網頁瀏覽器使用免費的腳本AWStats或Visitors來進行分析。
2.x版本
Apache 的2.x版本核心在Apache 1.x版本之上作出了重要的加強。這包括:線程,更好的支持非UNIX平台(例如Windows),新的 Apache API,以及IPv6支持。
評價
《PC Magazine》2004年8月評出了近30年以來的10款最佳軟體產品。
他們其中或者是有過最輝煌的歷史,或者是最具創意。其對apache的評價是:第三名:Apache(阿帕奇,1995年推出)Apache目前已經演變
成了「LAMP」,即Linux、Apache、MySQL和PHP的聯合體。這是一個開放源代碼軟體項目,已經對微軟的「.NET」戰略構成嚴重威脅。
尤其是Apache網路伺服器,讓用戶充分體驗到開發源碼軟體的穩定性、可靠性和可定製性。
Apple.com評價apache時
說:Apache是伺服器軟體始終不斷進化的大塊部件,它免費但又是無價之寶。Apache
是在資源開放運動中出現的絕對珍品,因為不屬於個人專利而是對公共免費。一旦擁有這些源碼,程序員能夠自由完成所想——能在其它程序員接替工作時被賦予同
樣的許可權來改變和修改自己的源代碼。
注釋
盡管不斷有新的漏洞被發現,但由於其OpenSource的特點,漏洞總能被很快修補。因此總的來說,其安全性還是相當高的。
() [#page_#][#page_#]AddHandler cgi-script .cgi
AddHandler server-parsed .shtml
Sethandler cgi-script
AddHandler定義了何種擴展名用那一個字元串進行描述.
SetHandler把一個目錄下的文件都指定用這一個字元串描述.
我在這里提到的命令都是與其結構密切相關的. Handler和Type的關系在下面會描述的. 許多的東東從外面是看不清楚的, 下面, 我們從裡面看.
三 程序的基本結構
-----------------
Apache有非常好的跨平台性. 為了實現這一目標和簡化模塊編寫者的負擔,Apache完成了許多基本的功能如IO, 內存分配等, 這些介面都是與具體平台無關的. 還有一些很有用的常式如: hash table, array 等. 在整個體系中, Apache有一個基本點, 它盡可能的使用簡單的結構和演算法, 這不僅易於理解和維護, 還提高了它的穩定性.
在
UNIX系統上, Apache採用了多進程模型, 在Window上採用了多線程模型.多進程模型中, 其子進程處理客戶請求,
父進程用於管理子進程. 當系統過載時父進程會再啟動幾個子進程, 當系統空閑時, 父進程會殺掉幾個子進程.
子進程的數目在"MinSpareServers"和"MaxSpareServers"之間. 而且, 每個子進程處理的請求個數也是有限制的,
這可以解決諸如內存泄漏等問題. 所有的進程狀態都被記錄在share memory中. 由於每個進程的狀態記錄在其中的一小塊內存上,
它通常也只讀寫這一塊內存, 因此, Apache沒有使用什麼同步機制.
在Richard Steve的書上說到的幾種多進程伺服器模型, Apache都使用了,在不同的系統上根據其特點選擇使用不同的方法:
1. accept :
在accept處阻塞, 只有在accept是在內核級實現的才行.
2. select :
在select處阻塞.
3. mutex/lock_file :
使用mutex或lock_file來進行對accpet進行互斥.
三
種方法都要求進行阻塞, 區別在於阻塞與不同的地方. 前兩種方法都會由所謂的巨群問題: 多個阻塞在同一個資源上的進程被同時喚醒引發再次競爭.
不過, 按Richard Steve 的評測, 第一種方法最快, 第二種其次, 第三種最慢. 其實, 在linux上第三種方法也會有巨群問題.
Apache雖然並不強調性能, 這並不意味著他們不重視性能. 而是Apache認為在Server端realiable才是第一位的. 但Apache的性能還是不錯的.