2019-05-20 第九周作业

1、判断UID是否大于等于500,如果为真就显示为普通用户,如果为假就显示为系统或管理用户

awk -F: '{if($3>500){print $1" is 普通用户"}else{print $1" is 系统账户"}}' /etc/passwd

2、显示用户id为奇数的用户。

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

3、统计web服务访问日志中的ip访问量

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

4、简述加密类型以及数据加密解密过程

1.对称加密:加密和解密使用同一个密钥;加密算法和解密算法可能不同;

常见对称加密算法:
DES:Data Encryption Standard;
加密端64位明文产生64位密文,解密端使用64位密文还原64位明文;64位为一个块即8个字节,加密和解密使用56位的密钥,DES使用16个迭代块;是现代加密算法,很多s核,p核进行计算;后来被破解;
3DES:Triple DES;
是DES的三个数量级,一个数量级是10的一次方;
AES:Advanced Encryption Standard;
(密钥可为128bits, 192bits, 256bits, 384bits)安全程度非常高;
Blowfish加密算法
Twofish加密算法
IDEA商业加密算法
RC6加密算法
CAST5加密算法

  • 特性:
    1、加密、解密使用同一个密钥;
    2、将原始数据分割成为固定大小的块,逐个进行加密;

  • 缺陷:
    1、密钥过多;
    2、密钥分发困难;

2. 公钥加密:密钥分为公钥与私钥,成对儿出现
  • 特点:
    用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然
    密钥长度较大,例如512bits,2048bits,4096bits;效率低下;
  • 用途:
    数字签名:主要在于让接收方确认发送方的身份;
    密钥交换:发送方用对方公钥加密一个对称密钥,并发送给对方
    数据加密
  • 常见算法:
    RSA:即能签名、又能加密解密;
    DSA:数字签名算法(标准)
    ELGamal:
公钥加密工作模式
image
  • 梳理:
    ---身份认证的实现:
    发送方用自己的私钥加密数据特征码,接收方用对方的公钥解密,如果加密成功即可实现身份认证,因为公钥的成对出现的,私钥只有自己有,公钥所有人都有;
    ---数字签名的实现:
    在身份验证中就依赖到了数字签名,发送方用自己的私钥加密数据特征码这个结果就叫数字签名;因此,数据签名就为了完成身份验证的;
    ---密钥交换的实现:
    自己先生成一个密码,要用对方的公钥加密这个自己生成的密码,然后发送给对方,只有对方能解密,对方解密出来的就得到密码了;所以就能使用这个密码来解密使用对称加密方式加密的数据了;
3. 单向加密:即提出数据指纹(特征码);只能加密,不能解密
  • 特性:
    定长输出:无论原来的数据是多大级别,其加密结果长度一样;
    雪崩效应:原始数据微小改变,将会导致结果巨大变化;
    不可逆
  • 用途:
    数据完整性校验
    系统帐号密码校验
  • 常见算法:
    MD5:128bits定长输出
    SHA1: 160bits定长输出
    SHA256:
    SHA384:
    SHA512:
    CRC32:
密钥算法:

密钥交换: IKE(Internet Key Exchange)
1、公钥加密:实现密钥交换;
密钥是在网上发送的;
2、DH(Deffie-Hellman)算法
不发送密钥就能使双方完成密钥交换

认证PKI:Public Key Infrastructure
  • 公钥基础设施:包括四部分
    签证机构:CA
    注册机构:RA
    证书吊销列表:CRL
    证书存取库
  • X.509v3:国际标准化组织定义了证书的结构以及认证协议标准,x.509有三版本;
    版本号:x.509的版本号;
    序列号
    签名算法ID:签名的使用算法;
    发行者名称:CA的名称
    有效期限:两个日期,起始日期和终止日期
    主体名称:证书拥有者名称;
    主体公钥:证书拥有者自己的公钥
    发行者的惟一标识
    主体的惟一标识:证书拥有者
