查看apache版本號:httpd -vphp
而後在sebug上搜索該版本號有什麼漏洞,可根據提示提高版本或者打上補丁html
可在LoadModule前加#,來註釋掉一些不使用的模塊web
ServerTokens OS 修改成:ServerTokens Prod (在出現錯誤頁的時候不顯示服務器操做系統的名稱)shell
ServerSignature On 修改成:ServerSignature Off(不回顯apache版本信息)apache
刪除默認的頁面,防止泄露服務器信息安全
將Options Indexes FollowSymLinks改成Options -Indexes FollowSymLinks服務器
DirectoryIndex index.htmlide
爲apache單獨創建一個運行帳戶及帳戶組,並在httpd.conf配置網站
User apache Group apache
取消apache運行帳戶對網站目錄的寫入權限,上傳目錄除外,其餘非網站目錄儘可能不給權限spa
取消掉了運行帳戶對sh等的執行權限後可以防止webshell經過默認的sh執行命令
<Directory "/var/www/html/aaa"> <FilesMatch ".(php|php5)$"> Deny from all </FilesMatch> </Directory>
<Directory "/var/www/html/aaa"> Deny from all </Directory>
<Directory "/var/www/html/aaa"> Order Deny,Allow Deny from all Allow from 192.168.1.111 </Directory>
<Files ~ ".txt$"> Order allow,deny Deny from all </Files>
這樣能夠防止一些直接掃描80端口的黑客
Listen 12345
AllowOverride All
改成
AllowOverride None
首先,不建議使用.htaccess,其次,使用.htaccess須要在httpd.conf中開啓,最後,開始.htaccess支持後須要在 httpd.conf中配置防止.htaccess文件被下載,下面介紹幾個基本配置方法不全,更多的能夠參考其餘網站專門針對.htaccess 的配置方法。
DirectoryIndex index.html index.php index.htm
ErrorDocument 404 errors/404.html
order deny,allow deny from all allow from 192.168.0.0/24
Options -Indexes
其實一個web服務器的保護是分幾個層次的(暫不考慮程序的漏洞):
要保護一個web服務器首先得學會隱藏本身,對於一些內部系統,如後臺,內部接口等,咱們能夠經過改端口,限制ip等方式來不讓黑客發現。
對於多數web系統來講,都是提供給外面的訪問的,因此想隱藏本身實際上是很難的。可是咱們仍是要學會隱藏身份,能夠經過改banner,該返回信息來隱藏身份來加大黑客攻擊的難度。
其實前面兩步都是很容易突破,而後獲知一個web系統所使用的web服務器版本的,此時咱們能作的就是選擇一個少漏洞的版本,及打上安全補丁。
作好基礎的安全配置,禁止目錄瀏覽,設定默認文檔,上傳目錄限制php執行等等,來阻擋黑客的入侵。
當黑客已經經過程序漏洞上傳了一個webshell而且已經成功執行了,此時,就只能很好的配置服務進程的帳戶權限,包括磁盤的讀取寫入,特殊程序如sh的執行,等等,這樣能夠講危害降到最低。
最後,當黑客已經光顧以後,咱們也只能經過日誌來分析,看問題出在哪裏了。