服务安全与监控
一 . 加密与解密
1.1 加密的目的及算法
—确保数据的机密性
-对称加密 : 加密/解密用同一个钥匙 (AES DES)
-非对称加密 : 加密/解密用不同的密钥 (RSA DSA)
—保护信息的完整性 (MD5 SHA256 SHA512)
-信息摘要 : 基于输入的信息生成长度较短 位数固定的散列值
1.2 MD5校验和
使用md5sum校验工具
-生成MD5校验值
-与软件官方提供的校验值比对
[root@proxy ~]#cat dan.txt
qwerty
123456
[root@proxy ~]#cp dan.txt dandan.txt
[root@proxy ~]#cat dan.txt > dandan.txt
1.2.1 文件内容一致 校验和不变
1.2.2 修改文件内容 校验和发生变化
二 . GPG加密/解密
[root@proxy ~]#yum -y install gnupg2 //安装软件包
[root@proxy ~]#gpg–version //查看版本信息
[root@proxy ~]#gpg --help //gpg用法
2.1 gpg对称加密
2.1.1 gpg使用对称加密算法加密数据操作
[root@proxy ~]#gpg -c dandan.txt
2.2.2 使用gpg对加密文件进行解密
2.2 GPG非对称加密
2.2.1 创建密钥对
[root@client ~]#gpg - -gen-key
//默认算法为RSA 接受默认2048位 接受默认不过期(0)
2.2.2 查看公钥环
2.2.3 使用gpg将公钥文件导出
[root@client ~]#gpg -a - -export wangmengjia > wangmengjia.pub
[root@client ~]#scp wangmengjia.pub 192.168.4.5:/tmp/
2.2.4 接受客户端的公钥信息
2.2.5 使用客户端的公钥加密文件 并传递加密文件给回客户端
[root@proxy ~]#echo “wmj是仙女” > secret.txt
[root@proxy ~]#gpg -e -r wangmengjia secret.txt
2.2.6客户端验证并解密文件
[root@client ~]#gpg -d secret.txt.gpg > secret.txt
您需要输入密码 才能揭开这个用户的私钥
[root@client ~]#cat secret.txt
wmj是仙女
2.3 软件签名与验证过程
## 2.3.1 软件签名与验证过程
-软件官方以私钥对软件包执行数字签名
-用户下载软件包 软件官方的公钥
-以官方公钥验证软件包签名 确保数据来源正确
2.3.2 共享签名文件和原文件
[root@client ~]#tar zcf wmj.tar /var/log //建立测试软件包
[root@client ~]#gpg -b wmj.tar//创建分离式数字签名
[root@client ~]#scp wmj.tar* 192.168.4.5:/root/ //将文件与签名传送给proxy
[root@proxy ~]#gpg --verify wmj.tar.sig wmj.tar //验证签名
总结:
1.为软件包建立签名文件
—分离式签名:- -detach-sign或-b
2.验证软件包签名
—验证签名:- -verify
三 . AIDE入侵检测系统
3.1 部署AIDE入侵软件系统
[root@proxy ~]#yum -y install aide
[root@proxy ~]#cat /etc/aide.conf | tail -1
/root/ FIPSR
[root@proxy ~]#sed -i ‘99,312s/^/#/’ /etc/aide,conf
//为了校验效率 将所有默认目录与文件注释 仅保留/root目录
@@define DBOIR /var/lib/aide //数据库目录
@@define LOGODIR /var/log/aide //日志目录 database_out=file:@@{DBDIR}/aide.db.new.gz //数据库文件名
3.2 初始化数据库 入侵后检查
[root@proxy ~]#aide - -init
[root@proxy ~]#cp /var/lib/aide/aide.db.new.gz /media/
//备份数据库 在入侵钱 将数据库文件拷贝到安全的地方 例如:u盘 网络存储 光盘等
[root@proxy ~]#cd /var/lib/aide
[root@proxy aide]#mv aide.db.new,gz aide.db.gz
[root@proxy aide]#aide - -check //检查哪些数据发生变化
四 . 扫描与抓包
4.1 为什么需要扫描?
-以获取一些公开/非公开信息为目的
-监测存在的风险
-查找可攻击目标
-收集设备/主机/系统/软件信息
-发现可利用的安全漏洞
4.2 典型的扫描方式
-Scan 主动tance
-Sniff 被动监听/嗅探
-Capture 数据包捕获(抓包)
4.3 常见的安全分析工具
-扫描器 NMAP
-协议分析 tcpdump WireShark
五 . NMAP扫描
一款强大的网络探测利器工具
支持多种探测技术 例如:ping扫描 多端口扫描 TCP/IP指纹校验…
5.1 安装软件包
[root@proxy ~]#yum -y install nmap
5.2 nmap基本用法:
#nmap [扫描类型] [选项] <扫描目标…>
-sS TCP SYN扫描(半开)
-sT TCP 连接扫描(全开)
-sU UDP扫描
-sP ICMP扫描
-A 目标系统全面分析
六 . 网络抓包工具
6.1 tcpdump介绍
一款提取TCP数据包的命令行工具
6.1.1 基本用法
[root@proxy ~]#rpm -q tcpdump
[root@proxy ~]#which tcpdump
[root@proxy ~]#man tcpdump
[root@proxy ~]#tcpdump [选项] [过滤条件]
6.1.2 常见监控选项
[root@proxy ~]#tcpdump
[root@proxy ~]#tcpdump -i enp1 s0 //-i 指定监控的网络接口
[root@proxy ~]#tcpdump -i enp1 s0 -c 2 //-c 指定抓包次数
[root@proxy ~]#tcpdump -A enp1 s0 //-A 转换为ACSII码 以方便阅读
[root@proxy ~]#tcpdump -w enp1 s0 //-w 将数据包信息保存到指定文件
[root@proxy ~]#tcpdump -r enp1 s0 //-r 将指定文件读取数据包信息
6.1.3 根据过滤条件抓包
类型: host net port portrange
方向 :src dst
协议 : tcp udp ip wlan......
多个条件组合 : and or not
[root@proxy ~]#tcpdump -i enp1 s0 icmp
[root@proxy ~]#tcpdump -i enp1 s0 icmp and host 192.168.4.51
七 . 图形抓包软件 WireShark
一款与tcpdump类似的抓包工具 需要图形环境
[root@proxy ~]#rpm -qa | grep -i wireshark
[root@proxy ~]#yum -y install wireshark wireshark-gnome
7.1 打开软件包
应用程序---互联网---软件名
7.2 可以把tcpdump命令的抓包文件打开查看抓包内容
1. 使用tcpdump命令 抓包并保存到文件里
2. 使用wireshark打开抓包文件
应用程序---互联网---软件名--->file--->open--->抓包文件