1.加密与解密
1.1 概述
发送方:明文 -> 密文
接收方:密文 -> 明文
加密目标及方式
- 确保数据的机密性:
– 对称加密:加密/解密用同一个密钥
– 非对称加密:加密/解密用不同的密钥
- 保护信息的完整性
– 信息摘要:基于输入的信息生成长度较短,位数固定的散列值
常见的加密算法 - 对称加密
DES,Data Encryption Standard
AES,Advanced Encryption Standard - 非对称加密
RSA,Rivest Shamirh Adleman
DSA,Digital Signature Algorithm - Hash散列技术,用于信息摘要
MD5,Message Digest Algorithm 5
SHA,Secure Hash Algorithm
MD5完整性检验 - 使用md5sum校验工具
- 与软件官方提供的校验值比对
1.2 GPG加/解密工具
1.2.1 GnuPG简介
GnuPG,GNU Privacy Guard
- http://www.gnupg.org/
- 最流行的数据加密,数字签名工具软件
]# gpg --version
1.2.2 GPG对称加/解密
加密操作: --symmetric 或 -c
解密操作: --decrypt 或 -d
]# gpg -c test1.txt //弹出图形界面,设置密码
]# file test1.txt*
]# gpg -d test1.txt.gpg > dtest1.txt //根据提示验证密码
1.2.3 GPG非对称加/解密
基本过程:
1.用户B把自己的公钥传给用户A;
2.用户A使用B的公钥加密数据,将加密后的数据给用户B;
3.用户B使用自己的私钥来解密数据
准备工作:
B用户创建密钥对: --gen-key
B用户导出公钥: --export, --armor 或 -a
A用户导入公钥: --import
注意:利用urandom随机数算法进行计算
mv /dev/random /dev/lodrandom
ln -s /dev/urandom /dev/random
b]# gpg --gen-key //设置用户信息,私钥口令
b]# gpg -list-keys
b]# gpg -a --export userb > /tmp/userb.pub
...
a]# gpg --import /tmp/userb.pub
基本用法
加密操作: --encrypt 或 -e
制定目标用户: --recipient 或 -r
解密操作: --decrypt 或 -d
2.AIDE入侵检测系统
2.1 初始化系统
- 安装软件包 yum -y install aide(Advanced instrusion detection environment)
- 修改配置文件(/etc/aide.conf)
vim /etc/aide.conf
@@define DBDIR /car/lib/aide //数据库目录
@@define LOGDIR /var/log/aide //日志目录
database_out=file:@@{DBDIR}/aide.db.new.gz //数据库文件名
# These are the default rules.
#p: permissions
#i: inode:
#n: number of links
#u: user
#g: group
#s: size
#b: block count
#m: mtime
#a: atime
#c: ctime
#S: check for growing size
#acl: Access Control Lists
#selinux SELinux security context
#xattrs: Extended file attributes
#md5: md5 checksum
#sha1: sha1 checksum
#sha256: sha256 checksum
#sha512: sha512 checksum
#rmd160: rmd160 checksum
#tiger: tiger checksum
#haval: haval checksum (MHASH only)
#gost: gost checksum (MHASH only)
#crc32: crc32 checksum (MHASH only)
#whirlpool: whirlpool checksum (MHASH only)
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
- 初始化检查
在没有被攻击入侵前,根据配置文件,对数据进行校验操作.
]# aide --init
AIDE, version 0.15.1
###AIDE database at /var/lib/aide/aide.db.new.gz initialized.
- 备份数据库
在被入侵前,将校验的数据库文件备份到安全的地方.比如优盘,光盘,移动硬盘或者网络存储.
]# mv /var/lib/aide/aide.db.new.gz /其他路径
2.2 入侵检查
- 执行入侵检查
将之前备份的校验数据库文件还原
]# cp /其他路径 /var/lib/aide/aide.db.gz - 根据数据库执行入侵检测
]# aide --check
3.扫描与抓包
3.1 安全分析概述
- 为什么需要扫描?
以获取一些公开/非公开信息为目的
– 检测潜在的风险
– 查找可攻击目标
– 收集设备/主机/系统/软件信息
– 发现可利用的安全漏洞 - 扫描方式及工具
典型的扫描方式
– Scan,主动探测
– Sniff,被动监听/嗅探
– Capture,数据包捕获(抓包)
常见的安全分析工具
– 扫描器: NMAP
– 协议分析: tcpdump WireShark
3.2 NMAP扫描
3.2.1 NMAP简介
- 一款强大的网络探测工具
- 支持多种探测技术: - ping扫描 ; - 多端口扫描; - TCP/IP指纹校验
- 基本用法
- nmap [扫描类型] [选项] < 扫描目标…>
- 常用的扫描类型
– -sS , TCP SYN扫描(半开)
– -sT , TCP 连接扫描(全开)
– -sU , UDP 扫描
– -sP , ICMP扫描
– -A , 目标系统全面分析
应用示例
nmap -sP 172.40.59.1-254
nmap 172.40.59.189
nmap 172.40.59.182
nmap -p 172.40.59.189
nmap -p 80 172.40.59.189
nmap -A 172.40.59.189 // -A 是复合选项,相当于: -O(OS检测),-sV(版本检测),-sC(脚本检测),traceroute跟踪...
3.3 网络抓包工具(tcpdump包)
3.3.1 tcpdump抓包命令
- 基本用法 tcpdemp [选项] [过滤条件]
- 常见监控选项
– -i 指定监控的网络借口
– -A 转换为ASC码,以方便阅读
– -w 将数据包信息保存到指定文件
– -r 从指定文件读取数据包信息
– -c 定义抓包个数 - tcpdump的过滤条件
– 类型: host, net, port, portrange
– 方向: src, dst
– 协议: tcp, udp, ip, wlan, arp, …
– 多个条件组合: and or not - 应用示例
]# tcpdump -i br1 icmp
]# tcpdump -i br1 icmp and host 172.40.59.107
]# tcpdump -i br1 port 22
]# tcpdump -i br1 -c 4 port 22
]# tcpdump -i br1 port 22 or port 80
]# tcpdump -i br1 \(port 22 or port 80 \) and host 172.40.59.107
]# tcpdump -i br1 dst host www.taobao.com