第九周作業(yè)2019-08-19

1、判斷UID是否大于等于500,如果為真就顯示為普通用戶,如果為假就顯示為系統(tǒng)或管理用戶

awk -F:'{if($3>500){print $1" is 普通用戶"}else{print $1" is 系統(tǒng)賬戶"}}'/etc/passwd

2、顯示用戶id為奇數(shù)的用戶。

awk -F:'$3%2==1{print $0}'/etc/passwd

3、統(tǒng)計(jì)web服務(wù)訪問日志中的ip訪問量

awk'{ip[$1]++}END{for(i in ip){print i,ip[i]}}'/var/log/httpd/access_log

4、簡(jiǎn)述加密類型以及數(shù)據(jù)加密解密過程

1.對(duì)稱加密:加密和解密使用同一個(gè)密鑰;加密算法和解密算法可能不同;

常見對(duì)稱加密算法:

DES:Data Encryption Standard;

加密端64位明文產(chǎn)生64位密文,解密端使用64位密文還原64位明文;64位為一個(gè)塊即8個(gè)字節(jié),加密和解密使用56位的密鑰,DES使用16個(gè)迭代塊;是現(xiàn)代加密算法,很多s核,p核進(jìn)行計(jì)算;后來被破解;

3DES:Triple DES;

是DES的三個(gè)數(shù)量級(jí),一個(gè)數(shù)量級(jí)是10的一次方;

AES:Advanced Encryption Standard;

(密鑰可為128bits, 192bits, 256bits, 384bits)安全程度非常高;

Blowfish加密算法

Twofish加密算法

IDEA商業(yè)加密算法

RC6加密算法

CAST5加密算法

特性:

1、加密、解密使用同一個(gè)密鑰;

2、將原始數(shù)據(jù)分割成為固定大小的塊,逐個(gè)進(jìn)行加密;

缺陷:

1、密鑰過多;

2、密鑰分發(fā)困難;

2. 公鑰加密:密鑰分為公鑰與私鑰,成對(duì)兒出現(xiàn)

特點(diǎn):

用公鑰加密的數(shù)據(jù),只能使用與之配對(duì)兒的私鑰解密;反之亦然

密鑰長(zhǎng)度較大,例如512bits,2048bits,4096bits;效率低下;

用途:

數(shù)字簽名:主要在于讓接收方確認(rèn)發(fā)送方的身份;

密鑰交換:發(fā)送方用對(duì)方公鑰加密一個(gè)對(duì)稱密鑰,并發(fā)送給對(duì)方

數(shù)據(jù)加密

常見算法:

RSA:即能簽名、又能加密解密;

DSA:數(shù)字簽名算法(標(biāo)準(zhǔn))

ELGamal:

公鑰加密工作模式

image

梳理:

---身份認(rèn)證的實(shí)現(xiàn):

發(fā)送方用自己的私鑰加密數(shù)據(jù)特征碼,接收方用對(duì)方的公鑰解密,如果加密成功即可實(shí)現(xiàn)身份認(rèn)證,因?yàn)楣€的成對(duì)出現(xiàn)的,私鑰只有自己有,公鑰所有人都有;

---數(shù)字簽名的實(shí)現(xiàn):

在身份驗(yàn)證中就依賴到了數(shù)字簽名,發(fā)送方用自己的私鑰加密數(shù)據(jù)特征碼這個(gè)結(jié)果就叫數(shù)字簽名;因此,數(shù)據(jù)簽名就為了完成身份驗(yàn)證的;

---密鑰交換的實(shí)現(xiàn):

自己先生成一個(gè)密碼,要用對(duì)方的公鑰加密這個(gè)自己生成的密碼,然后發(fā)送給對(duì)方,只有對(duì)方能解密,對(duì)方解密出來的就得到密碼了;所以就能使用這個(gè)密碼來解密使用對(duì)稱加密方式加密的數(shù)據(jù)了;

3. 單向加密:即提出數(shù)據(jù)指紋(特征碼);只能加密,不能解密

特性:

