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:
公鑰加密工作模式
- 梳理:
---身份認(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
證書存取庫(kù)
- 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ǔ)算法原語(yǔ)的實(shí)現(xiàn),aes, rsa, md5
2箕母、第2層:各種算法的實(shí)現(xiàn)储藐;
3、第3層:組合算法實(shí)現(xiàn)的半成品嘶是;
4钙勃、最高層:用各種組件拼裝而成的各種成品密碼學(xué)協(xié)議軟件;
ssl的認(rèn)證過程:
第一步: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ù)庫(kù)文件
#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 CRL
crl = $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ù)庫(kù)文件
echo 01 > /etc/pki/CA/serial #創(chuàng)建第一個(gè)證書頒發(fā)的序列號(hào)文件矮男,以后頒發(fā)會(huì)自動(dòng)增長(zhǎng)
第三步:生成CA私鑰
cd /etc/pki/CA
( umask 066; 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.pem
You are about to be asked to enter information that will be incorporated
into 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 blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:hunan
Locality Name (eg, city) [Default City]:changsha
Organization Name (eg, company) [Default Company Ltd]:aa
Organizational Unit Name (eg, section) []:MIS
Common 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)求
生成私鑰
( umask 066; 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 -in test.csr -out /etc/pki/CA/certs/test.crt -day 365