# openVPN+LDAP AD认证,组权限管理
# openVPN+LDAP AD认证,组权限管理
原创内容http://www.cnblogs.com/elvi/p/7661178.html
# openVPN+LDAP AD认证,组权限管理 #环境 centos6 #关闭selinux、防火墙 #vim /etc/sysconfig/network #修改hostname #vim /etc/hosts #添加hostname名称 #更换阿里源 yum -y install wget vim mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo #安装epel包 #yum install epel-release #EPEL源 yum -y install http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm yum makecache #生成缓存 ntpdate ntp.shu.edu.cn ##同步时间 # 安装openssl和lzo,lzo用于压缩通讯数据加快传输速度 #yum -y install openssl openssl-devel #yum -y install lzo #yum -y install openvpn easy-rsa # 安装openvpn和easy-rsa yum -y install openssl openssl-devel lzo openvpn easy-rsa # 修改vars文件 cd /usr/share/easy-rsa/2.0/ cp vars vars.bak vim vars # 修改注册信息,比如公司地址、公司名称、部门名称等。 export KEY_COUNTRY="CN" export KEY_PROVINCE="ShangHai" export KEY_CITY="ShangHai" export KEY_ORG="elven" export KEY_EMAIL="me@elven.me" export KEY_OU="elven" # 初始化环境变量 source vars # 清除keys目录下所有与证书相关的文件 ./clean-all # 生成根证书ca.crt和根密钥ca.key(一路按回车即可,存放目录/usr/share/easy-rsa/2.0/keys) ./build-ca # 服务端证书和密钥(一路按回车,提示y/n时,输入y再按回车,一共两次) ./build-key-server server # 为客户端生成证书和密钥(一路按回车,提示y/n时,输入y再按回车,一共两次) ./build-key client # 创建迪菲·赫尔曼密钥,会生成dh2048.pem文件(生成过程慢,不要去中断它) ./build-dh # 生成ta.key文件(防DDos攻击、UDP淹没等恶意攻击) openvpn --genkey --secret keys/ta.key ###创建服务器端配置文件 # 在openvpn的配置目录下新建一个keys目录 mkdir /etc/openvpn/keys # 将需要用到的openvpn证书和密钥复制一份到刚创建好的keys目录中 cp /usr/share/easy-rsa/2.0/keys/{ca.crt,server.{crt,key},dh2048.pem,ta.key} /etc/openvpn/keys # 复制一份服务器端配置文件模板server.conf到/etc/openvpn/ cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/ # 查看server.conf里的配置参数 grep '^[^#;]' /etc/openvpn/server.conf # 编辑server.conf cp /etc/openvpn/server.conf /etc/openvpn/server.conf.bak vim /etc/openvpn/server.conf #-------- port proto tcp dev tun ca keys/ca.crt cert keys/server.crt key keys/server.key # This file should be kept secret dh keys/dh2048.pem server 192.168.98.0 255.255.255.0 #虚拟网段 ifconfig-pool-persist ipp.txt push "route 192.168.98.0 255.255.255.0" push "route 192.168.0.0 255.255.255.0" push "route 172.16.11.0 255.255.255.0" push "dhcp-option DNS 172.16.11.12" push "dhcp-option DNS 172.16.11.14" ;push "redirect-gateway def1 bypass-dhcp" #使客户端所有网络通信通过vpn client-to-client duplicate-cn keepalive tls-auth keys/ta.key # This file is secret comp-lzo persist-key persist-tun status openvpn-status.log log-append openvpn.log verb #-------- ###配置内核和防火墙,启动服务 # 开启路由转发功能 sysctl - sed -i '/net.ipv4.ip_forward/s/0/1/' /etc/sysctl.conf sysctl -p # 配置防火墙,别忘记保存 iptables -I INPUT -p tcp --dport -m comment --comment "openvpn" -j ACCEPT iptables -t nat -A POSTROUTING -s -j MASQUERADE service iptables save # 启动openvpn并设置为开机启动 service openvpn start chkconfig openvpn on netstat -anpt |grep vpn #查看网络端口 #service iptables restart #service openvpn restart #客户端配置文件 #cp /usr/share/doc/openvpn-*/sample/sample-config-files/client.conf client.ovpn vim /etc/openvpn/client.ovpn # client.ovpn client dev tun proto tcp #remote remote resolv-retry infinite nobind persist-key persist-tun ca ca.crt #cert client.crt #key client.key remote-cert-tls server tls-auth ta.key comp-lzo verb auth-user-pass #密码认证 ######################## # 开启客户端 openvpn /etc/openvpn/client.ovpn & pkill openvpn #关闭进程 #client keys mkdir /etc/openvpn/kk # 客户端需要的证书复制到刚创建好的目录 cp /usr/share/easy-rsa/2.0/keys/{ca.crt,client.{crt,key},ta.key} /etc/openvpn/kk #Windows客户端 #将OpenVPN服务器上的client.ovpn、ca.crt、client.crt、client1.key、ta.key上传到Windows客户端安装目录下的config文件夹 #############Ldap openvpn-auth-ldap认证(推荐) cd /etc/openvpn yum install openvpn-auth-ldap -y vi /etc/openvpn/auth/ldap.conf #--- ### OpenVPN LDAP 认证 <LDAP> URL ldap://172.16.11.14:389 #认证用户密码 BindDN "CN=ldap,OU=Dev,OU=Tech,OU=XLH_users,DC=test,DC=cn" password " #设置网络超时时间 Timeout TLSEnable no FollowReferrals no </LDAP> <Authorization> BaseDN "DC=test,DC=cn" SearchFilter "(&(sAMAccountName=%u)(memberof=CN=vpn,OU=role,OU=XLH_users,DC=test,DC=cn))" #SearchFilter "(sAMAccountName=%u)" RequireGroup false #使用AD组权限 <Group> BaseDN "OU=role,OU=XLH_users,DC=test,DC=cn" SearchFilter "(|(cn=vpn))" #MemberAttribute "member" MemberAttribute uniqueMember </Group> </Authorization> #--- vim /etc/openvpn/server.conf # openvpn-auth-ldap plugin /usr/lib64/openvpn/plugin/lib/openvpn-auth-ldap.so "/etc/openvpn/auth/ldap.conf cn=%u" client-cert-not-required username-as-common-name service openvpn restart ############################################## #@ checkpsw.sh 密码文件认证 vim /etc/openvpn/checkpsw.sh ## chmod +x /etc/openvpn/checkpsw.sh vim /etc/openvpn/psw-file aa1 qq1 vim /etc/openvpn/psw-file vim /etc/openvpn/server.conf # ---- checkpsw.sh script-security system auth-user-pass-verify /etc/openvpn/checkpsw.sh via-env client-cert-not-required username-as-common-name service openvpn restart ############################################## #合并证书到配置文件中,仅供参考 vim client.ovpn #ca ca.crt 注释证书文件 #在最后面添加以下内容: </key> key-direction <tls-auth> ta.key文件内容 </tls-auth> ################ Python脚本 Ldap 认证 cd /etc/openvpn echo elven >>/etc/openvpn/authfile.conf #openvpn Ldap授权用户文件 echo test2 >/etc/openvpn/user.conf #Ldap认证用户 echo w1w1 >>/etc/openvpn/user.conf #yum install python-ldap vim /etc/openvpn/check_credit.py #openvpn-Ldap.py chmod +x /etc/openvpn/check_credit.py python check_credit.py user.conf vim /etc/openvpn/server.conf # openvpn-Ldap.py auth-user-pass-verify /etc/openvpn/check_credit.py via-file client-cert-not-required username-as-common-name script-security ##############################################
# openVPN+LDAP AD认证,组权限管理的更多相关文章
- Spark SQL Thrift Server 配置 Kerberos身份认证和权限管理
转载请注明出处:http://www.cnblogs.com/xiaodf/ 之前的博客介绍了通过Kerberos + Sentry的方式实现了hive server2的身份认证和权限管理功能,本文主 ...
- springboot(十四):springboot整合shiro-登录认证和权限管理
这篇文章我们来学习如何使用Spring Boot集成Apache Shiro.安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求.在Java领域一般有Spring Security ...
- Springboot-shiro-redis实现登录认证和权限管理
Springboot-shiro-redis实现登录认证和权限管理 在学习之前: 首先进行一下Apache Shiro和Shiro比较: Apache Shiro是一个功能强大.灵活的,开源的安全框架 ...
- Spring boot 入门(四):集成 Shiro 实现登陆认证和权限管理
本文是接着上篇博客写的:Spring boot 入门(三):SpringBoot 集成结合 AdminLTE(Freemarker),利用 generate 自动生成代码,利用 DataTable 和 ...
- spring-boot(八) springboot整合shiro-登录认证和权限管理
学习文章:springboot(十四):springboot整合shiro-登录认证和权限管理 Apache Shiro What is Apache Shiro? Apache Shiro是一个功能 ...
- (转)Spring Boot (十四): Spring Boot 整合 Shiro-登录认证和权限管理
http://www.ityouknow.com/springboot/2017/06/26/spring-boot-shiro.html 这篇文章我们来学习如何使用 Spring Boot 集成 A ...
- Spring Boot(十四):spring boot整合shiro-登录认证和权限管理
Spring Boot(十四):spring boot整合shiro-登录认证和权限管理 使用Spring Boot集成Apache Shiro.安全应该是互联网公司的一道生命线,几乎任何的公司都会涉 ...
- spring boot(十四)shiro登录认证与权限管理
这篇文章我们来学习如何使用Spring Boot集成Apache Shiro.安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求.在Java领域一般有Spring Security ...
- Spring Cloud之路:(七)SpringBoot+Shiro实现登录认证和权限管理
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sage_wang/article/details/79592269一.Shiro介绍1.Shiro是 ...
随机推荐
- 【ASP.NET MVC 学习笔记】- 02 Attribute
本文参考:http://www.cnblogs.com/willick/p/3208427.html 1.特性(Attribute)对程序中的元素进行标注,比如类.字段.方法.属性等. 2.在.NET ...
- swift 上的 lazy
lazy顾名思义就是慢吞吞的,万非得一就不动. 那么一个变量也是如此,只有你第一次使用的时候才进去加载.所有又称为延迟加载,需要的时候才加载. ========= 这样做的好处: 1. 模块化,把对象 ...
- virualbox 安装 otter 必备软件
前言 最近研究了一下阿里otter项目(分布式数据库同步),所以就在virualbox 上开始准备学习一下,遇到了不少坑,所以记录一下啊. otter 项目:https://github.com/al ...
- spring mvc常用注解的说明
最近一段时间学习了springboot,所以熟悉一下mvc中常用的注解,这样可以方便开发 简介: @RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类 ...
- python如何将指定路径下的某类型文件,返回一个树形结构体,让前端显示为树形的目录结构
最近遇到一个问题就是某个linux的目录下有各种文件现在的要求是只需要返回.kml格式的文件,并根据前端要求返回如下结构体即:[{'children': [{'children': [{'title' ...
- XML学习笔记之XML的简介
最近,自学了一段时间xml,希望通过学习笔记的整理能够巩固一下知识点,也希望把知识分享给你们(描红字段为重点): XML(extensible Markup language):可扩展的标记语言,解决 ...
- C++中模板template <typename T>
最近在看C++的源码,遇到了不少问题,一点一点进行补充. 首先就是遇到template <typename Dtype>. 网上解释的非常多,觉得比较啰嗦,其实就是一个类型模板. 比如我们 ...
- cookie 子域名可以读父域名中的cookie
cookie 子域名可以读父域名中的cookie 如在 .ping.com域下注入cookie,则该子域下的网页如p1.ping.com.p2.ping.com 都能读取到cookie信息 path的 ...
- DOM Exception error 类型
INDEX_SIZE_ERR code 1 索引是负值,或者超过了索引值 DOMSTRING_SIZE_ERR code 2 ...
- 利用C#实现分布式数据库查询
随着传统的数据库.计算机网络和数字通信技术的飞速发展,以数据分布存储和分布处理为主要特征的分布式数据库系统的研究和开发越来越受到人们的关注.但由于其开发较为复杂,在一定程度上制约了它的发展.基于此,本 ...