一.加密与解密
1.1 常见的加密算法
对称加密:怎么加密,就怎么解密
DES Date Encryption Standard
AES Advance Encryption Standard
非对称加密
RSA Rivest Shamirh Adleman
DSA Digital Signature Algorithm
 
数据信息完整性
MD5 Message Digest Algorithm 5
SHA Secure Hash Algorithm
]# md5sum a.txt
 
1.2 GPG加密工具
]# rpm -q  gnupg2
gnupg2-2.0.22-3.el7.x86_64
]# which  gpg
/bin/gpg
]# gpg --help
 
1.3 新建两个用户,并分别登陆,在一台机器行测试加密解密
]# useradd usera
]# useradd userb
]# echo 123456 | passwd --stdin usera
]# echo 123456 | passwd --stdin userb
]# ssh -X usera@localhost
]# ssh -X userb@localhost
 
1.3.1 gpg 数据对称加密与解密  -c 加密  -d 解密 
发             收
usera加密
usera --> userb
usera~] gpg -c a.txt 
usera~] ls
a.txt  a.txt.gpg
usera]$ cp a.txt.gpg /tmp/
 
userb解密
userb~] ls -l /tmp/a.txt.gpg 
-rw-rw-r--. 1 usera usera 48 2月  19 15:01 /tmp/a.txt.gpg
解密
]$ cat /tmp/a.txt.gpg   看到的是乱码
userb/tmp] gpg -d a.txt.gpg > ~/a4.txt (提示输解密密码)
userb]$ cat a4.txt 查看文件内容(解密)
 
1.3.2 gpg 数据非对称加密与解密
公钥加密 私钥解密
加密       解密
uesra    userb
A--发送加密数据(B的公钥)  B--查看加密数据(B的私钥)
 
B--创建秘钥对
B-->公钥-->A
A--公钥-->加密数据
A--数据-->B
B--私钥-->数据
 
1) 创建密钥对 userb
]$ rm -rf  ~/.gnupg/
]$ gpg --gen-key  创建密钥对
...
请选择您要使用的密钥种类:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (仅用于签名)
   (4) RSA (仅用于签名)
您的选择? 
RSA 密钥长度应在 1024 位与 4096 位之间。
您想要用多大的密钥尺寸?(2048)
您所要求的密钥尺寸是 2048 位
请设定这把密钥的有效期限。
         0 = 密钥永不过期
      <n>  = 密钥在 n 天后过期
      <n>w = 密钥在 n 周后过期
      <n>m = 密钥在 n 月后过期
      <n>y = 密钥在 n 年后过期
密钥的有效期限是?(0) 
密钥永远不会过期
以上正确吗?(y/n)y
...
真实姓名:userb
电子邮件地址:pang@163.com
注释:teacher
您选定了这个用户标识:
    “userb (teacher) <pang@163.com>”
更改姓名(N)、注释(C)、电子邮件地址(E)或确定(O)/退出(Q)?O  (提示输入保护私钥的密码)
 
gpg: 正在检查信任度数据库
gpg: 需要 3 份勉强信任和 1 份完全信任,PGP 信任模型
gpg: 深度:0 有效性:  1 已签名:  0 信任度:0-,0q,0n,0m,0f,1u
pub   2048R/44CFD46F 2019-02-19
密钥指纹 = DB63 55F8 6BD7 941D 8F4A  872F BD9B B688 44CF D46F
uid                  userb (teacher) <pang@163.com>
sub   2048R/F6E2F282 2019-02-19
 
]$ ls ~/.gnupg/
gpg.conf           pubring.gpg   random_seed  S.gpg-agent
private-keys-v1.d  pubring.gpg~  secring.gpg  trustdb.gpg
 
2) userb导出公钥
]$ gpg --export -a > ~/userb.pub
]$ ls
a4.txt userb.pub
 
3) userb把导出公钥放到公共目录下
~]$ cp ~/userb.pub /tmp/
 
