第七周作业

第七周

1、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT

[root@centos7 bash_repo]#cat ./attackiplist
192.168.1.69
[root@centos7 bash_repo]#cat ./ipblacklist
192.168.1.69 has been rejected
[root@centos7 bash_repo]#cat preventddos.sh
#!/bin/bash
#这里的条件改成了1个链接  100个达不到
ss -tn | awk -F " +|:" '/ESTAB/{ip[$(NF-2)]++}END{for(i in ip)if(ip[i]>1) print i}' > /root/bash_repo/attackiplist
while read IP;do
    iptables -A INPUT -s $IP -j REJECT
    echo "$IP has been rejected" >> /root/bash_repo/ipblacklist
done < /root/bash_repo/attackiplist
[root@centos7 bash_repo]#crontab -e
crontab: installing new crontab
[root@centos7 bash_repo]#crontab -l
*/5 * * * * /root/bash_repo/preventddos.sh

 

2、描述密钥交换的过程
 

  1. 客户端首先向服务器发送它想要验证的密钥对的 ID。
  2. 服务器检查authorized_keys客户端尝试登录的帐户文件以获取密钥 ID。
  3. 如果在文件中找到与 ID 匹配的公钥,服务器会生成一个随机数并使用公钥对数字进行加密。
  4. 服务器将此加密消息发送给客户端。
  5. 如果客户端确实拥有关联的私钥,它将能够使用该密钥解密消息,从而揭示原始号码。
  6. 客户端将解密后的数字与用于加密通信的共享会话密钥组合,并计算该值的 MD5 哈希值。
  7. 客户端然后将此 MD5 散列发送回服务器作为对加密数字消息的答复。
  8. 服务器使用相同的共享会话密钥和它发送给客户端的原始编号自行计算 MD5 值。它将自己的计算与客户端发回的计算进行比较。如果这两个值匹配,则证明客户端拥有私钥并且客户端已通过身份验证。

密钥的不对称性允许服务器使用公钥对发送给客户端的消息进行加密。然后客户端可以通过正确解密消息来证明它持有私钥

3、https的通信过程

客户端和服务器之间的 SSL 连接是通过握手建立的,其目标是:

  • 使客户端确信它正在与正确的服务器通信(反之亦然)
  • 双方就“密码套件”达成一致,其中包括他们将使用哪种加密算法来交换数据
  • 各方就该算法的任何必要密钥达成一致

一旦建立连接,双方就可以使用约定的算法和密钥安全地相互发送消息。我们将握手分为 3 个主要阶段 - 你好、证书交换和密钥交换。

  1. Hello - 握手从客户端发送 ClientHello 消息开始。这包含服务器通过 SSL 连接到客户端所需的所有信息,包括各种密码套件和它支持的最大 SSL 版本。服务器以 ServerHello 响应,其中包含客户端所需的类似信息,包括基于客户端偏好的关于将使用哪个密码套件和 SSL 版本的决定。

  2. 证书交换- 现在已经建立了联系,服务器必须向客户端证明其身份。这是使用其 SSL 证书实现的,该证书与护照非常相似。SSL 证书包含各种数据,包括所有者的姓名、它所附加的财产(例如域)、证书的公钥、数字签名和有关证书有效期的信息。客户端检查它是否隐式信任该证书,或者它是否已被它也隐式信任的多个证书颁发机构 (CA) 之一验证和信任。很快就会有更多关于这方面的内容。请注意,服务器也可以要求证书来证明客户端的身份,但这通常只发生在非常敏感的应用程序中。

  3. 密钥交换- 客户端和服务器交换的实际消息数据的加密将使用对称算法完成,其确切性质已在 Hello 阶段达成一致。与需要公钥/私钥对的非对称算法相比,对称算法使用单个密钥进行加密和解密。双方需要就这个单一的对称密钥达成一致,该过程使用非对称加密和服务器的公钥/私钥安全地完成。

客户端生成一个随机密钥,用于主要的对称算法。它使用在 Hello 阶段商定的算法和服务器的公钥(在其 SSL 证书上找到)对其进行加密。它将这个加密的密钥发送到服务器,在那里使用服务器的私钥解密,双方商定了一个密钥,以对称加密他们将要相互发送的数据。HTTP 请求和响应现在可以通过形成纯文本消息然后加密和发送来发送。另一方是唯一知道如何解密此消息的人,因此中间人攻击者无法读取或修改他们可能拦截的任何请求。

4、使用awk以冒号分隔获取/ettc/passwd文件第一列

[root@centos7 bash_repo]#cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
wilson.wang:x:1000:1000::/home/wilson.wang:/bin/bash
saslauth:x:997:76:Saslauthd user:/run/saslauthd:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

[root@centos7 bash_repo]#awk -F: '{print $1}' /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
systemd-network
dbus
polkitd
sshd
postfix
chrony
tss
wilson.wang
saslauth
apache

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值