网络安全 频道

在Linux下建立VPN服务器来做加密代理

3:客户端配置

安装openvpn-2.0.9-gui-1.0.3-install.exe,然后打开“开始”--“程序”--“openvpn”--“Generate a static OpenVPN key”,这会在C:\Program Files\OpenVPN\config下生成一个叫key.txt的文件,把他重命名为static.key。

然后把这个文件复制到linux肉鸡的/etc/openvpn/static.key去,最后在C:\Program Files\OpenVPN\config目录下创建一个叫client.ovpn的文件,内容如下

remote 肉鸡的IP 

dev tun 

ifconfig 10.8.0.2 10.8.0.1 

secret static.key 

port 3389 

verb 3 

comp-lzo 

keepalive 10 60 

ping-timer-rem 

persist-tun 

persist-key

client配置完毕。

注意,无论是服务端还是客户端的IP,都不要和系统有的IP段冲突,另外改了端口需要在client and server都改一致。

4:启动并连接

A:启动服务端

[root@RH9 root]# /etc/init.d/openvpn start 

Starting openvpn:                                          [  OK  ]

这个时候理论上会发现多了一个接口,等会我们要收拾这个口子。

[root@RH9 root]# ifconfig tun0 

tun0      Link encap:Point-to-Point Protocol   

inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255 

UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1 

RX packets:0 errors:0 dropped:0 overruns:0 frame:0 

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 

collisions:0 txqueuelen:100 

RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b) 

[root@RH9 root]# netstat -an | grep 3389 

udp        0      0 0.0.0.0:3389            0.0.0.0:*

这个时候理论上会起了一个3389的udp口,如果这两个事情都有了,那就好了,一般除了RP有WT之外,这里基本都不怎么可能出现错误。

如果有错误的话,就把上面的

verb 0 

status /dev/null 

log         /dev/null 

log-append  /dev/null

改成

verb 9 

status /usr/lib/0 

log         /usr/lib/1 

log-append  /usr/lib/1

然后重新启动openvpn服务并查看日志,注意,这个时候messages会有日志,调试完毕记得删除/usr/lib/0 /usr/lib/1。

B:启动客户端

“开始”--“程序”--“openvpn”--“OpenVPN GUI”,连接服务端,点右下角红色的图标--connect。图标变绿,就是成功连接并分配到地址了,注意让你的防火墙通过。如果没变绿色,从那个图标那view log,如果发现不到问题,就把client的配置文件的verb设置为9,重新连接,再看日志,再google。

C:检查连接:

在client里看到有这么个信息

Ethernet adapter 本地连接   4:

Connection-specific DNS Suffix  . : 

IP Address. . . . . . . . . . . . : 10.8.0.2

Subnet Mask . . . . . . . . . . . : 255.255.255.252 

Default Gateway . . . . . . . . . : 

C:\>ping 10.8.0.1 

Pinging 10.8.0.1 with 32 bytes of data: 

Reply from 10.8.0.1: bytes=32 time=7ms TTL=64

连接没有问题,这个时候就根据个人的喜好,是改默认网关还是只根据目的地址route add一下了,如果肉鸡速度快的话改默认网关吧。

C:\>route delete 0.0.0.0 

C:\>route add 0.0.0.0 mask 0.0.0.0 10.8.0.1 -->注意,是vpn server的tun0的地址。

如果DNS服务器不在内网的话,自己再route add一次DNS的地址就OK,如果想长期生效,可在route add语句最后加-p参数。

D:服务端打开转发

做个nat,但注意一下eth0需要是可以去外网的接口,否则等会数据走不出去,如果肉鸡是单接口的话就不需要担心。

[root@RH9 root]# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

再看看转发开了没

[root@RH9 root]# sysctl -a | grep net.ipv4.ip_forward 

net.ipv4.ip_forward = 0

我们把他打开

[root@RH9 root]# sysctl -w net.ipv4.ip_forward=1

5:找错

VPN一般出问题就只有三个地方,client的防火墙,server的防火墙,和转发开关是否打开,所以我们在服务端抓抓包就完全可以找到出问题的地方。ipsec pptp都可以这么找错。

A:在server的tun0口抓一切包,以检测client-->server是否连通,当然,一定是连通的,否则那图标就不会是绿色了。

[root@RH9 root]# tcpdump -n -i tun0 

tcpdump: listening on tun0

B:在server的eth0口抓目标地址包,以检测转发是否有问题。

[root@RH9 root]# tcpdump -n -i eth0 dst host baoz.net 

tcpdump: listening on eth0

C:

这个时候我们telnet一下baoz.net看看

C:\>telnet baoz.net

两边都看到有包就对了。如果有一边看不到包,就自己折腾一下好了。看看一路过来是不是都没搞错。

五、肉鸡中的隐藏

1:肉鸡哪来?

A:web app漏洞,awstat什么的,没事就留意一下milw0rm.com的webapp部分,出新漏洞了就google hacking一把。

B:ssh or telnet弱口令,没事就找几个A BLOCK扫扫看。推荐xfocus冰河的X-Scan。

C:0day exp ? 这个我就不清楚了。

D:蜜罐,上面三种情况都可能是蜜罐,不过没关系,就做个代理上上网嘛,蜜罐就蜜罐了,只要网速快就行。

2:日志

日志的处理上面在服务端配置部分已经提到了的,小心处理就是。

3:进程、端口和连接

A:sk2一装,用sk2的client进去启动openvpn,动态隐藏进程端口和网络连接。

B:adore,大概要改改才行,不过我暂时没这个需求,sk2已经很不错了。

C:shv5,最近抓到的一个rootkit,替换ELF文件的,很容易被查出来,没啥意思,他的特征是默认有个/usr/lib/libsh目录。

0
相关文章