加密/解密概述
信息传递中的风险
加密的目的及方式
- 确保数据的机密性
-对称加密:加密/解密用同一个密钥
-非对称加密:加密/解密用不同的密钥
保护信息的完整性
-信息摘要:基于输入的信息生成长度较短、位数固定的散列值
常见的加密算法 - 对称加密
——DES,Data Encryption Standard
——AES,Advanced Encrypyion Standard - 非对称加密
——RSA,Rivest Shamirh Adleman
——DSA,Digital Signature Algorithm
Hash散列技术,用于信息摘要
——MD5,Message Digest Algorithm 5
——SHA,Secure Hash Algorithm
[root@room9pc01 ~]# mv /dev/random /dev/random1
[root@room9pc01 ~]# ln -s /dev/urandom /dev/random
userb
rm -rf ~/.gnupg
1 创建密钥对
[userb@room9pc01 ~]$ gpg --gen-key
gpg (GnuPG) 2.0.22; Copyright © 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
gpg: 已创建目录‘/home/userb/.gnupg’
gpg: 新的配置文件‘/home/userb/.gnupg/gpg.conf’已建立
gpg: 警告:在‘/home/userb/.gnupg/gpg.conf’里的选项于此次运行期间未被使用
gpg: 钥匙环‘/home/userb/.gnupg/secring.gpg’已建立
gpg: 钥匙环‘/home/userb/.gnupg/pubring.gpg’已建立
请选择您要使用的密钥种类:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (仅用于签名)
(4) RSA (仅用于签名)
您的选择?
RSA 密钥长度应在 1024 位与 4096 位之间。
您想要用多大的密钥尺寸?(2048)
您所要求的密钥尺寸是 2048 位
请设定这把密钥的有效期限。
0 = 密钥永不过期
= 密钥在 n 天后过期
w = 密钥在 n 周后过期
m = 密钥在 n 月后过期
y = 密钥在 n 年后过期
密钥的有效期限是?(0)
密钥永远不会过期
以上正确吗?(y/n)y
You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
“Heinrich Heine (Der Dichter) [email protected]”
真实姓名:userb
电子邮件地址:[email protected]
注释:userbkey
您选定了这个用户标识:
“userb (userbkey) [email protected]”
更改姓名(N)、注释©、电子邮件地址(E)或确定(O)/退出(Q)?O
您需要一个密码来保护您的私钥。
我们需要生成大量的随机字节。这个时候您可以多做些琐事(像是敲打键盘、移动
鼠标、读写硬盘之类的),这会让随机数字发生器有更好的机会获得足够的熵数。
我们需要生成大量的随机字节。这个时候您可以多做些琐事(像是敲打键盘、移动
鼠标、读写硬盘之类的),这会让随机数字发生器有更好的机会获得足够的熵数。
gpg: /home/userb/.gnupg/trustdb.gpg:建立了信任度数据库
gpg: 密钥 30D97FCC 被标记为绝对信任
公钥和私钥已经生成并经签名。
gpg: 正在检查信任度数据库
gpg: 需要 3 份勉强信任和 1 份完全信任,PGP 信任模型
gpg: 深度:0 有效性: 1 已签名: 0 信任度:0-,0q,0n,0m,0f,1u
pub 2048R/30D97FCC 2019-05-28
密钥指纹 = FCF6 CB16 D44A B929 8DAB 452F ED44 43AB 30D9 7FCC
uid userb (userbkey) [email protected]
sub 2048R/9A57C81B 2019-05-28
[userb@room9pc01 ~]$ ls -a ~/.gnupg/
2 导出公钥
[userb@room9pc01 ~]$ gpg --export -a
[userb@room9pc01 ~]$ gpg --export -a > userb.pub
3 罢公钥文件共享(mv / scp)
[userb@room9pc01 ~]$ mv userb.pub /tmp/
usera 发送方 加密数据
导入公钥
gpg --import
[usera@room9pc01 ~]$ gpg --import /tmp/
[usera@room9pc01 ~]$ ls -a ~/.gnupg/
1 使用公钥加密
gpg -e
[usera@room9pc01 ~]$ gpg -e -r userb test.txt
2 发送加密文件
mv / scp
[usera@room9pc01 ~]$ mv test.txt.gpg /tmp/
3 接收方 userb 用户使用私钥解密
gpg -d
[userb@room9pc01 ~]$ gpg -d /tmp/test.txt.gpg
[userb@room9pc01 ~]$ gpg -d /tmp/test.txt.gpg > ~/b.txt
[userb@room9pc01 ~]$ cat ~/b.txt
GPG软件签名与验证
1 使用私钥签名
userb]# gpg -b a1.txt
userb]# ls a1.txt.sig
2 共享签名文件 公钥匙文件 原文件
userb]# cp a1.txt /tmp/
userb]# cp a1.txt.sig /tmp/
公钥文件已经共享过了
3 导入公钥
公钥 usera 已经导入过了
4 使用公钥验证签名文件
usera]# gpg --verify /tmp/a1.txt.sig 完好
[root@pc117 ~]# sed -i ‘1aAAAAAA’ /tmp/a1.txt
usera]# gpg --verify /tmp/a1.txt.sig损坏
[root@pc117 ~]# sed -i ‘2d’ /tmp/a1.txt
usera]# gpg --verify /tmp/a1.txt.sig 完好
AIDE入侵监测系统
[root@53 ~]# yum -y install aide
修改配置文件
[root@53 ~]# vim /etc/aide.conf
@@define DBDIR /var/lib/aide //数据库目录
@@define LOGDIR /var/log/aide //日志目录
database_out=file:@@{DBDIR}/aide.db.new.gz //数据库文件名
]# sed -i ‘99,$s/^/#/’ /etc/aide.conf
]# vim /etc/aide.conf
/root/FIPSR
]# aide --init
]# cp /var/lib/aide/aide.db.new.gz /tmp/
]# cd /var/lib/aide/
]# mv aide.db.new.gz aide.db.gz
对监测的/root 目录做 监测项 的操作
rm -rf plj.000001
rm -rf plj.000002
vim redis.sh
vim 3c.txt
做“入侵” 监测
]# aide --check
扫描与抓包
nmap 扫描
基本用法
]# nmap [扫描类型] [选项] <扫描目标 …>
]# man nmap
常用的扫描类型
-sS,TCP SYN扫描(半开)
-sT,TCP 连接扫描(全开)
-sU,UDP扫描
-sP,ICMP扫描
-A,目标系统全面分析
选项 -n -p
扫描目标:ip地址
192.168.4.53
192.168.4.1-254
192.168.4.0/24
192.168.4.50-51
192.168.4.51,53,55
主机名 www.taobao.com
]# nmap -sP -n 172.40.54.100-110
]# nmap -sS -n 172.40.54.102
]# nmap -A 172.40.54.102
]# nmap -p 21-22 192.168.4.0/24
]# nmap -p 21-80 172.40.54.102
]# nmap -p 3306,27017 172.40.54.102
]# nmap -sS -n 192.168.4.53
]# nmap -sT -n 192.168.4.53
tcpdump抓包 (命令行)
一款提取TCP数据包的命令行工具
基本用法
——tcpdump 【选项】 【过滤条件】
常见监控选项
—— -i ,指定监控的网络接口
—— -A ,转换为ACSII码,以方便阅读
—— -w ,将数据包信息保存到指定文件
—— -r , 从指定文件读取数据包信息
—— -c ,指定抓包个数
过滤条件
—— 类型:host、net、port、portrange
—— 方向:SRC、dst
—— 协议:tcp、udp、ip、wlan、arp… …
—— 多个条件组合:and、or、not
wireshark抓包 (图形抓包软件)]# tcpdump -i br1 -A icmp
]# tcpdump -i br1 -A -c 2 icmp and host 172.40.58.66
]# tcpdump -i br1 -A port 80
]# tcpdump -i br1 -A port 80 and host 172.40.58.66
]# tcpdump -i br1 -A port 22
[root@host53 ~]# setenforce 0
[root@host53 ~]# useradd student
[root@host53 ~]# echo abc123abc | passwd --stdin student
[root@host53 ~]# systemctl restart vsftpd
[root@host53 ~]# tcpdump -A -w ftp.cap port 21
[root@pc117 ~]# rpm -q ftp
[root@pc117 ~]# ftp 192.168.4.53
Name (192.168.4.53:root): student
Password:
ftp> bye
[root@host53 ~]# crtl + c (结束抓包)
[root@host53 ~]# tcpdump -A -r ftp.cap | grep -i user
[root@host53 ~]# tcpdump -A -r ftp.cap | grep -i pass
一款与tcpdump类似的抓包工具,需要图形环境
]# yum -y install wireshark wireshark-gnome
打开wireshark图形抓包工具:
应用程序—>互联网—>点击软件名
[root@pc117 ~]# scp [email protected]:/root/ftp.cap /root/