第九周作业

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

awk -F: '{$3<500?name="普通用户":name="系统用户";print name,$1,$3}' /etc/passwd

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

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

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

独立ip访问量
awk '{print $1}' /app/httpd24/logs/access_log |sort -n|uniq -c
总访问量
awk '{print $1}' access_log|wc -l
TCP连接数
netstat -ant|grep '80'|grep 'ESTABLISHED'|wc -l

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

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

  解密:加密的逆过程,使用密钥配合加密算法,转换成明文内容。
安全机制
    信息安全防护的目标
        保密性 Confidentiality
        完整性  Integrity
        可用性 Usability
        可控制性 Controlability
        不可否认性 Non-repudiation
    安全防护环节
        物理安全:各种设备/主机、机房环境
        系统安全:主机或设备的操作系统
        应用安全:各种网络服务、应用程序
        网络安全:对网络访问的控制、防火墙规则
        数据安全:信息的备份与恢复、加密解密
        管理安全:各种保障性的规范、流程、方法

安全攻击: STRIDE
    Spoofing 假冒
    Tampering 篡改
    Repudiation 否认
    Information Disclosure 信息泄漏
    Denial of Service 拒绝服务
    Elevation of Privilege 提升权限

安全设计基本原则
    使用成熟的安全系统
    以小人之心度输入数据
    外部系统是不安全的
    最小授权
    减少外部接口
    缺省使用安全模式
    安全不是似是而非
    从STRIDE思考
    在入口处检查
    从管理上保护好你的系统

安全算法
    常用安全技术
        认证
        授权
        审计
        安全通信
    加密算法和协议
        对称加密
        公钥加密
        单向加密
        认证协议

对称加密算法
    对称加密:加密和解密使用同一个密钥
        DES:Data Encryption Standard,56bits
        3DES:
        AES:Advanced (128, 192, 256bits)
        Blowfish,Twofish
        IDEA,RC6,CAST5
    特性:
        1、加密、解密使用同一个密钥,效率高
        2、将原始数据分割成固定大小的块,逐个进行加密
    缺陷:
        1、密钥过多
        2、密钥分发
        3、数据来源无法确认

非对称加密算法
    公钥加密:密钥是成对出现
        公钥:公开给所有人;public key
        私钥:自己留存,必须保证其私密性;secret key
    特点:用公钥加密数据,只能使用与之配对的私钥解密;反之亦然
    功能:
        数字签名:主要在于让接收方确认发送方身份
        对称密钥交换:发送方用对方的公钥加密一个对称密钥后发送给对方
        数据加密:适合加密较小数据
    缺点:密钥长,加密解密效率低下
    算法:
        RSA(加密,数字签名)
        DSA(数字签名)
        ELGamal

单向散列
    将任意数据缩小成固定大小的“指纹”
        • 任意长度输入
        • 固定长度输出
        • 若修改数据,指纹也会改变(“不会产生冲突”)
        • 无法从指纹中重新生成数据(“单向”)
    功能:数据完整性
    常见算法
        md5: 128bits、sha1: 160bits、sha224 、sha256、sha384、sha512
    常用工具
        • md5sum | sha1sum [ --check ] file
        • openssl、gpg
        • rpm -V
    md5sum f3 > f3.md5                        # 生成md5校验信息
    md5sum -c f3.md5                         # 检查文件md5信息是否与原数据一致
    ls|xargs md5sum {}  \; > list.md5        # 批量生产md5信息

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

创建CA和申请证书
    PKI:Public Key Infrastructure
        CA
        RA
        CRL
        证书存取库
    建立私有CA:
        OpenCA
        openssl
    证书申请及签署步骤:
        1、生成申请请求
        2、RA核验
        3、CA签署
        4、获取证书            
    
    创建私有CA:
        openssl的配置文件:/etc/pki/tls/openssl.cnf
        三种策略:match匹配、optional可选、supplied提供
            match:要求申请填写的信息跟CA设置信息必须一致
            optional:可有可无,跟CA设置信息可不一致
            supplied:必须填写这项申请信息,
    1、服务器创建所需要的文件
        cd /etc/pki/CA
            tree
            .
            ├── certs
            ├── crl
            ├── newcerts
            └── private
        # 已经有这4个文件,但都是空的
        a.生成私钥,必须叫private/cakey.pem
            (umask 066; openssl genrsa -out private/cakey.pem 2048)    
        b.生成自签名证书,名称必须叫cacert.pem
            openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem
            选项说明:
                -new:生成新证书签署请求
                -x509:专用于CA生成自签证书
                -key:生成请求时用到的私钥文件
                -days n:证书的有效期限
                -out /PATH/TO/SOMECERTFILE: 证书的保存路径
        c.生成证书索引数据库文件                
            touch /etc/pki/CA/index.txt 
        d.指定第一个颁发证书的序列号
            echo 01 > /etc/pki/CA/serial 
2、客户端创建所需要的文件
        mkdir /data/ssl -p
        cd /data/ssl
        a.生成私钥
            (umask 066; openssl genrsa -out app.key 1024)
        b.利用私钥,生成证书申请
            openssl req -new -key /data/ssl/app.key -out /data/ssl/app.csr
        c.上传证书申请到服务器
            scp /data/ssl/app.csr root@10.0.0.201:/etc/pki/CA
            
    3.服务器验证证书申请,并颁发证书
        openssl ca -in app.csr -out /etc/pki/CA/certs/app.crt -days 365
        按y颁发证书
        ls newcerts/01.pem                        (/etc/pki/CA/serial中的初始值顺序编号)
            certs/app.crt                        # 这两个文件一模一样
4.下发证书至客户端
        scp /etc/pki/CA/certs/app.crt root@10.0.0.7:/data/ssl
            
    5.客户端上配置相关程序调用证书
    
    查看证书中的信息:
        openssl x509 -in /PATH/FROM/CERT_FILE -noout -text|issuer|subject|serial|dates
        openssl ca -status SERIAL 查看指定编号的证书状态
        
    吊销证书
        在客户端获取要吊销的证书的serial
            openssl x509 -in /PATH/FROM/CERT_FILE -noout -serial -subject
        在CA上,根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致
    
    吊销证书:
        openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem
    指定第一个吊销证书的编号,注意:第一次更新证书吊销列表前,才需要执行
        echo 01 > /etc/pki/CA/crlnumber
    更新证书吊销列表
        openssl ca -gencrl -out /etc/pki/CA/crl.pem
    查看crl文件:
        openssl crl -in /etc/pki/CA/crl.pem -noout -text

 

posted @ 2019-08-19 17:15  李卓航  阅读(229)  评论(0编辑  收藏  举报