第九周做業

一、判斷UID是否大於等於500,若是爲真就顯示爲普通用戶,若是爲假就顯示爲系統或管理用戶react

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

二、顯示用戶id爲奇數的用戶。web

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

三、統計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

四、簡述加密類型以及數據加密解密過程數據庫

加密:限制對網絡上傳輸數據的訪問權的技術。原始數據(也稱爲明文,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 、sha25六、sha38四、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信息

五、搭建私有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
相關文章
相關標籤/搜索