上海热线 新闻   国内新闻   国际新闻 教育   留资讯学   教育资讯 生活   旅游资讯   汽资讯车 娱乐   娱乐资讯   荧屏资讯
财经   财经要闻   楼市快讯 健康   时尚健康   健康资讯 时尚   完美护肤   整形新闻 科技   互 联 网   科技资讯
首页 >> 新闻 >> 科技 >> 科技资讯 >> 正文
  • 基于ZStack云平台企业级虚拟专有网络统一认证解决方案及实践

  • 时间:2018-12-26 新闻来源: 上海热线
    •  0.背景

      本文适用于办公以及研发环境的虚拟专有网络统一认证,适用于同时需要保障环境安全性,完整性以及可控性的情况。

      内网的安全涉及到wifi准入,上网行为管理,网络出口防火墙等。基于ZStack平台私有云环境,需要一整套虚拟专有网准入以及日志审计的系统平台。

      本次主要是使用openldap作为统一认证,Cisco ASA 作为VPN服务端,使用syslog进行日志审计。同时也提供了使用snmp的方式去定时轮训获取登录的用户以及ip。

      说明:

      本文介绍的方案是新钛云服架构师在实际环境中实践总结而来,效果不错,所以整理分享出来。

      实战环境:

      AA.zstack+ASA8.42+Anyconnect+Ldap(CiscoPerson)+Syslog


      1.快速安装openldap

      https://github.com/osixia/docker-openldap

      docker run  --env LDAP_ORGANISATION="tyun" --env LDAP_DOMAIN="tyun.cn" --env LDAP_ADMIN_PASSWORD="ldap_passwd" --volume /data/slapd/database:/var/lib/ldap --volume /data/slapd/config:/etc/ldap/slapd.d --detach  -it  -p 389:389 -p 636:636 osixia/openldap:1.2.0

      docker 快速安装(根据需要选择对应的版本,或者手工基于dockerfile build最新版本)或者手动安装,但需要加入memberof 属性。


      2.openldap 导入CiscoPerson objectclass 

      2.1 下载 cisco.schema

      wget https://gist.github.com/jaseywang/041f76d03e2f43579d6f6984e3358774

      cisco.schema(上面链接失效的化,使用本处)

       

      将85行改为MUST ( uid $ cn ), 86行 delete掉telephoneNumber(否则会报错)

      也可以直接使用已经修改好的 

       

      https://raw.githubusercontent.com/qingyufei/ubuntutools/master/Cisco_ASA_ldap/zhuxiang/cisco.schema

       

      2.2 基于cisco.schema生成cisco.ldif

       

      新建配置文件以及目录

       

      echo "include cisco.schema" >>cisco.conf

      mkdir ldif_cisco

      slaptest -f cisco.conf -F ldif_cisco

       

      获取到ldif目录结构如下:

       

      tree ldif

      tree

      .

      ├── cn=conflig

      │   ├── cn=schema

      │   │   └── cn={0}cisco.ldif

      │   ├── cn=schema.ldif

      │   ├── olcDatabase={0}config.ldif

      │   └── olcDatabase={-1}frontend.ldif

      └── cn=config.ldif

       

       

      文件cn=config/cn=schema/cn={0}cisco.ldif就是生成的‘ldif’文件,编辑此文件,前三行改为:

       

      dn: cn=cisco,cn=schema,cn=config

      objectClass: olcSchemaConfig

      cn: cisco

      最后注释掉最后七行:

      2.3 将‘’cn={0}cisco.ldif"文件内容导入ldap数据库

       

      进入对应的目录,导入数据库(如果使用docker安装,则通过docker cp 复制配置文件到容器里执行,当然也可以安装openldap-clients,openldap-devel,通过-H 指定ldap主机):

       

      cd  ldif_cisco/cn=config/cn=schema

      sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f cn={0}cisco.ldif


      查看是否导入成功:

       

      ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=schema,cn=config dn


      直接查看生成的文件(/etc/ldap/slapd.d/cn=config/cn=schema/cn={16}cisco.ldif):

       

      3.Cisco ASA

       

      3.1商业购买ASA 硬件+ Anyconnect vpn的liscence (推荐)

      3.2模拟器vMware或在Esxi版本的ASA8.42(或者ASA931等其他版本都可以) +Cisco ASA Keygen(网上教程比较多,仅作为测试学习使用,请勿商业使用。)

      3.3 KVM 版本的 ASA8.42(仅作为测试学习使用)。

       

      解压vmware的ova 文件(iso文件为启动引导文件,qcow2为disk0:或者flash文件,最重要的是iso文件,qcow2可以重新生成):

       

      convert vmware to qcow2

      root@zhuxiang:~/cisco# tar -xvf asa842.ova

      WOLF-ASA842-adv.ovf

      WOLF-ASA842-adv.mf

      WOLF-ASA842-adv-disk1.vmdk

      WOLF-ASA842-adv-file1.iso

       

      root@zhuxiang:~/cisco# ls

      asa842.ova  WOLF-ASA842-adv-disk1.vmdk  WOLF-ASA842-adv-file1.iso  WOLF-ASA842-adv.mf  WOLF-ASA842-adv.ovf

      root@zhuxiang:~/cisco# mkdir -pv ASA_qcow2

      mkdir: created directory 'ASA_qcow2' 

      root@zhuxiang:~/cisco# qemu-img convert -f vmdk -O qcow2 WOLF-ASA842-adv-disk1.vmdk ASA_qcow2/ASA842-adv-disk1.qcow2

      root@zhuxiang:~/cisco# cp WOLF-ASA842-adv-file1.iso ASA_qcow2/ASA842-adv-file1.iso

       

      最重要的是iso文件,每次虚拟机启动都要重iso启动:

       

      root@zhuxiang:~/cisco# ls ASA_qcow2/

      ASA842-adv-disk1.qcow2  ASA842-adv-file1.iso

       

      查看qcow2文件:

       

      root@zhuxiang:~/cisco/ASA_qcow2# virt-list-filesystems -a ASA842-adv-disk1.qcow2

      /dev/sda1

       

      通过guestmount工具查看asa磁盘里的信息。

       

      root@zhuxiang:~/cisco/ASA_qcow2# guestmount -a ASA842-adv-disk1.qcow2 -m /dev/sda1 /mnt

      root@zhuxiang:~/cisco/ASA_qcow2# ls /mnt/

      anyconnect-win-3.0.0629-k9.pkg  boot          csco_config         rdp2-plugin.090211.jar  ssh-plugin.080430.jar

      asdm-645-206.bin                coredumpinfo  csd_3.6.181-k9.pkg  rdp-plugin.101215.jar   vnc-plugin.080130.jar

       

      可以生成kvm系统(网卡必须选择e1000,把iso作为第一启动项),或者导入ISO ZStack,然后直接运行(导入ASA8.42.iso,格式必须是iso,平台是other):

      创建虚拟机,根云盘规格选择10G,计算规格2核4G以上,网络按照需求选择,选择对应的ASA8.42 iso镜像。创建虚拟机成功。(Network Anti-Spoofing 功能注意关闭)

       

      由于zstack2.3.2 不支持serial重定向,查看ASA8.42所在的计算节点,通过在宿主机上直接运行命令virsh console ASA8.42_domain进入console控制台,配置基础管理功能

      (其他版本ASA可能支持直接从页面console口登陆)

       

      修改云主机启动顺序(CdRom,HardDisk):

      asa 

      [root@bjm8-zscns-10-0-3-16 ~]# virsh list --all

      Id    名称                         状态

      ----------------------------------------------------

      6     687ba60019f04a5fa71b3f1501560d3a running

      7     3459d91402c247ca8fabf0e7d922af7b running

      9     09cabc8ca969429c9505fafaf14071eb running

      34    fb4550f382fb496cbb03d77ca5f2456e running

      42    8af69ae1236e4827880f6684987d9438 running

      43    zstack10310                    running

       

      [root@bjm8-zscns-10-0-3-16 ~]# virsh console 8af69ae1236e4827880f6684987d9438

       

      连接到域 8af69ae1236e4827880f6684987d9438

      换码符为 ^]

       

      ASAGW7> 

      ASAGW7> ena

      Password: 

      ASAGW7# show version 

       

      Cisco Adaptive Security Appliance Software Version 8.4(2) 

      Device Manager Version 6.4(5)206

       

      Compiled _disibledevent="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important;">

      网站首页 | 关于我们 | 联系方式 | 招聘信息 | 版权声明 | 网站地图 | 上海热线
      地址:上海浦东新区浦东大道555号裕景国际商务广场A座 投稿QQ:2315802383 投稿邮箱2315802383@qq.com
      Copyright © 2010 www.shrxnews.com Inc. All Rights Reserved. 上海热线 版权所有