定長(zhǎng)輸出:無論原來的數(shù)據(jù)是多大級(jí)別,其加密結(jié)果長(zhǎng)度一樣;

雪崩效應(yīng):原始數(shù)據(jù)微小改變,將會(huì)導(dǎo)致結(jié)果巨大變化;

不可逆

用途:

數(shù)據(jù)完整性校驗(yàn)

系統(tǒng)帳號(hào)密碼校驗(yàn)

常見算法:

MD5:128bits定長(zhǎng)輸出

SHA1: 160bits定長(zhǎng)輸出

SHA256:

SHA384:

SHA512:

CRC32:

密鑰算法:

密鑰交換: IKE(Internet Key Exchange)

1、公鑰加密:實(shí)現(xiàn)密鑰交換;

密鑰是在網(wǎng)上發(fā)送的;

2、DH(Deffie-Hellman)算法

不發(fā)送密鑰就能使雙方完成密鑰交換

認(rèn)證PKI:Public Key Infrastructure

公鑰基礎(chǔ)設(shè)施:包括四部分

簽證機(jī)構(gòu):CA

注冊(cè)機(jī)構(gòu):RA

證書吊銷列表:CRL

證書存取庫

X.509v3:國(guó)際標(biāo)準(zhǔn)化組織定義了證書的結(jié)構(gòu)以及認(rèn)證協(xié)議標(biāo)準(zhǔn),x.509有三版本;

版本號(hào):x.509的版本號(hào);

序列號(hào)

簽名算法ID:簽名的使用算法;

發(fā)行者名稱:CA的名稱

有效期限:兩個(gè)日期,起始日期和終止日期

主體名稱:證書擁有者名稱;

主體公鑰:證書擁有者自己的公鑰

發(fā)行者的惟一標(biāo)識(shí)

主體的惟一標(biāo)識(shí):證書擁有者

ssl協(xié)議

SSL:Secure sockets Layer

Netscape網(wǎng)警公司: 1994發(fā)布,有3個(gè)版本;

V1.0, V2.0, V3.0(有漏洞)

TLS: Transport Layer Security

IETF: 1999發(fā)布,有4個(gè)版本;

V1.0(從來沒公開,漏洞多), V1.1, V1.2(主流), V1.3(2014年,沒到成熟期)

TLS協(xié)議采用分層設(shè)計(jì):

1、最底層:基礎(chǔ)算法原語的實(shí)現(xiàn),aes, rsa, md5

2、第2層:各種算法的實(shí)現(xiàn);

3、第3層:組合算法實(shí)現(xiàn)的半成品;

4、最高層:用各種組件拼裝而成的各種成品密碼學(xué)協(xié)議軟件;

ssl的認(rèn)證過程:

image

第一步:Visitor生成一個(gè)隨機(jī)數(shù),客戶端支持的加密方法,發(fā)送給服務(wù)端

第二步:Server確認(rèn)雙方使用的加密方法,以及一個(gè)服務(wù)端生成的隨機(jī)數(shù)(Server random)、以及把服務(wù)端的數(shù)字證書發(fā)送個(gè)客戶端

第三步:客戶端驗(yàn)證數(shù)字證書,用CA公鑰解密證書,查看證書有效期,和是否被吊銷,驗(yàn)證通過后,生成一個(gè)新的隨機(jī)數(shù),(稱為預(yù)備主密鑰Pre-master secret),并使用Server的公鑰加密預(yù)備主密鑰發(fā)給Server。公鑰自然在證書里提取。

第四步:Server使用自己的私鑰,解密Visitor發(fā)來的預(yù)備主密鑰。

第五步:Visitor和Server雙方都具有了(客戶端隨機(jī)數(shù)+服務(wù)端隨機(jī)數(shù)+預(yù)備主密鑰),它們兩者都根據(jù)約定的加密方法,使用這三個(gè)隨機(jī)數(shù)生成對(duì)稱密鑰——主密鑰(也稱為對(duì)話密鑰session key),用來加密接下來的整個(gè)對(duì)話過程。

