vpn技术支持
式
* pppd 程式
* sudo 程式
* pty-redir 程式
目前使用的版本:
* 核心: 2.0.29 。请使用稳定的核心,而且,必须比 2.0.20 还新,因为
ping'o'death 的错误。在撰写本文时,最後一个稳定的核心是版本 2.0.30
,但是它有一些错误。如果 ,你想要使用最新版核心所提供,既快又酷的网
路程式码,你自己可以www.592
* 基本的作业系统:我比较喜欢 Debian 所发行的版本。你绝对使用不到任何
大型的 软体套件,当然,也包含 sendmail 在内。你也绝对不能像其它的
UNIX 主机一样,允许 telnet、ftp、和 'r' 命令,等功能的使用。
* ipfwadm 程式: 我使用的是 2.3.0。
* fwtk 程式: 我使用的是 1.3。
* ssh 程式: >= 1.2.20。较旧的版本,下层的协定会有问题。
* pppd 程式: 我测试的是 2.2.0f,但是我无法确定它是否安全,这就是为什
麽我会 将它的 setuid 位元拿掉,并透过 sudo 来执行它的原因。
* sudo 程式: 我所知道的最新版本是 1.5.2。
* pty-redir 程式: 这是我写。请至
取得。现在的
版本是 0.1 。如果使用上有任何问题,请来信告知。
4.3 编译与安装
你现在的工作不是编译就是安装所搜集到的工具。 并参阅其(以及
firewall-howto) 详细的说明文件。现在,我们已经安装好这些工具了。
4.4 其它子系统的设定
设定防火墙以及其它的项目。你必须在两台防火墙主机之间,允许 ssh 资料的流
通。这 是指,主防火墙会有网路连线到次防火墙的埠 22。在次防火墙上启动
sshd,来验证是否 允许你“登入(login)”。这个步骤尚未测试过,请告诉我你
的测试结果。
4.5 设定 VPN 的使用者帐户
以你日常使用的工具(例如,vi、mkdir、chown、chmod)在次防火墙上建立一个
使用者帐 户,你也可以在主防火墙上建立一个使用者帐户,但是,我认为在开机
阶段设定连线就可以 了,所以,使用原始的 root 帐户就已足够。有任何人可以
为我们说明一下,在主防火墙上 使用 root 帐户,会有什麽危险性?
4.6 为 master 帐户,产生一个 ssh key
你可以使用 ssh-keygen 程式。如果,你要www.ieyou.net自动设置 VPN,你可以设定一个没有
密码的 “私人钥匙(private key)”。
4.7 为 slave 帐户,设置自动的 ssh 登入环境。
在次防火墙中,复制你刚才产生的“公共钥匙(public key)”到,使用者帐户
slave 中 的 .ssh/authorized_keys 档案里,并且,设定档案的使用权限,如下
:
drwx------ 2 slave slave 1024 Apr 7 23:49 ./
drwx------ 4 slave slave 1024 Apr 24 14:05 ../
-rwx------ 1 slave slave 328 Apr 7 03:04 authorized_keys
-rw------- 1 slave slave 660 Apr 14 15:23 known_hosts
-rw------- 1 slave slave 512 Apr 21 10:03 random_seed
其中,第一行是 ~slave/.ssh,第二行是 ~slave。
4.8 加强 ssh 在 bastion 主机上的安全性。
请按照我在 sshd_conf 上的设定:
PermitRootLogin no
IgnoreRhosts yes
StrictModes yes
QuietMode no
FascistLogging yes
KeepAlive yes
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no
密码认证(PasswordAuthentication)被关闭了,所以,你只有使用授权过的 key
,才能够 完成登入的动作。(当然,你也已经关闭了,telnet 与 'r' 命令)。
4.9 允许 ppp 的执行,和这两个帐户的路由。
当你的 master 帐户是 root 时(以我的例子而言),你不必做任何事情。至於
slave 帐户,则会在你的 /etc/sudoers 的档案中出现一行:
Cmnd_Alias VPN=/usr/sbin/pppd,/usr/local/vpn/route
slave ALL=NOPASSWD: VPN
正如你所看到的,我在次防火墙主机上,使用了一些命令稿(
ppp 和路由表。
4.10 撰写命令稿程式
在主防火墙主机上,我使用了一个成熟的启始命令稿:
#! /bin/sh
# 程式架构 这个档案是个建立在 /etc/init.d/ 目录下的命令稿实例。
# 你应该在 /etc/init.d 目录下使用这个命令稿。
#
# 作者 M