加密/解密
信息傳遞中的風險
- 技術手段
- 非技術手段
加密的方式
- 對稱加密:加密和解密使用相同的密鑰
- 非對稱加密:加密和解密使用不同的密鑰(密鑰對)
密鑰對:公鑰(加密)和私鑰(解密)
保護信息的完整性
-
信息摘要:基於輸入的信息生成長度較短、位數固定的散列值
-
完整性校驗:md5sum
-
算法:加解密文件時的計算規則
常見的加密算法
- 對稱加密:
DES
AES - 非對稱加密:
RSA
DSA
gpg軟件介紹
數據加解密
、數字簽名
工具軟件
gpg --version # 查看版本信息
1)gpg對稱加解密
gpg -c test.txt # 加密
gpg -d test.txt.gpg > test.txt # 解密
2)gpg非對稱加解密(A給B用戶傳加密文件)
1.B用戶創建密鑰對
# 創建密鑰對前可以把 /dev/random 替換爲 /dev/urandom,以提高隨機數生成速度
[root@B] mv /dev/random /dev/random.bak
[root@B] ln -s /dev/urandom /dev/random
[root@B] gpg --gen-key # 生成密鑰對,根據提示完成操作
[root@B] ls ~/.gnupg/
pubring.gpg # 公鑰
secring.gpg # 私鑰
2.B導出公鑰
[root@B] gpg --list-keys # 查看密鑰信息
userb (this is my gpg) <[email protected]> # 真實姓名(描述信息)<郵箱>
[root@B] gpg -a --export userb > /tmp/userb.pub # 導出,userb爲真實姓名,文件必須以.pub結尾
3.A導入公鑰
下載B的公鑰userb.pub
[root@A] gpg --import /tmp/userb.pub
4.A加密文件
[root@A] gpg -e -r userb ~/test.txt # -r爲指定用戶(真實姓名)
[root@A] scp ~/test.txt.gpg B@IP:
5.B解密文件
[root@B] gpg -d ~/test.txt.gpg > test.txt # 解密,需要輸入保護私鑰的密碼
3)gpg數字簽名(驗證文件完整性)
軟件簽名與驗證過程
- 軟件官方以
私鑰
對軟件包執行數字簽名 - 用戶下載軟件包、軟件官方的公鑰、簽名文件
- 以官方
公鑰
驗證軟件包簽名,確保數據來源正確
[root@B] gpg -b test.txt #建立分離式簽名文件
test.txt.sig #簽名文件
[root@B] scp userb.pub test.txt test.txt.sig A@IP:
[root@A] gpg --import userb.pub #導入公鑰
[root@A] gpg --verify test.txt.sig #驗證簽名
AIDE入侵檢測系統
] yum -y install aide
] vim /etc/aide.conf
3 @@define DBDIR /var/lib/aide #數據庫目錄
4 @@define LOGDIR /var/log/aide #日誌目錄
7 database=file:@@{DBDIR}/aide.db.gz #數據庫文件名
26-93行爲希望檢查的項目
99行以後爲預設的檢測規則
規則書寫:
目錄名(文件名) 檢查規則
/root/ FIPSR
] aide --init # 初始化,根據配置文件生成檢測文件
] mv /var/lib/aide/aide.db.new.gz /root/ # 備份文件
] cp ~/aide.db.new.gz /var/lib/aide/aide.db.gz # 檢查時需要與該文件進行比對
] aide --check #查看是否有入侵
Summary:
Total number of files: 7 #文件總數
Added files: 3 #新增的文件數
Removed files: 0 #刪除的文件數
Changed files: 1 #改變的文件數
掃描與抓包
nmap 掃描
tcpdump 抓包
爲什麼要掃描
以獲取一些公開/非公開的信息爲目的
- 檢測潛在的風險
- 查找可攻擊目標
- 收集設備/主機/系統/軟件信息
- 發現可利用的安全漏洞
典型的掃描方式和工具
Scan,主動嗅探
Sniff,被動監聽/嗅探
Capture,數據包捕獲
常見的安全分析工具
掃描:nmap
抓包:tcpdump/WireShark
1)掃描nmap
nmap支持多種探測技術
- ping 掃描
- 多端口掃描
- TCP/IP指紋校驗
yum -y install nmap
man nmap #中文幫助
命令格式:nmap [掃描類型] [選項] <目標主機(主機名或者ip地址)>
nmap 192.168.4.200
常用的掃描類型:
-sS TCP SYN掃描(半開)
-sT TCP 連接掃描(全開)
-sU UDP掃描
-sP ICMP掃描(ping),可以同時掃描多臺機器
-A 目標系統全面分析
nmap -sP 192.168.4.1-254 #掃描4網段
nmap -sP 192.168.4.10-20
nmap -sP 192.168.4.51,52,53
nmap 192.168.4.52 #默認TCP掃描
nmap -sS -n -p 80,3306,6379,22 192.168.4.52 # -n不做dns解析,-p指定端口
nmap -sS -n -p 22-110 192.168.4.52
2)抓包tcpdump
yum -y install tcpdump
tcpdump [選項] [過濾條件] #選項控制抓包方式,過濾條件控制抓什麼樣的包
選項:
-i # 指定監控的網絡接口
-A # 轉換爲ACSII碼,方便閱讀
-w # 將數據包信息保存到指定文件
-r # 從指定文件讀取抓包信息
-c # 定義抓包個數
tcpdump -i ens33 -A -w ./1.cap # ens33爲網卡名稱,抓包文件習慣以.cap結尾
tcpdump -r 1.cap -A
tcpdump -c 2 -A -i ens33
過濾條件:
- 類型:host、net、port、portrange
- 方向:src、dst (目標地址|源地址)
- 協議:tcp、udp、ip、wlan、arp、…
- 多個條件組合:and、or、not
tcpdump -i ens33 icmp
tcpdump -i ens33 icmp and host 192.168.4.51 # 檢查這個IP是否ping我
# 內容:
# 時間 源ip地址 目標地址 協議 ...
tcpdump -i ens33 tcp dst port 22 and host 192.168.4.53 # tcp協議,目標端口爲22,ip爲192.168.4.53
tcpdump -i ens33 tcp port 80 or port 3306 # tco協議,目標端口80和3306
tcpdump -i ens33 -w ~/1.cap icmp and src host 192.168.4.1 # 協議icmp,源ip192.168.4.1,抓包數據寫入文件1.cap
1.ftp抓包
tcpdump -w ftp.cap -A -i ens33 tcp port 21 # 數據未加密時,抓包可以獲取用戶名和密碼等重要數據
# 命令行訪問ftp方法:
# yum -y install ftp # 命令行訪問ftp工具
# ftp 192.168.4.53
# 輸入用戶名和密碼登錄
2.pop3抓包
tcpdump -A -i ens33 tcp port 110
3)wireshark協議分析器
wireshark協議分析器,需要圖形界面,主要用來分析抓包數據
] yum -y install wireshark wireshark-gnome
] wireshark # 啓動wireshark