目录:
安装Open××× (http://fengwan.blog.51cto.com/508652/1404435)
配置Open×××使用MySQL验证(http://fengwan.blog.51cto.com/508652/1786556)
针对不同用户配置不同权限
背景:
公司使用Open×××作为远程接入工具,但是缺乏统一用户管理,缺乏审计功能,同时×××登录后默认可以访问所有服务器的所有功能及端口,所以在×××的使用人数上进行限制,但终归治标不治本。
现提出:
测试人员:只能访问线上所有的Web服务器(80)及测试库192.168.2.6的MySQL(3306)
开发人员:能访问线上所有的Web服务器(80),以及测试库192.168.2.6的MySQL(3306)和SVN192.168.2.10(443端口)
DBA:只能访问线上正式库192.168.2.10(3306),测试库192.168.2.6(3306)
运维人员:可访问线上所有的服务
基于以上权限控制,一套解决方案。
针对不同用户配置不同权限,采用不同IP段来处理,然后iptables中配置不同的IP段访问权限
根据子网计算器的计算:
测试人员:172.16.8.0/24
开发人员:172.16.9.0/24
DBA:172.16.10.0/24
运维人员:172.16.11.0/204
这里我们要有4个“段”,但是在服务器要配置一个大的子网包含这4个段,从上面计算出172.16.8.0/255.255.252.0正好就适用于。
为什么要使用子网计算器呢?原因是因为Open×××的Server地址需要能够访问所有的客户端。
以下为Open×××的配置文件
port 1499 proto udp dev tun ca /usr/local/open***/conf/keys/ca.crt cert /usr/local/open***/conf/keys/server.crt key /usr/local/open***/conf/keys/server.key # This file should be kept secret dh /usr/local/open***/conf/keys/dh2048.pem server 172.16.8.0 255.255.252.0 #重要#这里就是上面我们通过子网计算器获取 ifconfig-pool-persist /usr/local/open***/logs/ipp.txt push "route 192.168.2.0 255.255.255.0" client-config-dir /usr/local/open***/conf/ccd #这里定义客户端的IP push "dhcp-option DNS 114.114.114.114" push "dhcp-option DNS 8.8.4.4" client-to-client keepalive 10 120 comp-lzo max-clients 100 persist-key persist-tun status /usr/local/open***/logs/open***-status.log log-append /usr/local/open***logs/open***.log verb 3 script-security 3 username-as-common-name #plugin /usr/local/open***/lib/open***/plugins/open***-auth-pam.so open*** auth-user-pass-verify /usr/local/open***/conf/scripts/checkpsw.sh via-env client-cert-not-required
这个时候更改服务器的防火墙配置
Open×××服务器的IP为:192.168.2.254,iptables的配置文件为
# Generated by iptables-save v1.4.7 on Tue May 31 11:37:40 2016 *nat :PREROUTING ACCEPT [2072:108583] :POSTROUTING ACCEPT [64:49550] :OUTPUT ACCEPT [64:49550] #route for public -A POSTROUTING -p icmp -s 172.16.8.0/22 -o eth0 -j SNAT --to-source 192.168.2.254 #route for test -A POSTROUTING -p tcp -s 172.16.8.0/24 -d 192.168.2.0/24 --dport 80 -o eth0 -j SNAT --to-source 192.168.2.254 -A POSTROUTING -p tcp -s 172.16.8.0/24 -d 192.168.2.6/32 --dport 3306 -o eth0 -j SNAT --to-source 192.168.2.254 #route for dev -A POSTROUTING -p tcp -s 172.16.9.0/24 -d 192.168.2.0/24 --dport 80 -o eth0 -j SNAT --to-source 192.168.2.254 -A POSTROUTING -p tcp -s 172.16.9.0/24 -d 192.168.2.6/32 --dport 3306 -o eth0 -j SNAT --to-source 192.168.2.254 -A POSTROUTING -p tcp -s 172.16.9.0/24 -d 192.168.2.10/32 --dport 443 -o eth0 -j SNAT --to-source 192.168.2.254 #route for DBA -A POSTROUTING -p tcp -s 172.16.10.0/24 -d 192.168.2.0/24 --dport 3306 -o eth0 -j SNAT --to-source 192.168.2.254 #route for sa -A POSTROUTING -s 172.16.11.0/24 -d 192.168.2.0/24 -o eth0 -j SNAT --to-source 192.168.2.254 COMMIT # Completed on Tue May 31 11:37:40 2016 # Generated by iptables-save v1.4.7 on Tue May 31 11:37:40 2016 *filter :INPUT DROP [4:296] :FORWARD ACCEPT [1431:2278882] :OUTPUT ACCEPT [1990:1424162] -A INPUT -i lo -j ACCEPT -A INPUT -p udp -m udp --dport 1499 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -o lo -j ACCEPT COMMIT
因为 open***只支持255.255.255.252 的子网,252 子网只有 三个IP,一个给客户端,一个给服务器,一个给广播地址
所以/usr/local/open***/conf/ccd目录下面的文件内容只能是:
子网 , 有效的主机 , 广播地址 172.16.8.0 , 172.16.8.1 到 172.16.8.2 , 172.16.8.3 172.16.8.4 , 172.16.8.5 到 172.16.8.6 , 172.16.8.7 172.16.8.8 , 172.16.8.9 到 172.16.8.10 , 172.16.8.11 172.16.8.12 , 172.16.8.13 到 172.16.8.14 , 172.16.8.15 172.16.8.16 , 172.16.8.17 到 172.16.8.18 , 172.16.8.19 172.16.8.20 , 172.16.8.21 到 172.16.8.22 , 172.16.8.23 172.16.8.24 , 172.16.8.25 到 172.16.8.26 , 172.16.8.27 172.16.8.28 , 172.16.8.29 到 172.16.8.30 , 172.16.8.31 172.16.8.32 , 172.16.8.33 到 172.16.8.34 , 172.16.8.35 172.16.8.36 , 172.16.8.37 到 172.16.8.38 , 172.16.8.39 172.16.8.40 , 172.16.8.41 到 172.16.8.42 , 172.16.8.43 172.16.8.44 , 172.16.8.45 到 172.16.8.46 , 172.16.8.47 172.16.8.48 , 172.16.8.49 到 172.16.8.50 , 172.16.8.51 172.16.8.52 , 172.16.8.53 到 172.16.8.54 , 172.16.8.55 172.16.8.56 , 172.16.8.57 到 172.16.8.58 , 172.16.8.59 172.16.8.60 , 172.16.8.61 到 172.16.8.62 , 172.16.8.63 172.16.8.64 , 172.16.8.65 到 172.16.8.66 , 172.16.8.67 172.16.8.68 , 172.16.8.69 到 172.16.8.70 , 172.16.8.71 172.16.8.72 , 172.16.8.73 到 172.16.8.74 , 172.16.8.75 172.16.8.76 , 172.16.8.77 到 172.16.8.78 , 172.16.8.79 172.16.8.80 , 172.16.8.81 到 172.16.8.82 , 172.16.8.83 172.16.8.84 , 172.16.8.85 到 172.16.8.86 , 172.16.8.87 172.16.8.88 , 172.16.8.89 到 172.16.8.90 , 172.16.8.91 172.16.8.92 , 172.16.8.93 到 172.16.8.94 , 172.16.8.95 172.16.8.96 , 172.16.8.97 到 172.16.8.98 , 172.16.8.99 172.16.8.100 , 172.16.8.101 到 172.16.8.102 , 172.16.8.103 172.16.8.104 , 172.16.8.105 到 172.16.8.106 , 172.16.8.107 172.16.8.108 , 172.16.8.109 到 172.16.8.110 , 172.16.8.111 172.16.8.112 , 172.16.8.113 到 172.16.8.114 , 172.16.8.115 172.16.8.116 , 172.16.8.117 到 172.16.8.118 , 172.16.8.119 172.16.8.120 , 172.16.8.121 到 172.16.8.122 , 172.16.8.123 172.16.8.124 , 172.16.8.125 到 172.16.8.126 , 172.16.8.127 172.16.8.128 , 172.16.8.129 到 172.16.8.130 , 172.16.8.131 172.16.8.132 , 172.16.8.133 到 172.16.8.134 , 172.16.8.135 172.16.8.136 , 172.16.8.137 到 172.16.8.138 , 172.16.8.139 172.16.8.140 , 172.16.8.141 到 172.16.8.142 , 172.16.8.143 172.16.8.144 , 172.16.8.145 到 172.16.8.146 , 172.16.8.147 172.16.8.148 , 172.16.8.149 到 172.16.8.150 , 172.16.8.151 172.16.8.152 , 172.16.8.153 到 172.16.8.154 , 172.16.8.155 172.16.8.156 , 172.16.8.157 到 172.16.8.158 , 172.16.8.159 172.16.8.160 , 172.16.8.161 到 172.16.8.162 , 172.16.8.163 172.16.8.164 , 172.16.8.165 到 172.16.8.166 , 172.16.8.167 172.16.8.168 , 172.16.8.169 到 172.16.8.170 , 172.16.8.171 172.16.8.172 , 172.16.8.173 到 172.16.8.174 , 172.16.8.175 172.16.8.176 , 172.16.8.177 到 172.16.8.178 , 172.16.8.179 172.16.8.180 , 172.16.8.181 到 172.16.8.182 , 172.16.8.183 172.16.8.184 , 172.16.8.185 到 172.16.8.186 , 172.16.8.187 172.16.8.188 , 172.16.8.189 到 172.16.8.190 , 172.16.8.191 172.16.8.192 , 172.16.8.193 到 172.16.8.194 , 172.16.8.195 172.16.8.196 , 172.16.8.197 到 172.16.8.198 , 172.16.8.199 172.16.8.200 , 172.16.8.201 到 172.16.8.202 , 172.16.8.203 172.16.8.204 , 172.16.8.205 到 172.16.8.206 , 172.16.8.207 172.16.8.208 , 172.16.8.209 到 172.16.8.210 , 172.16.8.211 172.16.8.212 , 172.16.8.213 到 172.16.8.214 , 172.16.8.215 172.16.8.216 , 172.16.8.217 到 172.16.8.218 , 172.16.8.219 172.16.8.220 , 172.16.8.221 到 172.16.8.222 , 172.16.8.223 172.16.8.224 , 172.16.8.225 到 172.16.8.226 , 172.16.8.227 172.16.8.228 , 172.16.8.229 到 172.16.8.230 , 172.16.8.231 172.16.8.232 , 172.16.8.233 到 172.16.8.234 , 172.16.8.235 172.16.8.236 , 172.16.8.237 到 172.16.8.238 , 172.16.8.239 172.16.8.240 , 172.16.8.241 到 172.16.8.242 , 172.16.8.243 172.16.8.244 , 172.16.8.245 到 172.16.8.246 , 172.16.8.247 172.16.8.248 , 172.16.8.249 到 172.16.8.250 , 172.16.8.251 172.16.8.252 , 172.16.8.253 到 172.16.8.254 , 172.16.8.255 |
测试组用户test1,则文件名为test1的内容为
ifconfig-push 172.16.8.1 172.16.8.2
测试组用户test2,则文件名为test2的内容为
ifconfig-push 172.16.8.5 172.16.8.6
开发组用户dev1,则文件名dev1的内容为
ifconfig-push 172.16.9.1 172.16.9.2
以此类推。