usera :
1) usera导入公钥
]$ rm -rf  ~/.gnupg/
]$ gpg --import /tmp/userb.pub
]$ ls ~/.gnupg/
gpg.conf  pubring.gpg  pubring.gpg~  secring.gpg  trustdb.gpg
 
2) usera使用公钥加密文件
]$ echo aaaa > test.txt
]$ gpg -e -r userb test.txt  文件加密
             无论如何还是使用这把密钥吗?(y/N)y
]$ ls
test.txt  test.txt.gpg  userb.pub
 
3) usera把加密文件放到公共目录下
]$ cp test.txt.gpg /tmp/
]$ ls -l /tmp/test.txt.gpg 
-rw-rw-r--. 1 usera usera 344 2月  19 15:45 /tmp/test.txt.gpg
 
4) userb用户使用私钥解密文件
]$ gpg -d /tmp/test.txt.gpg > ~/test5.txt  (必须输入私钥的密码)
 
5) userb查看文件内容
]$ cat ~/test5.txt
 
1.3.3 gpg 数字签名
userb使用私钥签名    
]$ echo qwe > a1.txt 创建文件
]$ gpg -b a1.txt (数字签名 要输入私钥密码)
 
]$ls ~/a1*
/home/userb/a1.txt  /home/userb/a1.txt.sig
]$ cp ~/a1*  /tmp/
]$ ls -l /tmp/a1*
-rw-rw-r--. 1 userb userb   4 2月  19 15:51 /tmp/a1.txt
-rw-rw-r--. 1 userb userb 287 2月  19 15:51 /tmp/a1.txt.sig
]$ gpg --fingerprint    输出私钥指纹
/home/userb/.gnupg/pubring.gpg
------------------------------
pub   2048R/44CFD46F 2019-02-19
密钥指纹 = DB63 55F8 6BD7 941D 8F4A  872F BD9B B688 44CF D46F
uid                  userb (teacher) <pang@163.com>
sub   2048R/F6E2F282 2019-02-19
 
usera使用公钥验证签名
]$ gpg --verify /tmp/a1.txt.sig (root 用户修改了 a1.txt 文件的话 提示签名损坏) 
gpg: 于 2019年02月19日 星期二 15时49分06秒 CST 创建的签名,使用 RSA,钥匙号 44CFD46F
gpg: 完好的签名,来自于“userb (teacher) <pang@163.com>”
gpg: 警告:这把密钥未经受信任的签名认证!
gpg:       没有证据表明这个签名属于它所声称的持有者。
主钥指纹: DB63 55F8 6BD7 941D 8F4A  872F BD9B B688 44CF D46F
 
]$ cat /tmp/a1.txt
 
如果内容被修改:
]$ gpg --verify /tmp/a1.txt.sig
gpg: 于 2019年02月19日 星期二 15时49分06秒 CST 创建的签名,使用 RSA,钥匙号 44CFD46F
gpg: 已损坏的签名,来自于“userb (teacher) <pang@163.com>”
 
二 AIDE入侵检测系统
2.1 安装提供检测程序的软件包 
]# yum -y install aide
 
2.2 编辑主配置文件
]# sed -i '99,312s/^/#/' /etc/aide.conf  注释默认的检测配置
]# vim /etc/aide.conf 
/root/    FIPSR    #定义检测的目录 和检测规则,写在99行的上方即可
:wq
 
]# aide --init  没有被入侵之前 生成初始信息数据库文件
AIDE, version 0.15.1
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
]# ls /var/lib/aide/aide.db.new.gz  查看数据库文件
 
]# cp /var/lib/aide/aide.db.new.gz /tmp/ 把存有初始信息的文件拷贝走
]# cd /var/lib/aide/
]# mv aide.db.new.gz aide.db.gz          修改文件名
]# ls /var/lib/aide/
aide.db.gz                               查看修改后的文件名
 