之后所有的數(shù)據(jù)在這次會(huì)話中只需要使用“對(duì)話密鑰”即可,不需要多余的機(jī)制

5、搭建私有CA并實(shí)現(xiàn)證書頒發(fā)

第一步:設(shè)置openssl的配置文件:/etc/pki/tls/openssl.conf

match:要求申請(qǐng)?zhí)顚懙男畔⒈仨毢虲A設(shè)置的信息一致

optional:可有可無,跟CA設(shè)置的信息可以不一致

supplied:必須填寫的信息

vim /etc/pki/tls/openssl.conf[ CA_default ]dir? ? ? ? ? ? = /etc/pki/CA# Where everything is kept 存放CA的根目錄certs? ? ? ? ? =$dir/certs# Where the issued certs are kept? 客戶申請(qǐng)證書的存放位置crl_dir? ? ? ? =$dir/crl# Where the issued crl are kept? crl(證書吊銷列表)目錄的位置database? ? ? ? =$dir/index.txt# database index file.? 數(shù)據(jù)庫文件#unique_subject = no? ? ? ? ? ? ? ? ? ? # Set to 'no' to allow creation of# several ctificates with same subject.new_certs_dir? =$dir/newcerts# default place for new certs.? 新證書的存放位置certificate? ? =$dir/cacert.pem# The CA certificate? CA自簽名證書serial? ? ? ? ? =$dir/serial# The current serial number? 存放序列號(hào)的文件crlnumber? ? ? =$dir/crlnumber# the current crl number? # must be commented out to leave a V1 CRLcrl? ? ? ? ? ? =$dir/crl.pem# The current CRL? CRL文件private_key? ? =$dir/private/cakey.pem# The private key? 自己的私鑰文件policy? ? ? ? ? = policy_match? 匹配下方哪個(gè)中括號(hào)里面的策略# For the CA policy[ policy_match ]countryName? ? ? ? ? ? = match? 國(guó)家名稱stateOrProvinceName? ? = match? 省名稱organizationName? ? ? ? = match? 組織名稱organizationalUnitName? = optional? 組織單位commonName? ? ? ? ? ? ? = supplied? 域名emailAddress? ? ? ? ? ? = optional? 郵件

第二步:? 創(chuàng)建配置文件中所需要的文件

touch /etc/pki/CA/index.txt#創(chuàng)建證書索引數(shù)據(jù)庫文件echo01 > /etc/pki/CA/serial#創(chuàng)建第一個(gè)證書頒發(fā)的序列號(hào)文件,以后頒發(fā)會(huì)自動(dòng)增長(zhǎng)

第三步:生成CA私鑰

cd/etc/pki/CA(umask066; openssl genrsa -out private/cakey.pem 2048 )

第四步:生成自簽名證書

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pemYou are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter'.', the field will be left blank.-----Country Name (2 letter code) [XX]:CNState or Province Name (full name) []:hunanLocality Name (eg, city) [Default City]:changshaOrganization Name (eg, company) [Default Company Ltd]:aaOrganizational Unit Name (eg, section) []:MISCommon Name (eg, your name or your server's hostname) []:ns1.aa.com

Email Address []:

-new:生成新證書簽署請(qǐng)求

-x509:專用于CA生成自簽證書

-key:生成請(qǐng)求時(shí)用到的私鑰文件

-days n:證書的有效期限

-out /PATH/TO/SOMECERTFILE: 證書的保存路徑

至此CA創(chuàng)建完成

第五步:頒發(fā)證書

在需要使用證書的主機(jī)上生成證書請(qǐng)求

生成私鑰

(umask066; openssl genrsa -out test.key 2048 )

生成證書請(qǐng)求文件

openssl req -new -key test.key? -out test.csr

國(guó)家,省,公司必須一致

將CSR文件傳給CA

第六步:CA簽署證書,并將證書頒發(fā)給請(qǐng)求者

openssl ca -intest.csr -out /etc/pki/CA/certs/test.crt -day 365

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容