如何实现Linux防火墙让远程办公有安全(下)

ZDNet软件频道 时间:2009-11-05 作者: | 论坛整理 我要评论()
本文关键词:安全技术 系统安全 Linux
 目前,通过VPN来实现远程办公是比较常见的方法。该方法的不足之处主要有两点:第一,若要保证VPN用户随时访问内网,内网的计算机必须长时间保持开机状态,造成大量资源的浪费;第二,用户连入VPN之后,只能把远程计算机当成网络邻居中的一员来互传资料。
 5.在内网Windows上安装远程控制软件

  常用的远程控制软件有pcAnywhere、Radmin等,用户可以根据自己的喜好安装其中一个,本人使用的是Radmin。用来远程办公的计算机和受控制的计算机都必须安装这个软件,不同的是被控端除了安装这个软件以外,还需要启动服务端程序。

  6.远程唤醒内网机器

  远程启动的前提是Windows机器支持网卡唤醒,并且BIOS的设置要符合网卡唤醒标准。在任何能上网的地方用SSH方式登录到Linux机器,执行远程唤醒命令:

#wakelan 00:0a:e6:a9:64:a2

  如果电脑启动了,则证明前面的配置成功。要远程登录,用户还必须记住一堆难记的MAC地址,这是很麻烦的,而且不安全。我们可以通过Web服务来改进这个功能。

  安全、便捷的Web启动方式

  如果Linux中已经安装了Apache和PHP,就可以通过配置Apache和编写PHP脚本来实现更安全地远程启动。

  1.编写PHP脚本

  在Apache的DocumentRoot下面建立一个wakeup目录,在这个目录下建立index.php文件,内容如下:

<?
passthru("/usr/local/bin/wakelan 00:0a:e6:a9:64:a2");
echo "计算机platinum正在启动 . . .";
?>

  现在,只要在浏览器中输入一个网址(事先在Apache中设置好的),比如,http://platinum.3322.org/wakup,就可以实现远程启动了。这样虽然很方便,但是任何人都可以访问,还是不安全,需要添加Apache认证来解决这个问题。

  2.添加Apache认证

  修改Apache的配置文档/usr/local/apache2/conf/httpd.conf,添加如下代码:

<Directory /usr/local/apache2/htdocs/wakeup>
   AllowOverride AuthConfig
</Directory>

  在wakeup目录中建立.htaccess文件,并编辑:

#vi /usr/local/apache2/htdocs/wakeup/.htaccess
AuthName "电脑platinum启动器"
AuthType Basic
AuthUserFile /usr/local/apache2/apache.users
require user platinum

  3.创建密码文件

  接下来,就是创建一个专门用来存放密码的文件apache.users:

root@server# htpasswd -c /usr/local/apache2/apache.users platinum
New password:
Re-type new password:
Adding password for user platinum

  apache.users文件内的密码被加密,修改密码时,还是使用htpasswd命令,不带“-c”参数即可。

  要使配置生效,必须重启Apache服务。这样,再用http://platinum.3322.org/wakeup访问,就会需要密码认证了(见图1)。不知道密码的人是无法进入系统开启指定计算机的。

  图1 启动远程计算机的认证画面

  开始远程控制

  通过以上方法远程启动计算机后,启动事先装好的远程控制软件,输入Linux服务器的地址,就可以操作远程的电脑platinum了,如图2所示。操作完成后,如果不再需要计算机继续工作,可以通过远程控制软件关闭远程的计算机,避免了资源浪费。

  图2 用Radmin远程控制电脑platinum


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134