版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Web平安胡建斌北京大學(xué)網(wǎng)絡(luò)與信息平安研討室: hjbin /hjbin 目 錄Web平安概述SSLSSL 程序設(shè)計(jì)Apache Web Server平安Web平安概述Web平安要挾及對(duì)策Web平安的特點(diǎn)提供雙向的效力,攻擊防備才干脆弱作為可視化窗口和商業(yè)交互平臺(tái),提供多種效力,事關(guān)聲譽(yù)底層軟件龐大,如apache約10M,歷來是破綻之最,攻擊手段最多假設(shè)被攻破能夠?qū)е鲁蔀檫M(jìn)入企業(yè)的跳板配置比較復(fù)雜Web平安的組成部分Browser 平安Web Server平安Browser 與Web Server之間網(wǎng)絡(luò)通訊平安Web平安方案網(wǎng)絡(luò)層:IPSec傳輸層:SSL/TLS運(yùn)用層:SET/SHTTP
2、目 錄Web平安概述SSLSSL 程序設(shè)計(jì)Apache Web Server平安Secure Sockets Layer(SSL)SSL 設(shè)計(jì)目的 在Browser和Web Server之間提供敏感信息傳輸通道 Social Security Number (SSN) Credit Card, etc 提供訪問控制 Open Closed SSL被設(shè)計(jì)用來運(yùn)用TCP提供一個(gè)可靠的端到端平安效力,為兩個(gè)通訊個(gè)體之間提供嚴(yán)密性和完好性(身份鑒別)SSL 歷史 Netscape 公司于1994開發(fā) SSLv2 released in 1995 SSL v3 also released in 1995
3、 due to bugs in v2 1996年IETF成立 Transport Layer Security (TLS) committee TLSv1 was based upon SSLv3 Netscape 、Microsoft 都支持 TLSv1SSL 功能 SSL 提供四個(gè)根本功能 Authentication Encryption Integrity Key Exchange 采用兩種加密技術(shù) 非對(duì)稱加密 認(rèn)證 交換加密密鑰 對(duì)稱加密:加密傳輸數(shù)據(jù)SSL 功能SSL 的構(gòu)造SSL是獨(dú)立于各種協(xié)議的常用于HTTP協(xié)議,但也可用于別的協(xié)議,如NNTP,TELNET等建立在可靠的傳輸協(xié)
4、議如TCP根底上提供銜接平安性 嚴(yán)密性,運(yùn)用了對(duì)稱加密算法 完好性,運(yùn)用HMAC算法用來封裝高層的協(xié)議SSL 記錄協(xié)議客戶和效力器之間相互鑒別協(xié)商加密算法和密鑰提供銜接平安性 身份鑒別,至少對(duì)一方實(shí)現(xiàn)鑒別,也可以是雙 向鑒別 協(xié)商得到的共享密鑰是平安的,中間人不能知道 協(xié)商過程是可靠的SSL握手協(xié)議協(xié)議的運(yùn)用SSL體系構(gòu)造銜接會(huì)話SSL根本概念銜接是能提供適宜效力類型的傳輸在OSI分層模型中的定義對(duì)SSL,這樣的銜接是對(duì)等關(guān)系銜接是暫時(shí)的,每個(gè)銜接都和一個(gè)會(huì)話相關(guān)銜接SSL會(huì)話是指在客戶機(jī)和效力器之間的關(guān)聯(lián)會(huì)話由握手協(xié)議創(chuàng)建會(huì)話定義了一組可以被多個(gè)銜接共用的密碼平安參數(shù)對(duì)于每個(gè)銜接,可以利用會(huì)
5、話來防止對(duì)新的平安參數(shù)進(jìn)展代價(jià)昂貴的協(xié)商會(huì)話在恣意一對(duì)的雙方之間,也許會(huì)有多個(gè)平安銜接實(shí)際上,雙方可以存在多個(gè)同時(shí)會(huì)話,但在實(shí)際中并未用到這個(gè)特性銜接 Vs 會(huì)話會(huì)話形狀參數(shù)銜接形狀參數(shù)各種密鑰pre_master_secretmaster secretClient write MAC secretClient write secretClient write IVServer write MAC secretServer write secretServer write IVSSL HandshakeSSL握手協(xié)議報(bào)文格式ClientServer一 建立平安才干Client HelloSSL
6、 ClientSSL ServerPort 443The Client Hello message is composed of SSL Version (highest) that is understood by the client. TLSv1 else SSLv3b. Key Exchange to identify the method of exchanging keys.RSA if not then D-H.c. Data Encryption to identify the encryption methods available to the Client.TripleD
7、es or else DES d. Message Digest for data integrity. SHA or else MD5e. Data Compression method for message exchangePKZip or else gzipf. A Random number to compute the secret keyhttps anySSL ClientSSL ServerServer HelloThe Server Hello message is composed of SSL Version (highest) that is understood b
8、y the client. TLSv1 b. Key Exchange to identify the method of exchanging keys.RSA.c. Data Encryption to identify the encryption methods available to the Client. DES d. Message Digest for data integrity. MD5e. Data Compression method for message exchangePKZip f. A Random number to compute the secret
9、key一 建立平安才干Data Encryption: RC2-40RC4-128DES DES 403DES IDEA FortezzaMessage Digest: MD5SHA.Cipher Suite AlternativesKey Exchange. RSA Fixed Diffie-Hellman Ephemeral Diffie-Hellman Anonymous Diffie-Hellman FortezzaData Compression: PKZipWinZip gzip StuffItSSL ClientSSL ServerServer CertificateThe Se
10、rver Certificate message is composed of The server Identifier informationA Digital Certificate of the sever information encrypted with the CAs Private Key. This contains the servers Public Key Client Certificate RequestThe Client Certificate Request message is composed of The Certificate type to ind
11、icate the type of public key The Certificate Authority is a list of distinguished names of Certificate Authorities acceptable to the ServerServer Done MessageThis Server Done message has no parameters.二 效力器鑒別和密鑰交換SSL ClientSSL ServerClient CertificateThe Client Certificate message is composed of The
12、 server Identifier informationA Digital Certificate of the client information encrypted with the CAs Private Key The Client Authenticates the Server with the CA.a. Extracts the public key of the root signed certificate that came installed with the client and Computes a MD of the server certificate i
13、nformation. b. Decrypts the server certificate (that was issued by the root CA) that contains the hash computed by the CA Private Keyc. Compares the computed hash with the hash contained in the server Digital Certificate.Generates a session key (psuedo-random number) to use as a Pre-Master Key then3
14、. Encrypts the session key with the servers public key.三 客戶機(jī)驗(yàn)證和密鑰交換SSL ClientSSL ServerClient Key ExchangeThe Client Key Exchange message is composed of The encrypted session key which will serve as a pre-master secret key encrypted with the servers public key.Both the client and the server use the
15、pre-master secret key to compute three identical sets of secret key pairsThe first pair (i.e. DES) is used to encrypt outgoing traffic from the client to the server and to decrypt incoming traffic to the server whileThe second pair (i.e. HMAC) is used to encrypt outgoing traffic from the server and
16、to decrypt incoming traffic to the clientc. The third pair is used to initialize the cipher IV (Initialization Vector)Note: Both the Client and the Server each generate three sets of keys三 客戶機(jī)驗(yàn)證和密鑰交換SSL ClientSSL ServerC SS CC SS CEncryptionMACIVEncryptionMACIV密鑰交換結(jié)果The Client Finish message is comp
17、osed of The client authenticates the server with a message encrypted with the newly generated shared keys. This validates to the server that a secure connection has been created. SSL ClientSSL ServerClient FinishServer FinishThe Server Finish message is composed of The server authenticates the clien
18、t with a message encrypted with the newly generated shared keys. This validates to the client that a secure connection has been created. Note: the Server and client can now begin to use their six shared keys for bulk data encryption utilizing the SSL Record Layer protocol四 完成SSL Record ProtocolBy In
19、troducing SSL and Certificates using SSLeay - Frederick J. hirschSSL記錄協(xié)議操作By Introducing SSL and Certificates using SSLeay - Frederick J. hirsch1. 分片By Introducing SSL and Certificates using SSLeay - Frederick J. hirsch2. 緊縮 無損緊縮不會(huì)添加1024字節(jié) 以上長度的內(nèi)容沒有默許緊縮算法3. MAC計(jì)算4. 加密5. 封裝性:握手協(xié)議定義了共享的、可用于對(duì)SSL有效載荷進(jìn)展常
20、規(guī)加密的密鑰及初始/后續(xù)的IV完好性:握手協(xié)議還定義了共享的、可用于生成報(bào)文MAC的密鑰SSL記錄協(xié)議提供的效力SSL Change Cipher Spec Protocol由單個(gè)報(bào)文組成,報(bào)文值為1的單個(gè)字節(jié)使得掛起形狀被復(fù)制到當(dāng)前形狀,改動(dòng)了這個(gè)銜接將要運(yùn)用的密文族SSL修正密碼規(guī)格協(xié)議SSL Alert Protocol用于將SSL有關(guān)的告警傳輸給對(duì)方實(shí)體傳輸時(shí)按照當(dāng)前形狀闡明被緊縮和加密SSL告警協(xié)議SSL 密碼計(jì)算主密鑰的創(chuàng)建共享主密鑰(Master Secret)由客戶機(jī)和效力器共享,是經(jīng)過平安密鑰交換生成的暫時(shí)48字節(jié)值Master Secret 分兩個(gè)步驟生成: 交換 pre_
21、master_secret 雙方計(jì)算master_secretpre_master_secret 交換方法: RSA Diffie-Hellman主密鑰的創(chuàng)建密碼參數(shù)的生成pre_master_secretmaster secretClient write MAC secretClient write secretClient write IVServer write MAC secretServer write secretServer write IV密碼參數(shù)的生成目 錄Web平安概述SSLSSL 程序設(shè)計(jì)Apache Web Server 平安SSL 通訊模型為規(guī)范的C/S 構(gòu)造,除了在
22、 TCP 層之上進(jìn)展傳輸之外,與普通的通訊沒有什么明顯的區(qū) 別主要引見如何運(yùn)用OpenSSL進(jìn)展平安通訊的程序設(shè)計(jì)。關(guān)于OpenSSL 的一些詳細(xì)的信 息請(qǐng)參考OpenSSL的官方主頁 SSL程序設(shè)計(jì)OpenSSL初始化SSL環(huán)境懇求證書驗(yàn)證證書加載綁定到套接字SSL握手SSL通訊封鎖SSL銜接目 錄Web平安概述SSLSSL 程序設(shè)計(jì)Apache Web Server 平安Apache Web Server Apache是Internet上最流行的Web效力器,運(yùn)轉(zhuǎn)于 大約60%的Web站點(diǎn) Apache的流行有以下假設(shè)干緣由: Apache是一個(gè)可配置的Web效力器 Apache是可擴(kuò)展的
23、用戶可以很容易地在其中添加模塊, 如mod_perl和mod_ php3 Apache開放源代碼 Apache是免費(fèi)的Apache 配置文件 Apache的配置文件通常是httpd.conf,這個(gè)文件包含了大量指定Apache行為方式的命令 Apache曾經(jīng)運(yùn)用過3個(gè)配置文件:httpd.conf,access.conf和srm.conf,但如今它們的內(nèi)容曾經(jīng)被組合到單個(gè)httpd.conf文件中Apache 用戶配置 Apache要綁定80端口,所以它必需由root啟動(dòng),但一旦啟動(dòng),它就能更改運(yùn)轉(zhuǎn)本人的用戶 雖然可以改為任何用戶,但通常由nobody用戶來運(yùn)轉(zhuǎn)httpd 除了指定httpd進(jìn)
24、程的一切者之外,也可以配置其所屬的組 在httpd.conf中,如下程序行用來配置其用戶和組: User nobody Group nobodyApache 符號(hào)銜接配置 符號(hào)鏈接可以使Web效力器連向某些包含重要文檔的目錄,而不用復(fù)制這些文檔。這樣可以節(jié)省磁盤空間和系統(tǒng)的inode數(shù),同時(shí)也便于web管理 將Web效力器訪問的文件限制在文檔樹范圍內(nèi)是最重要的平安戰(zhàn)略,但是,管理員也可以配置效力器以允許運(yùn)用指向文檔樹之外的符號(hào)鏈接Apache 符號(hào)銜接配置 為允許符號(hào)鏈接,要如下配置那些包含符號(hào)鏈接的目錄:Options FollowSymLinks 更為嚴(yán)厲的配置是只允許符號(hào)鏈接指向?qū)儆谕?/p>
25、個(gè)用戶的文件或目錄Options SymLinkIfOwnerMatchApache 符號(hào)銜接配置 假設(shè)必需運(yùn)用符號(hào)鏈接,該當(dāng)思索將它們集中放置于只需授權(quán)用戶如root才干寫入的目錄中 回絕普通用戶創(chuàng)建符號(hào)鏈接能限制敏感信息被鏈接的數(shù)量 假設(shè)存在某個(gè)屬于root的目錄,其答應(yīng)為rwxr-xr-x。運(yùn)用Directory指令可限制Apache只運(yùn)用給定目錄下的符號(hào)鏈接 Options FollowSymLinks 防止前往目錄內(nèi)容列表 在普通的Apache配置下,假設(shè)用戶訪問web文檔樹下的某個(gè)目錄,而目錄中沒有index.html文件,那么Web效力器將前往該目錄的內(nèi)容列表 Apache配置中
26、與允許效力器前往目錄內(nèi)容列表相應(yīng)的指令為Option Indexes。在一切Option指令中去掉Indexes即可防止前往目錄內(nèi)容列表前往目錄內(nèi)容列表將CGI限制在某些目錄下普通的Apache CGI配置限制CGI程序只能在CGI目錄下執(zhí)行,這些目錄通常被命名為cgi-bin或bin 這些目錄下的一切文件都被看作是可執(zhí)行程序,并以運(yùn)轉(zhuǎn)Web效力器的用戶的身份運(yùn)轉(zhuǎn)。該當(dāng)關(guān)注這些目錄下文件的內(nèi)容,由于它們將在被懇求時(shí)執(zhí)行 ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/不要基于文件名來啟用CGI也可以針對(duì)特定的文件名來執(zhí)行CGI,通常基于特定擴(kuò)展名
27、常見的擴(kuò)展名有.cgi、.pl,這樣就允許程序員將CGI程序放置在Web效力器目錄構(gòu)造下的恣意位置,而不僅僅是特定目錄如cgi-bin下建議用將CGI程序限制在特定目錄的方式取代這種根據(jù)文件擴(kuò)展名判別的方法。經(jīng)過將CGI程序限制在指定目錄下,系統(tǒng)管理員就能限定哪些人在該目錄下有創(chuàng)建程序的權(quán)限,從而限定了能創(chuàng)建CGI程序的用戶 AddHandler cgi-script.cgi根據(jù)名字限制對(duì)文件的訪問 為根據(jù)名字限制對(duì)文件的訪問,該當(dāng)運(yùn)用Files或FilesMatch指令。假設(shè)運(yùn)用Files指令,那么該當(dāng)運(yùn)用“ 號(hào)來表示引號(hào)內(nèi)的字符串是正那么表達(dá)式 下面的例子給出了回絕訪問一切以.bak結(jié)尾的
28、文件的設(shè)置方法: Order allow,deny Deny from all根據(jù)名字限制對(duì)文件的訪問運(yùn)用FilesMatch指令時(shí),提供的字符串直接被以為是正那么表達(dá)式下面的例子給出了回絕訪問一切以.old結(jié)尾的文件的設(shè)置方法Order allow,denyDeny from all配置HTTP身份認(rèn)證 配置效力器允許運(yùn)用.htaccess文件是實(shí)施身份認(rèn)證的一個(gè)便利方法,此時(shí),web開發(fā)者只須在需求身份認(rèn)證的目錄下放置一個(gè)名為.htaccess的文件,就可控制訪問為將效力器配置為啟用.htaccess文件,可以運(yùn)用AllowOverride和AccessFileName指令將以下指令寫入h
29、ttpd.conf,以啟用.htaccess文件。AllowOverride指令設(shè)定.htaccess可以取代的工程用于身份認(rèn)證應(yīng)設(shè)為AuthConfigAllowOverride AuthConfig配置HTTP身份認(rèn)證 為了指定由名為.htaccess的文件控制文件訪問,應(yīng)運(yùn)用AccessFileName指令: AccessFileName .htaccess 運(yùn)用.htaccess文件時(shí),它本身決不該當(dāng)被效力器提供應(yīng)客戶端,由于其中包含了與效力器配置有關(guān)的信息。因此,必需運(yùn)用Files命令來配置效力器,使其回絕閱讀器對(duì).htaccess的訪問 Order allow,deny Deny from all配置HTTP身份認(rèn)證 httpd.conf 在httpd.conf文件中,運(yùn)用如下指令即可實(shí)施HTTP身份認(rèn)證: AuthType Basic AuthNameMy P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024自然人之間借款合同范本
- 2025年度城市綜合體場地合作經(jīng)營合同
- 2025年度文化產(chǎn)業(yè)園物業(yè)管理與文化活動(dòng)策劃服務(wù)協(xié)議3篇
- 2024版教育機(jī)構(gòu)裝潢工程合同樣本
- 二零二四年度9A文智能家居系統(tǒng)定制開發(fā)合同
- 2024版環(huán)評(píng)工程服務(wù)合同范本大全
- 2025年度生態(tài)農(nóng)業(yè)用地承包種植合作合同規(guī)范文本3篇
- 二零二四年度BIM可視化展示與演示合同
- 二零二五年度廁所改造工程環(huán)保標(biāo)準(zhǔn)制定合同2篇
- 二零二五年度金融借款合同電子化轉(zhuǎn)型的法律挑戰(zhàn)3篇
- 離職分析報(bào)告
- 春節(jié)家庭用電安全提示
- 醫(yī)療糾紛預(yù)防和處理?xiàng)l例通用課件
- 廚邦醬油推廣方案
- 乳腺癌診療指南(2024年版)
- 高三數(shù)學(xué)寒假作業(yè)1
- 保險(xiǎn)產(chǎn)品創(chuàng)新與市場定位培訓(xùn)課件
- (完整文本版)體檢報(bào)告單模版
- 1例左舌鱗癌手術(shù)患者的圍手術(shù)期護(hù)理體會(huì)
- (完整)100道兩位數(shù)加減兩位數(shù)口算題(難)
- 鋼結(jié)構(gòu)牛腿計(jì)算
評(píng)論
0/150
提交評(píng)論