Apache站點安全
Apache是當今最爲流行的web服務器,apache的站點安全可以通過身份驗證、來源控制和加密訪問來解決。首先我們安裝一下http,至於rpm安裝小編就不在這裏多說了。下面給大家好好講解一下httpd.conf這個文件裏面的內容。我都給大家很好的註釋在了上面,好好了解一下他們,很有助於我們來解決apache的站點安全。
服務器監聽端口: Listen 80 監聽端口
下面我們來看一下第一種站點安全的解決方法:
1.身份驗證
在配置文件中修改 alloworverride all
編輯一下說明文件 .htaccess
authuserfile /var/www/.htpasswd
authname "please input your name and password"
authtype basic
require valid-user
產生帳號文件
htpasswd -c 張號文件 帳號
下面我們來看看訪問效果
2.來源控制
在站點主目錄中我們可以限制訪問的ip地址來達到來源的控制,實現站點安全
Order allow,deny
deny from 192.168.2.100
allow from all
我們要注意的是Order allow,deny 中allow和deny的順序,他們的順序決定了是先執行的順序。
3.加密訪問
【原理】
HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全爲目標的HTTP通道,提供了身份驗證與加密通訊方法,現在它被廣泛用於萬維網上安全敏感的通訊,例如交易支付方面。它的主要作用可以分爲兩種:一種是建立一個信息安全通道,來保證數據傳輸的安全;另一種就是確認網站的真實性。
【環境】
服務器Linux rhel5.4
客服端windows xp
安裝的軟件包httpd-2.2.3-31.el5.i386.rpm
mod_ssl-2.2.3-31.el5.i386.rpm
distcache-1.4.5-14.1.i386.rpm
【實驗拓撲圖】
【實現步驟】
首先檢查是否安裝openssl
實現摘要:
文件實現方法: openssl md5/sha 文件名
信息實現方法: echo “信息” |openssl md5/sha
公鑰私鑰對的產生:
私鑰的產生:openssl gensa 1024 產生一個1024位長度的私鑰
openssl gensa 1024 >key.pem 產生到key.pem文件中去
私鑰需要嚴格保管,需要修改權限:
chmod 600 key.pem
公鑰可以在私鑰中提取:
openssl rsa -in key.pem -pubout -out public.key
證書的實現步驟:
openssl genrsa 1024 >私鑰文件
openssl req -new -key 私鑰文件 -out 請求文件
openssl ca -in 請求文件 -out 證書
創建CAlinux CA 【openca】
簡易的我們一般使用【openssl】
1.vim /etc/pki/tls/openssl.conf
2.進入/etc/pki/CA創建文件夾和文件
mkdir certs newcerts crl
touch index.txt serial
3.私鑰過程:
創建私鑰 openssl genrsa 1024 >private/cakey.pem
修改權限Chmod 600 private/*
給自己創建一個證書openssl req -new -key private/cakey.pem -x509 -out cacert.pem
web server
安裝模塊
查看一下安裝生成的文件
創建目錄
產生私鑰文件openssl genrsa 1024 >私鑰文件
產生請求文件openssl req -new -key 私鑰文件 -out 請求文件
產生證書: openssl ca -in 請求文件 -out 證書
cd /etc/httpd/certs
捆綁 ssl.conf
Vim /etc/httpd/conf.d/ssl.conf
接下來重啓service httpd restart
查看一下端口是否打開
下面我們來看看訪問效果
我們可以看到瀏覽器呈現了證書
因爲在客戶端上沒有證書,所以纔會說不是由受信任的公司頒發
Vim /etc/httpd/conf.d/ssl.conf
將證書安裝一下,查看一下受信任的證書頒發機構
再次訪問一下
發現名稱無效或不匹配
我們需要在本機hosts文件中加入
192.168.2.100 www.abc.com
然後在/etc/httpd/conf/httpd.conf中禁用80端口再來訪問