awk -F: '{if ($3%2 == 1)print $1,$3}' /etc/passwd
一、判斷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