天天看點

security 02: 加密與解密 、 掃描與抓包 、 總結和答疑 、 SELinux安全防護man nmapnmap -n -sP 172.40.55.100-200 --exclude 172.40.55.143,172.40.55.158nmap -n -sP 172.40.55.100-200 --excludefile /root/ip.txtyum -y install wireshark wireshark-gnomerpm -q wireshark wireshark-gnome

day01

一、selinux安全防護

二、資料 加密 解密

三、抓包與掃描

++++++++++++++++++++++++++++++

1.1 selinux 介紹

1.2 linux安全保護模型?

1.3 檢視目前系統selinux的狀态

[root@svr7 ~]# sestatus

1.4 selinux配置檔案

[root@host50 ~]# cat /etc/selinux/config

1.5 檢視安全上下文

檢視程序 ps aux -Z

ps aux -Z | grep -i 程序名

檢視檔案 ls -lZ 檔案名

檢視目錄 ls -ldZ 目錄名

1.6 安全上下文的組成?

system_u:object_r:passwd_file_t:s0

system_u:object_r:net_conf_t:s0

使用者:角色:通路類型:參數

1.7 常見的通路類型?

1.8 SELinux啟用後的一般操作規律?

建立新檔案時,新檔案繼承父目錄的安全上下文。

移動檔案時,保持原有的安全上下文不變

拷貝檔案時,繼承目标目錄的安全上下文

1.9 修改通路類型?

]# chcon -R -t 通路類型 目錄名 //遞歸修改 

]# chcon -t 通路類型 檔案名 

]# chcon -t httpd_sys_content_t /var/www/html/test1.html 

1.10 恢複檔案通路類型?

]# restorecon -R 目錄名 //遞歸恢複

]# restorecon 檔案名

]# restorecon /var/www/html/test2.html 

練習檔案selinux 通路類型的修改 (以網站服務檔案為例)

1.11 selinux布爾值 (功能開關)

檢視bool值

#getsebool -a 

#getsebool -a | grep -i ftp

修改bool值

#setsebool -P 選項=1|0

#setsebool -P 選項 on|off

環境準備,啟動vsftpd服務,配置允許匿名ftp使用者, 可以上傳和下載下傳檔案到/var/ftp/shardir目錄裡。

[root@host50 ~]# sed -n '29p' /etc/vsftpd/vsftpd.conf 

anon_upload_enable=YES

[root@host50 ~]# 

[root@host50 ~]# mkdir /var/ftp/shardir 

[root@host50 ~]# chmod o+w /var/ftp/shardir

[root@host50 ~]# systemctl restart vsftpd

592 setsebool -P ftpd_anon_write=1

593 setsebool -P ftpd_full_access on

594 getenforce -a | grep -i ftp

597 setenforce 1

用戶端:

yum -y install ftp

lcd 切換到本機目錄

get 下載下傳 

put 上傳

+++++++++++++++++++++++++++++++++++++

啟用selinux日志程式記錄報錯資訊:

啟用selinux 後,修改網站服務使用的端口号為8090。

[root@host50 ~]# cat /var/log/messages | grep -n -i setroubleshoot | tail -1

37272:Jan 28 22:38:31 host50 setroubleshoot: SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket port 8090. For complete SELinux messages. run sealert -l a9db74ee-ff0d-45c7-8a4d-34d4bf5bc3c4

[root@host50 ~]# sealert -l a9db74ee-ff0d-45c7-8a4d-34d4bf5bc3c4

]# semanage port -a -t http_port_t -p tcp 8090

+++++++++++++++++++++++++++++++

2.1 為什麼要加密?

2.2 什麼加密? 什麼是解密?

發送方 加密 接收方 解密

2.3 什麼是算法? 加/解密計算規則

秘鑰(公鑰加密 私鑰解密)

|——> 可以是指令 或 一段代碼

2.4 加密方式?

對稱加密: 加密和解密使用相同的計算規則

非對稱加密:加密和解密使用不相同的計算規則

對稱加密算法: DES AES

非對稱加密算法: RSA DSA

Hash散列技術,保證資料的完整性。 md5 sha

gpg 對稱加密 -c -d

發 收

usera -------------- > userb

usera 加密 gpg -c 檔案名

userb 解密 gpg -d 檔案名

++++++++++++++++++++++++++

gpg 非對稱加密(使用密鑰對)

公鑰 加密

私鑰 解密

userb(解密 )

1 建立密鑰對 ~/.gnupg/

#gpg --gen-key

#ls ~/.gnupg/

2 導出公鑰 并把公鑰檔案傳給usera

[userb@room9pc17 ~]$ gpg --export -a > /tmp/userb.pub

[userb@room9pc17 ~]$ cat /tmp/userb.pub 

usera(加密)

1 導入公鑰檔案~/.gnupg

[usera@room9pc17 ~]$ gpg --import /tmp/userb.pub

[usera@room9pc17 ~]$ ls ~/.gnupg

2 使用公鑰加密檔案 ,把加密後的檔案給userb