对被检测的/root 目录做操作 (任何操作都可以)
  585  lsattr /root/a.txt 
  586  chattr -a a.txt 
  587  rm -rf /root/a.txt*
  588  ls
  589  vim passwd 
  590  vim  b3.txt
  591  ls -l  mysql-5.7.17.tar 
  592  chown  mysql:mysql  mysql-5.7.17.tar 
 
]# aide --check
Summary:
  Total number of files:9848
  Added files:1
  Removed files:0
  Changed files:2
 
三 扫描与抓包
3.1 nmap  扫描
]# rpm -q nmap
]# man nmap
]# nmap -sP 172.40.52.0/24
]# nmap -sT 172.40.52.118
]# nmap -sT -p 8080 172.40.52.118
]# nmap -sT -n -p 80 172.40.52.118-200
]# nmap -A 192.168.4.50
]# nmap -A  192.168.4.50
]# nmap -sP 172.40.52.119,117,221
]# nmap -sU 192.168.4.51
]# nmap -sT -p 80,3306,53 192.168.4.51
]# nmap -sT -p 21-110,3306,27017,6379 192.168.4.51
 
4.2 tcpdump抓包
]# which tcpdump
/sbin/tcpdump
]# man tcpdump 
 
]# tcpdump  (默认只抓从eth0接口进出的数据包)
]# tcpdump -i br1  指定抓包接口(网卡名称)
]# tcpdump -i br1 -c 2 指定抓包个数
]# tcpdump -i br1 -c 2 -A  以可阅读方式显示抓包信息
]# tcpdump -i br1 -c 2 -A -w /tmp/one.cap 存储到文件里
]# ls /tmp/one.cap   
]# tcpdump -A -r /tmp/one.cap 读取文件内容
 
]# tcpdump -i br1 tcp port 80(网页服务)
]# tcpdump -i br1 tcp port 22(远程ssh)
]# tcpdump -i br1 tcp port 21
 
]# tcpdump -i br1 host 172.40.52.143 and tcp port 21
]# tcpdump -i br1 src host 172.40.52.143 and tcp port 21
(src 只抓访问我的,不抓我返回给他的,相反dst)
 
抓ftp服务的数据包(其他客户端访问51的ftp)
]# useradd student
]# echo abc123 | passwd --stdin  student
]# tcpdump -A -i eth0  tcp port 21 -w /tmp/a3.cap
 
]# tcpdump -A -r /tmp/a3.cap | grep -i student
]# tcpdump -A -r /tmp/a3.cap | grep -i abc123
]# tcpdump -A -r /tmp/a3.cap | grep -i 'user\|pass'
 
四. 192.168.4.51 做邮件服务器
收邮件服务 端口 110
     ]# yum -y install dovecot
     ]# systemctl start dovecot
     ]# netstat -utnlp | grep :110
发邮件服务 端口25
         ]# rpm -q postfix
         ]# systemctl status postfix
         ]# netstat -utnlp | grep :25
添加邮箱帐号
         ]#useradd jim
         ]# echo 123456 | passwd --stdin jim
         jim@localhost 邮箱帐号
            123456 密码
设置邮箱目录
        ]# vim /etc/postfix/main.cf
           419 home_mailbox = Maildir/
        :wq
        ]# systemctl restart postfix
        ]# cd /etc/dovecot/conf.d/
        ]# vim 10-auth.conf
            10 disable_plaintext_auth = no
        :wq
        ]# vim 10-mail.conf
            24 mail_location = maildir:~/Maildir
        :wq
        ]# systemctl restart dovecot
 
连接postfix服务发送邮件
    ]# rpm -q telnet
    ]# telnet localhost 25        连接postfix服务
       helo pc51                  定义主机名
        mail from:root@localhost  发件人
          rcpt to:jim@localhost   收件人
             data                 写邮件
                 i love you boy   邮件内容
                 i love you boy
                 i love you boy
             .                    提交邮件
          quit                    断开连接
 