ssl协议
  • SSL:Secure sockets Layer
    Netscape网警公司: 1994发布,有3个版本;
    V1.0, V2.0, V3.0(有漏洞)
    TLS: Transport Layer Security
    IETF: 1999发布,有4个版本;
    V1.0(从来没公开,漏洞多), V1.1, V1.2(主流), V1.3(2014年,没到成熟期)

  • TLS协议采用分层设计:
    1、最底层:基础算法原语的实现,aes, rsa, md5
    2、第2层:各种算法的实现;
    3、第3层:组合算法实现的半成品;
    4、最高层:用各种组件拼装而成的各种成品密码学协议软件;

ssl的认证过程:
image

第一步:Visitor生成一个随机数,客户端支持的加密方法,发送给服务端
第二步:Server确认双方使用的加密方法,以及一个服务端生成的随机数(Server random)、以及把服务端的数字证书发送个客户端
第三步:客户端验证数字证书,用CA公钥解密证书,查看证书有效期,和是否被吊销,验证通过后,生成一个新的随机数,(称为预备主密钥Pre-master secret),并使用Server的公钥加密预备主密钥发给Server。公钥自然在证书里提取。
第四步:Server使用自己的私钥,解密Visitor发来的预备主密钥。
第五步:Visitor和Server双方都具有了(客户端随机数+服务端随机数+预备主密钥),它们两者都根据约定的加密方法,使用这三个随机数生成对称密钥——主密钥(也称为对话密钥session key),用来加密接下来的整个对话过程。
之后所有的数据在这次会话中只需要使用“对话密钥”即可,不需要多余的机制

5、搭建私有CA并实现证书颁发

第一步:设置openssl的配置文件:/etc/pki/tls/openssl.conf
match:要求申请填写的信息必须和CA设置的信息一致
optional:可有可无,跟CA设置的信息可以不一致
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  客户申请证书的存放位置
crl_dir         = $dir/crl              # Where the issued crl are kept  crl(证书吊销列表)目录的位置
database        = $dir/index.txt        # database index file.  数据库文件
#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  存放序列号的文件
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  匹配下方哪个中括号里面的策略

# For the CA policy
[ policy_match ]
countryName             = match  国家名称
stateOrProvinceName     = match  省名称
organizationName        = match  组织名称
organizationalUnitName  = optional  组织单位
commonName              = supplied  域名
emailAddress            = optional  邮件

第二步: 创建配置文件中所需要的文件

touch /etc/pki/CA/index.txt  #创建证书索引数据库文件
echo 01 > /etc/pki/CA/serial  #创建第一个证书颁发的序列号文件,以后颁发会自动增长

第三步:生成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:生成新证书签署请求
-x509:专用于CA生成自签证书
-key:生成请求时用到的私钥文件
-days n:证书的有效期限
-out /PATH/TO/SOMECERTFILE: 证书的保存路径


至此CA创建完成

第五步:颁发证书

  • 在需要使用证书的主机上生成证书请求
    生成私钥
( umask 066; openssl genrsa -out test.key 2048 ) 

生成证书请求文件

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

国家,省,公司必须一致
将CSR文件传给CA

第六步:CA签署证书,并将证书颁发给请求者

openssl ca -in test.csr -out /etc/pki/CA/certs/test.crt -day 365
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341

推荐阅读更多精彩内容

  • 摘要 本白皮书介绍了加密和公钥基本结构(PKI)的概念和使用 Microsoft Windows 2000 Ser...
    陈sir的知识图谱阅读 961评论 0 1
  • PKI 基础知识 (摘自Microsoft Windows 2000 Server白皮书,2000年7月5日发布)...
    right_33cb阅读 941评论 0 1
  • 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现...
    已认证用户阅读 3,813评论 1 4
  • 前言 文中首先解释加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的...
    sunny冲哥阅读 2,965评论 0 2
  • 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现...
    sunny冲哥阅读 1,359评论 0 3