堡垒机防护

堡垒机相当于集群的大门,当攻击者无法从管理人员通道直接攻击到集群时候,可以把目标指向堡垒机。当堡垒机权限过去强大时,也意味着网络安全隐患随时触发。

增加VPN

堡垒机这个大门很重要,那我们就通过VPN加密隧道屏蔽攻击者的访问的可能。

  1. 环境准备
    主要通过VPN访问到内网环境,使外网无法访问的的原理进行安全防御,所以要配置内网环境的网卡
  • 创建内网网卡eth1
    编辑网卡vim /etc/sysconfig/network-scripts/ifcfg-eth1
    1
    2
    3
    4
    5
    6
    7
    TYPE=Ethernet
    BOOTPROTO=none
    IPADDR=172.16.1.61
    PREFIX=24
    NAME=eth1
    DEVICE=eth1
    ONBOOT=yes
  • 重启网络systemctl restart network
  • 检查ip是否生效ip a
  1. VPN环境搭建
    1
    2
    3
    软件包:openVPN
    服务端:堡垒机
    客户端:win10

服务端:
1 安装openvpn
yum install openvpn easy-rsa -y
2.检查是否完成安装
rpm -qa openvpn
3.1创建ca证书vars文件:
创建目录
mkdir -p /opt/easy-rsa
复制内容
cp -a /usr/share/easy-rsa/3.0.8/* /opt/easy-rsa
cp /usr/share/doc/easy-rsa-3.0.8/vars.examp /opt/easy-rsa/vars
配置内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cat  >/opt/easy-rsa/vars<<'EOF'
if [ -z "$EASYRSA_CALLER" ]; then
echo "You appear to be sourcing an Easy-RSA 'vars' file." >&2
echo "This is no longer necessary and is disallowed. See the section called" >&2
echo "'How to use this file' near the top comments for more details." >&2
return 1
fi

set_var EASYRSA_DN "cn_only"
set_var EASYRSA_REQ_COUNTRY "CN"
set_var EASYRSA_REQ_PROVINCE "Beijing"
set_var EASYRSA_REQ_CITY "Beijing"
set_var EASYRSA_REQ_ORG "anian"
set_var EASYRSA_REQ_EMAIL "a48263377@gmail.com"
set_var EASYRSA_NS_SUPPORT "yes"
EOF

检查vars生成情况
tree /opt/easy-rsa
easy-rsa目录树

3.2创建ca证书
easy-rsa目录下./easyrsa init-pki 初始化
pki
创建ca./easyrsa build-ca
创建密码

配置域名

检查ca证书文件
ca证书完成

4.创建server端证书和私钥
请求盖章
./easyrsa gen-req server nopass
盖章
./easyrsa sign server server
确认信息

填写密码

检查是否生成server文件
ll /opt/easy-rsa/pki/issued/server.crt /opt/easy-rsa/pki/private/server.key

5.创建dh-pem算法
创建dh-pem算法
./easyrsa gen-dh
检查dh-pem文件
ll /opt/easy-rsa/pki/dh.pem

6.创建client证书
创建client证书和私钥
./easyrsa gen-req client nopass
client证书签名
./easyrsa sign client client
确认信息

填写密码
``
检查是否生成client文件
ll /opt/easy-rsa/pki/private/client.key /opt/easy-rsa/pki/issued/client.crt

6.总结
OpenVPN

  1. openVPN配置文件
    vim /etc/openvpn/server/server.conf

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    port 1194                               
    proto udp
    dev tun
    ca ca.crt
    cert server/server.crt
    key server/server.key
    dh server/dh.pem
    server 10.8.0.0 255.255.255.0
    push "route 172.16.1.0 255.255.255.0"
    #ifconfig-pool-persist ipp.txt
    keepalive 10 120
    max-clients 100
    status /var/log/openvpn-status.log
    log /var/log/openvpn.log
    verb 3
    client-to-client
    persist-key
    persist-tun
    duplicate-cn

    把easy-rsa生成的文件复制到openvpn目录下
    easy-rsa目录下

    1
    2
    3
    \cp ca.crt /etc/openvpn/
    \cp dh.pem /etc/openvpn/server/
    \cp issued/server.crt private/server.key /etc/openvpn/server/

    检查文件
    server文件

  2. 修复bug(openvpn启动)
    vim /usr/lib/systemd/system/openvpn@.service
    没有修改
    修改

  3. 启动openvpn
    开机自启动systemctl enable openvpn@server
    启动systemctl start openvpn@server

  4. 检查服务端
    检查端口ss -lntup | grep 1194
    检查进程ps -ef | grep openvpn
    检查网卡ip a 查看是否有tun网卡

客户端

  • 下载openvpn软件包安装
  • 创建client.ovpn文件
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    client                  
    dev tun
    proto udp
    remote 10.0.0.61 1194
    resolv-retry infinite
    nobind
    ca ca.crt
    cert client.crt
    key client.key
    verb 3
    persist-key
  • 导入服务端创建的ca证书和client文件

启动客户端连接即可