连接dovecot服务收邮件
      [root@R51 ~]# telnet localhost 110  
      user jim     登陆用户名
      pass 123456  登陆密码
      list         查看邮件
      retr 1       显示编号是1的邮件内容
      quit   断开连接
 
]# tcpdump -A -i lo tcp port 110(上面操作,下面抓包)
]# tcpdump -w /tmp/mail3.cap -A -i lo tcp port 110
]# tcpdump -A -r /tmp/mail3.cap | grep -i user
]# tcpdump -A -r /tmp/mail3.cap | grep -i pass
 
安装wireshark
   ]# yum -y  install wireshark  wireshark-gnome
   ]# wireshark

四十五.加密与解密 AIDE入侵检测系统 扫描与抓包的更多相关文章

  1. 第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法

    第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法 原文地址:http://bristolcrypto.blogspot.com/2015/08/52-things-number-45-de ...

  2. NeHe OpenGL教程 第四十五课:顶点缓存

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  3. Gradle 1.12用户指南翻译——第四十五章. 应用程序插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  4. SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关

    0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...

  5. “全栈2019”Java第四十五章:super关键字

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  6. 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备

     孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...

  7. (十四--十五)数据库查询优化Part I

    (十四--十五)数据库查询优化Part I 如果理解的有问题.欢迎大家指出.这也是我在看课记得笔记..可能会有很多问题 查询优化的重要性 请记住用户只会告诉DMBS他们想要什么样的结果,而不会告诉他们 ...

  8. 《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)

    1.简介 在使用appium写app自动化的时候介绍toast的相关元素的定位,在Web UI测试过程中,也经常遇到一些toast,那么这个toast我们这边如何进行测试呢?今天宏哥就分两篇介绍一下. ...

  9. Security基础(二):SELinux安全防护、加密与解密应用、扫描与抓包分析

    一.SELinux安全防护 目标: 本案例要求熟悉SELinux防护机制的开关及策略配置,完成以下任务: 将Linux服务器的SELinux设为enforcing强制模式 在SELinux启用状态下, ...

随机推荐

  1. Educational Codeforces Round 61 (Div.2)

    A.(c1=0&&c3>0)||(c1!=c4) #include<cstdio> #include<cstring> #include<algor ...

  2. 详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本(转)

    原文:https://www.jb51.net/article/156927.htm

  3. dB分贝计算

    1. 定义 dB-表征相对值的大小的单位,即两个电.声功率之比或者电流.电压.音量之比,是一种测相对大小的单位. 1.1 电.声功率之比——10lg(x/y) x.y分别表示两个欲比较的功率值. 例如 ...

  4. 路由基础(Routing)

    查看本机路由表: [root@controller02 ~]# cat /etc/iproute2/rt_tables # # reserved values # 255     local 254  ...

  5. 在论坛中出现的比较难的sql问题:33(递归 连续日期问题 )

    原文:在论坛中出现的比较难的sql问题:33(递归 连续日期问题 ) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有必 ...

  6. How to change SAPABAP1 schema password In HANA

    Symptom How to change SAPABAP1 schema password Environment HANA 1.x HANA 2.x Resolution Shutdown the ...

  7. SVN上传本地项目到服务器

    1. 在服务器新建一个文件夹目录: 2. 将新建的目录在本地check out下来: 3. 将自己的项目拷贝到check out下来的文件夹下: 4. 右键点击svnàAdd,选择所有添加: 5. 右 ...

  8. IO模型之AIO代码及其实践详解

    一.AIO简介 AIO是java中IO模型的一种,作为NIO的改进和增强随JDK1.7版本更新被集成在JDK的nio包中,因此AIO也被称作是NIO2.0.区别于传统的BIO(Blocking IO, ...

  9. selenium按钮

    学习使用selenium第一个坑,按钮type,submit,button driver.findElement(By.id("su")).submit() driver.find ...

  10. 一个 Git 分支协作模式的进化故事

    从不用版本管理到使用 Git 分支管理的故事,也就是从这个时候开始的... 某公司只有一个程序员,一开始并没有版本管理的概念.项目开发只有一个人在参与,所以也没用版本管理工具. 后来,老板又招了两个程 ...