资深网络安全管理:局域网架设SSH服务器
由于很多局域网的规模较大,服务器会分散在不同的地理位置。因此,对于服务器的管理是一件很困难的事情。大多数网络管理员都会采用远程维护的手段,使用大家比较熟悉的Windows终端服务器、PCAnyWhere等工具,同时也有管理员采用Telnet服务进行服务器的远程维护。;J+um!HE.XC但这些管理、维护的手段和方法真的完美无瑕、万无一失吗?
一、为何采用SSH
Windows终端服务器、PCAnyWhere这些基于GUI(图形用户接口)的远程管理系统不但会占用大量的服务器资源,而且无法在GUI上完成一些复杂的维护操作,还要在“命令行模式”进行解决。因此,很多网络管理员使用Telnet服务进行服务器的远程维护。$i*C?qF/\ z
Rl,f^H
但是Telnet服务有一个致命的弱点,它是以明文的方式传输用户名和口令,所以很容易被别有用心的人窃取口令。另外,使用Windows 98客户机远程维护服务器时,无法通过Telnet服务器默认的“NTLM身份验证”,由此可见,Telnet服务也是弊端多多。难道就没有好的远程维护方法吗?当然有,目前有一种可代替Telnet服务的有效工具——SSH服务。Nq-Ie!S A0_te Ub
SSH(Secure Shell)服务分为两部分:服务器端和客户端。SSH客户端与服务器端通讯时,用户名和密码均进行了加密,这就有效地防止了他人对密码的盗取。而且通信中所传送的数据包都是“非明码”方式的。正因为SSH采用加密传输方式,即使数据被窃取,但对该数据解密也不是一件很容易的事,所以使用SSH服务远程维护服务器是非常安全的。%] o^s(l v0p:|^
二、安装启动SSH服务器5s*@(c7e lz
2n!P5Jh'f2@{ G
下面以Windows 2000Server为例介绍SSH服务器的安装,可在SSH服务器端使用“F-Secure SSH Server”软件,它的安装非常简单,和一般软件安装没什么区别。安装完成后,需要启动“SSH Server”服务,这一过程比较复杂,这里介绍三种启动“SSH Server”的方法。
YFzL YpZ
方法一:使用批处理文件@"f!x4B [gu V
M9J,g1G8hfjc@^U
在服务器端安装目录下有两个批处理文件“start-ssh.bat”和“stop-ssh.bat”。运行“start-ssh.bat”文件就可以启动SSH服务,要停止该服务只要执行“stop-ssh.bat”文件即可。4M5?^-`/[g;L*g
.H,p^G ue
方法二:使用SSH服务配置程序c4H!X*o ^PG
otcj/A(m
在安装目录下,运行“fsshconf.exe”程序,它虽是SSH服务器的配置程序,但也可以用来启动和停止SSH服务。在弹出的“F-Secure SSH Server Configuration”窗口中,点击左面列表框中的“Server Settings”后,在右边的“Service status”栏中会显示服务器状态按钮,如果服务器是停止状态,则按钮显示为“Start service”(图1),点击该按钮就可启动SSH服务,再次点击可停止SSH服务。 R{/V|taU7K;G
[attach]34505[/attach]
5C i"P[Z W:l.R
图1
g6Add&`-e'~\N
方法三:使用NET命令g#\v&@'Ef
在服务器端的“命令提示符”窗口中,输入“net start ″F-secure SSH Server″”命令,就可以启动SSH服务,要停止该服务,输入“net stop ″F-Secure SSH Server″”命令即可。其中“F-Secure SSH Server”为SSH服务器名,“net start”和“net stop”为Windows系统启动和停止系统服务所使用的命令。
R4\ qJ.s/{x:Zh1i,r
提示:启动了SSH服务后,一定要关闭Telnet服务,这样服务器就处在安全环境之中了,不用再怕数据被窃取。
三、合理设置SSH服务器参数4K:v8H)X5N$g+p$G xf3g
cYB6}3I0I:K
启动SSH服务后,网络管理员就可以远程登录服务器进行维护了。但是每个局域网使用SSH服务的需求是不同的,因此默认的服务参数未必能满足需要,那么我们就可以自行设置这些参数。
y6qY,~:S Tf"{.R
1.基本参数设置
运行“fsshconf.exe”服务配置程序,在弹出的“F-Secure SSH Server Configuration”窗口左栏中,依次选择“Server Settings→General”,然后在右边的“General”框体中就可以对参数进行设置了(图2)。
[attach]34506[/attach]
PN9~5EP9Lo0s
图2
在“Maximum number of connections”栏中输入合适的数值,对连接到SSH服务器的最大用户数进行限制,在这里我们可根据需要进行设置,如输入“50”,则只允许50个用户同时连接SSH服务器。M8n?8Vr+H1aw`Q
“Event log filter”多选框用来定义系统日志记录哪些信息,我们可采用默认设置,勾选“Errors”和“Warnings”两项即可,建议大家不要勾选“Information”,否则会浪费系统资源。fbz-kD e`H
z0S8?mE1|6@VI
“Idle timeout”是用户远程登录的超时时间设置,默认为“0”,就是不进行登录超时限制。
-N2o_&}$C8f+B2\
大家可能还记得FTP服务器的个性化的登录信息,SSH服务器也一样可以做到。首先编写一个登录信息文本文件保存在文件夹中,然后点击“Banner message file”栏的浏览按钮,指定已编写好的文本文件即可,这样用户远程登录时就能看到这些个性化的信息了。最后,大家一定要记住点击“Apply”按钮保存参数设置。 2.网络参数设置
在“F-Secure SSH Server Configuration”窗口左栏中点击“Network”选项(图3),SSH服务器默认使用的是“22”端口,当然也可以自定义端口号(注意,SSH服务器使用的端口号一定不能和服务器上别的程序的端口号冲突)。在“Port”栏中输入想使用的端口号即可,其他的参数设置建议使用默认值。
y8}.JE~z f&s
[attach]34509[/attach]X xr(J/X&Go&U
5c(I0iVpN`D'N/}r.D.S
图3b^6~o4K\'K
&_H+n g`9u\c7S
点击“Identity”选项(图4),在右栏中,我们可以使服务器重新产生新的用户加密密钥和对外公开使用的公钥,它们分别存放在安装文件夹的“hostkey”和“hostkey.pub”文件中,点击“Generate”按钮就可以重新生成这两个文件。-PiP fWU5UY
[attach]34510[/attach]U+a u#i#K*h
4Z?u'J*fsDG^
提示:SSH服务器产生一对密钥和公钥。客户端使用公钥对SSH服务器发送来的信息进行解密。当用户第一次登录SSH服务器时,服务器会将它的公钥发送给客户端,以便客户机能对服务器发送的信息进行解密。0g0r"b#CtGn-}4`
3.主机限制参数设置|#N/_4DacI~
'[0f#F,WZ#f/OM4]o
点击“Host Restrictions”选项,在右栏中就可以对远程登录的计算机进行限制设置。例如,不允许IP地址为“192.168.0.2”的客户机远程登录SSH服务器,在“Deny login from hosts”输入框中输入“192.168.0.2”,然后点击“Apply”按钮即可。&w3rx/Wz#t)|
y4|;c,atZM
提示:SSH服务器还有很多参数就不详细介绍了,大部分参数使用默认值即可。SSH服务器的参数保存在“sshd2_config”文件中,用户也可以用记事本打开它,直接进行编辑,但这种方法比较麻烦,建议大家不要使用。
:s;}`vdb| a??2l
四、SSH客户端软件的使用6o&S(\l Nsk ip
e,I0Up9Lh7h.E5g
1.连接SSH服务器
客户端使用“F-Secure SSH Client”程序,它的安装也很简单。安装完成后,运行桌面上的客户端程序,弹出“F-Secure SSH Client”主窗口,点击工具栏中的“Connect”(连接)按钮,弹出“Connect to Remote Host”对话框(图5)。