1. 编写脚本/root/bin/checkip.sh,每5分钟检查一次,如果发现通过ssh登录失败 次数超过10次,自动将此远程IP放入Tcp Wrapper的黑名单中予以禁止防问
cat > /root/bin/checkip.sh << EOF
#!/bin/bash
lastb|awk '! /^btmp|^[[:space:]]+.*$|^$/{ip[$3]++}END{for(i in ip){if (ip[i]>10){system("echo sshd:"i" >> /etc/hosts.deny")}}}'
EOF
chmod +x /root/bin/checkip.sh
echo "*/5 * * * * root /root/bin/checkip.sh" >> /etc/crontab
  1. 配置abc用户的sudo权限,允许magedu用户拥有root权限
echo "%sudo   ALL=(ALL:ALL) ALL" >> /etc/sudoers.d/permission
useradd -g sudo abc
echo "PwdStr" | passwd --stdin abc
  1. 建立一个私有CA,为用户颁发证书
    1. 建立CA
# 根证书服务器 生成私钥
(umask 066;openssl genrsa -out cakey.pem 4096)
# 根证书服务器 创建自签名证书
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650 << EOF
CN
JS
WX
XiZ
ops
ca.xiz.site
ably@vip.163.com
EOF
# 根证书服务器 准备颁发证书所需的其他文件
touch /etc/pki/tls/index.txt
echo 00 > /etc/pki/tls/serial
mkdir -p /etc/pki/tls/newcerts
2. 申请证书
# 请求端服务器 生成私钥
mkdir -p /data/app/
cd !$
(umask 066;openssl genrsa -out app.key 4096)
# 请求端服务器 生成申请证书的文件
openssl req -new -key app.key -out app.csr << EOF
CN
JS
WX
XiZ
app
app.xiz.site
wangweiguo@ixinwu.com
.
XiZ
EOF
# 将文件拷贝到 根证书服务器
scp /data/app/app.csr ca.xiz.site:/data/certs/
3. 颁发证书
# 根证书服务器 颁发证书
openssl ca -in /data/certs/app.csr -out /etc/pki/tls/certs/app.crt -days 3650
# 证书文件拷贝到 请求端服务器 使用
  1. 基于Key的验证,通过key远程服务器
# 在客户端生成私钥对
ssh-keygen -t rsa [-C "abc@vip.163.com"]
# 将公钥拷贝到目标服务器
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.x.x
# 输入目标服务器的登录密码,之后再远程即可通过key登录
  1. ※实验:rsync

  2. ※实验:pssh

  3. 实验:ssh 端口转发 本地:-L 远程:-R 动态:-D

  4. ※实验:sshd服务器配置优化 /etc/ssh/sshd_config

  5. 实验:dropbear编译安装

  6. 实验:aide

  7. ※实验:sudo user ALL= /bin/cat /var/log/messages* 如何解决这个安全风险