[usera@room9pc17 ~]$ gpg -e -r usera b.txt

[usera@room9pc17 ~]$ mv b.txt.gpg /tmp/

3 userb解密 

調用私鑰解密 解密檔案

[userb@room9pc17 ~]$ gpg -d /tmp/b.txt.gpg > u.txt 

cat u.txt

++++++++++++++++++++++++++++++++++

gpg數字簽名 功能驗證資料完整性

-b --verify --fingerprint

userb 

私鑰簽名

26 vim c.txt

28 gpg -b c.txt

ls c.

30 cp c. /tmp/

33 gpg --fingerprint

usera

公鑰驗證簽名

#gpg --verify /tmp/c.txt.sig

#cat /tmp/c.txt

root# sed -i '1s/^/aaa/' /tmp/c.txt

3.1 掃描nmap

3.2 抓包tcpdump 

3.3 協定分析軟體的使用wireshark

180 which nmap

181 rpm -qf /bin/nmap

182 rpm -q nmap

文法格式 

#nmap [掃描類型] [選項] <ip位址>

掃描類型有哪些? -sS -sT -sU -sP 

選項有哪些? -A -n -p

ip位址表示方式?

192.168.4.53

192.168.4.100-200

192.168.4.53,57,68

#nmap -sP 172.40.55.122

185 nmap -sP 172.40.55.122

186 nmap -sP 172.40.55.180

187 nmap 172.40.55.180

188 nmap -n -sT -p 80 172.40.55.180

189 nmap -n -sT -p 25,80 172.40.55.180

190 nmap -n -sT -p 21-100,3306 172.40.55.180

191 nmap -n -A 172.40.55.180

#vim /root/ip.txt

172.40.55.143

172.40.55.158

172.40.55.180

:wq

vim /root/web.sh

#/bin/bash

for ip in 180 143 158 

do

nmap -n -sS -p 80 172.40.55.$ip | grep -q open

if [ $? -eq 0 ];then

echo " 172.40.55.$ip 80 open"

else

echo " 172.40.55.$ip 80 closed"

fi

done

+++++++++++++++++++++++++++++

#mkdir /myself

#mv /root/web.sh /myself/checkweb

#chmod +x /myself/checkweb

#vim /etc/profile

....

export PATH=/myself:$PATH

#resource /etc/profile

#echo $PATH

#cd /usr/local/

#checkweb

++++++++++++++++++++++++++++++++++++

#checkweb 3306 112 130 129

#checkweb 11211 112 130 129

tcpdump [選項] [過濾條件]

選項 

-i 網絡接口名 //不指定接口名時,預設抓eth0 接口進出的包

-c 數字 //指定抓包個數,不指定的話會一直抓包

-A //以可閱讀的方式抓取資料包

-w 檔案名.cap //把抓到的資料資訊存儲到檔案裡。預設會輸出到螢幕上。

-r 檔案名.cap //讀取抓封包件的内容

110 tcpdump

112 tcpdump -i br1

113 tcpdump -i br1 -c 2

114 tcpdump -i br1 -c 2 -A 

115 tcpdump -i br1 -c 2 -A -w /tmp/tcpdump.cap

116 tcpdump -A -r /tmp/tcpdump.cap

過濾條件: 抓包時,不加過濾條件,會抓所有到達的資料包。反之,隻抓複合條件的資料包。

[root@host50 ~]# tcpdump -i eth0 -A

[root@host50 ~]# tcpdump -i eth0 -A tcp port 8090

[root@host50 ~]# tcpdump -i eth0 -A tcp port 8090 and host 192.168.4.53

[root@host50 ~]#tcpdump -i eth0 -A tcp port 22 and net 192.168.4.0/24

[root@host50 ~]#tcpdump -i eth0 -A tcp port 22 and not host 192.168.4.53

[root@host50 ~]#tcpdump -i eth0 -A 

tcp port 8090 and host 192.168.4.53 or host 192.168.4.54

[root@host50 ~]#tcpdump -i eth0 -A

tcp port 8090 and (host 192.168.4.53 or host 192.168.4.54)

[root@host52 ~]#tcpdump -i eth0 -A tcp port 25 -w /tmp/mail2.cap

[root@host52 ~]#tcpdump -A -r /tmp/mail2.cap

[root@host52 ~]# scp /tmp/mail2.cap 192.168.4.254:/root/

3.3 協定分析軟體的使用wireshark (主控端)

安裝軟體包

打開圖形界面

應用程式->網際網路->軟體名 ---> 檔案菜單->打開檔案/root/mail2.cap

tcp 傳輸協定 标記位

SYN 新連接配接

ACK 确認連接配接

FIN 斷開連接配接 

push( P) 傳輸資料

RST 重建立立連接配接

應用層 http smtp ftp

傳輸層 tcp upd

網絡層 ip包

實體層 資料流 (0101)

     本文轉自sweak_h 51CTO部落格,原文連結:http://blog.51cto.com/13478354/2067028,如需轉載請自行聯系原作者

繼續閱讀