linux基础练习9

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

awk -F: '{$3<=500?name="system user":name="comon user";print name,$1,$3}' /etc/passwd


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

awk -F:  '{if ($3%2==0) next;print $1,$3}'  /etc/passwd



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

awk '{print $1}' /var/log/httpd/access_log | sort -nr | uniq -c



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

 加密:限制对网络上传输数据的访问权的技术。原始数据(也称为明文,plaintext)被加密设备(硬件或软件)和密钥加密而产生的经过编码的数据称为密文(ciphertext)。将密文还原为原始明文的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。

  解密:加密的逆过程,使用密钥配合加密算法,转换成明文内容。

 安全防护的目标:

  保密性:即隐私性

  完整性:指数据在传输过程中要保证能够完整,还能保证传输后能够还原回原来的数据;

  可用性:指还原后的数据还能用

常见的安全性攻击:

  威胁保密性的攻击:窃听,通信量统计;

  威胁完整性的攻击:更改,伪装,重放,否认;

  威胁可用性的攻击:拒绝服务

防范攻击的安全机制

  加密和解密;数字证书;访问控制;数据完整性验证;认证交换;流量填充;路由控制等方式

实现安全机制的安全服务:

  认证服务

  访问控制服务

  数据保密性服务

  数据完整性服务

  不可否认性服务

  常见的加密算法

数据加密是确保计算机网络安全的一种重要机制,是实现分布式系统和网络环境下数据安全的重要手段之一。

数据加密可在网络OSI七层协议(OSI是Open System Interconnect的缩写,意为开放式系统互联。国际标准组织(国际标准化组织)制定了OSI模型。这个模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。)的多层上实现、所以从加密技术应用的逻辑位置看,有三种方式:

①链路加密:通常把网络层以下的加密叫链路加密,主要用于保护通信节点间传输的数据,加解密由置于线路上的密码设备实现。根据传递的数据的同步方式又可分为同步通信加密和异步通信加密两种,同步通信加密又包含字节同步通信加密和位同步通信加密。

②节点加密:是对链路加密的改进。在协议传输层上进行加密,主要是对源节点和目标节点之间传输数据进行加密保护,与链路加密类似.只是加密算法要结合在依附于节点的加密模件中,克服了链路加密在节点处易遭非法存取的缺点。

③端对端加密:网络层以上的加密称为端对端加密。是面向网络层主体。对应用层的数据信息进行加密,易于用软件实现,且成本低,但密钥管理问题困难,主要适合大型网络系统中信息在多个发方和收方之间传输的情况。

常见的加密算法和协议

  a、对称加密:加密解密使用同一个密钥:加密算法和解密算法可能不同:

对称加密算法是应用较早的加密算法又称为共享密钥加密算法。在对称加密算法中,使用的密钥只有一个,发送和接收双方都使用这个密钥对数据进行加密和解密。这就要求加密和解密方事先都必须知道加密的密钥。

数据加密过程:在对称加密算法中,数据发送方将明文 (原始数据)和加密密钥一起经过特殊加密处理,生成复杂的加密密文进行发送。

数据解密过程:数据接收方收到密文后,若想读取原数据,则需要使用加密使用的密钥及相同算法的逆算法对加密的密文进行解密,才能使其恢复成可读明文。

  b、非对称加密:非对称加密算法,又称为公开密钥加密算法。它需要两个密钥,一个称为公开密钥 (public key),即公钥,另一个称为私有密钥 (private key),即私钥

    因为加密和解密使用的是两个不同的密钥,所以这种算法称为非对称加密算法

如果使用 公钥 对数据 进行加密,只有用对应的 私钥 才能 进行解密。

如果使用 私钥 对数据 进行加密,只有用对应的 公钥 才能 进行解密。

  c、公钥加密:密钥分为公钥与私钥,成对出现

公钥加密,也叫非对称(密钥)加密(public key encryption),属于通信科技下的网络安全二级学科,指的是由对应的一对唯一性密钥(即公开密钥和私有密钥)组成的加密方法。它解决了密钥的发布和管理问题,是目前商业密码的核心。在公钥加密体制中,没有公开的是私钥,公开的是公钥;

常见算法

RSA、ElGamal、背包算法、Rabin(Rabin的加密法可以说是RSA方法的特例)、Diffie-Hellman (D-H) 密钥交换协议中的公钥加密算法、Elliptic Curve Cryptography(ECC,椭圆曲线加密算法)。使用最广泛的是RSA算法(由发明者Rivest、Shmir和Adleman姓氏首字母缩写而来)是著名的公开金钥加密算法,ElGamal是另一种常用的非对称加密算法。

  d、单向加密:即提出数据指纹(特征码);只能加密,不能解密

单向加密又称为不可逆加密算法,在加密过程中不使用密钥,明文由系统加密处理成密文,密文无法解密。一般适合于验证,在验证过程中,重新输入明文,并经过同样的加密算法处理,得到相同的密文并被系统重新认证。广泛使用于口令加密。

该算法有如下特点:

1.对同一消息反复执行加密得到相同的密文。

2.加密算法生成的密文不可预见,根明文没任何关系。

3.明文的任何微小的变化都会对密文产生很大影响。

4.不可逆,即不能通过密文获取明文。

比较流行的加密算法:MD5和SHA




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

参考 /etc/pki/tls/openssl.cnf CA配置文件


linux基础练习9_第1张图片


linux基础练习9_第2张图片

CA_default 定义了CA的目录/etc/pki/CA 存放所有CA相关文件

已经颁发的证书certs 

已经吊销证书列表存放位置crl_dir

存放颁发证书数据库文件database 默认不存在。需要事先创建,

新颁发的证书存放位置 new_certs_dir

根CA签名证书存放位置和名称certificate

下一个颁发证书的编号serial 默认不存在,第一次需要自己创建并且写上数字。

被吊销证书编号crlnumber

CA私钥文件private_key



linux基础练习9_第3张图片

匹配策略

countryName 国家

stateOrProvinceNaeme 省名

organizationName 组织名

字签名证书需要和用户申请证书前三项必须一样,


linux基础练习9_第4张图片

anything表示可以一样也可以不一样

第一步。先建立CA私钥,指定文件路径


第二步。生成字签名证书

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out cacert.pem -days 3650

生成自签名证书。并且填写相关的信息。国家,城市,给

linux基础练习9_第5张图片

第三步 客户机生成私钥 生成证书申请,并拷贝到CA主机上

openssl req -new -key /data/ssl/app.key -out app.csr


linux基础练习9_第6张图片


第四步

openssl ca -in app.csr -out /etc/pki/CA/certs/app.crt -days 1000 颁发证书


发现报错,是因为缺少index.txt证书数据库和serial证书序列号 所以手工创建文件

touch index.txt 创建证书数据库

echo 0F > serial 手工写入一个16进制序列号到serial中

这两步做完之后就可以颁发证书了


linux基础练习9_第7张图片

最后。将颁发的证书拷贝到客户机上

scp /etc/pki/CA/certs/app.crt 192.168.1.137:/root/ 至此,到此搭建ca和颁发证书实验结束

你可能感兴趣的:(linux基础练习9)