扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
使用文件传输协议,即我们常说的FTP,是计算机之间进行文件传输的一种常用方法。FTP协议定义了一个远程计算机系统和本地计算机系统之间传输文件的标准。为了安全起见,一般FTP服务器需要先设置FTP帐户。用户只有得到这个FTP帐户后,才能向FTP服务器上传以及下载文件。
若企业在微软的操作系统上架立FTP服务器的话,是一件很轻松的事情。凭借微软FTP服务器构建向导,可以十分简单的构建起一个FTP服务器。不过,现在很少有网络管理员会在微软的服务器系统上构建FTP服务器。因为微软的操作系统稳定性不是很好,而且,网络管理员还要为此进行许多的安全性配置。为此,现在不少网络管理员都喜欢在Linux或者Unit系统上配置FTP服务。因为相对来说,稳定性、安全性上来说,后者都要比前者高得多。
笔者也喜欢在Linux操作系统上配置FTP服务,虽然其配置起来相对来说比较麻烦一些。但是,在这个平台上的FTP服务器稳定性比较高,安全性也不用我们太多的设置。所以,我比较中意在Liunx服务器系统上配置FTP服务器。在这里,我就要谈谈在Linux操作系统上配置FTP服务的一些问题与技巧。
问题一:如何查看是否启动了FTP服务?
在微软的操作系统中,可以在控制面板、服务处,查看FTP服务是否正常启动。但是,在Linux中,则没有这么简单,其需要查看相关的配置文件。
通常情况下,在Linux中,FTP服务器是通过inetd启动并且运行的。若我们想知道Linux系统是否正常的开启了FTP服务的话,我们需要查看/etc/ined.conf 文件。在这个文件中,我们可以看到操作系统在启动的过程中,FTP服务启动是否正常。
若我们在这个文件中,看到有如下的一条记录,则说明FTP服务器启动是正常的。
ftp stream tcp nowait root …….
若看到这条记录的话,则说明FTP服务已经正常启动。若没有这条信息的话,则说明FTP服务器不是默认启动的。为此,我们就需要在inetd启动文件中加入这条记录,让inetd启动的时候,自动启动FTP服务器。
技巧:
有时候,inedd配置文件中,其内容比较多。若我们一条条的查询的话,可能并不是很快就可以找到这条记录。为此,我们可以利用编辑器自带的查询命令,来查询相关的内容。在微软操作系统中,一般采用F3键来打开查询窗口。而在Linux的配置文件编辑窗口中,则是通过“/”字符来开启查询功能。其我们只需要输入/ftp,就可以找到包含ftp 的相关记录信息。不过这里要注意一个问题,即在Linux系统中,大小写是敏感的。即我们若输入/FTP的话,可能就找不到我们所需要的内容。我刚开始接触Linux操作系统的时候,经常会犯类似的错误。
问题二:如何让FTP服务器记录用户的相关操作?
有时候,为了FTP服务器的安全,我们会让FTP服务器记录用户的相关操作。如用户在什么时候在什么地方登陆了FTP服务器,执行了一些什么操作等等。如此的话,当FTP服务器出现故障的时候,网络管理员可以查看这些信息,以了解FTP服务器到底出现了什么问题等等。一般90%以上的FTP服务器故障,有经验的网络管理员,可以凭着这些日志信息迅速的解决问题。
1、可以设置用户登录时,其做了哪些操作会被记录在一个特定的日志文件中。或者说,可以设定某个用户类别在上载或者下载文件的时候所发生的相关信息记录到某个日志文件中。要设置这些信息,网络管理员一般需要在/etc/ftpaccess 这个配置文件中进行设置。
如通过log transfer anonymous inbound ,outbound这个命令,就可以设置若用户是匿名登陆的话,则其上载文件、下载文件等操作都会被记录在相关的日志中。
2、重定向日志文件。有时会为了日志文件的安全,我们往往需要对他们进行重定向。因为若有人恶意攻击FTP服务器的话,一般都会在服务器中留下痕迹。而为了隐藏自己的攻击行为,他们在攻击得成之后,会修改相关的日志文件。所以,我们有时候需要对日志文件进行重定向,如此的话,非法攻击者就很难在攻击后,修改日志文件了。而我们网络管理员在看到这个信息后,则就可以迅速的采取措施了。
问题三:如何限制用户对FTP服务器的访问?
虽然我们可以凭借用户名与密码来控制用户对FTP服务器的访问。但是,有时候,出于安全的考虑,我们还会进行一些更加严格的限制。如只允许某个子网的IP地址或者某些特定的IP地址可以访问FTP服务器等等。为什么要做这些限制呢?这主要是因为,可能这些FTP服务器有特殊的作用,而不是一般的文件服务器等等。
如对于一些文件服务器,我们需要对文件服务器上的数据进行异地备份。以防止当文件服务器出现当机的时候,可以顺利的利用异地备份的数据进行恢复。为此,我们可以在文件服务器上,通过FTP服务向FTP服务器传送数据,以实现异地备份的需求。此时,我们就只允许文件服务器可以访问这台FTP服务器。为了备份数据的安全,我们就要进行相关的设置,拒绝其他用户访问这台FTP服务器。
如有时候FTP服务器还可以作为日志备份服务器。像Oracle数据库服务器以及其他的一些应用系统服务器日志,都可以通过FTP命令以及操作系统的任务调度系统,自动的把日志文件上传到FTP服务器中。为此,也要限制只有特定的主机才能够以FTP的形式访问这台服务器。若不做类似的限制,则安全性会比较差。
要实现这个目的,我们需要修改/etc/ftphosts配置文件。这个文件主要就是用来设置一些主机不允许访问这台FTP服务器。网络管理员可以利用allow 与deny连个参数来限制只有哪些主机可以访问或者哪些主机不能连接FTP服务器。
另外,一般情况下,为了安全起见,我们往往需要设置不允许匿名访问FTP服务器。至少匿名用户的话,不能够往FTP服务器上上传文件。否则的话,FTP服务器的空间可能就很难满足需求。不少用户会把FTP服务器当作电影、歌曲等的集散地等等。为此,我们就需要更改另外一个参数配置文件,即/etc/ftpusers文件来限制某些用户不允许使用FTP服务器传输文件。
问题四:如何建立只允许FTP登陆的帐户?
一般情况下,我们在Linux操作系统中建立用户帐户的话,其不仅可以通过FTP服务登陆到FTP服务器,而且其也可以直接利用这个用户名登录到FTP服务器所在的操作系统。这跟微软服务器上部署的FTP服务器还是有一定的差异。很明显,Linux操作系统如此设计的话,会影响到FTP服务器所在的操作系统的安全性。
所以,我们需要经过相关的设置,让这个FTP帐户之能够通过FTP服务的形式登录到FTP服务器,而不能利用SSH协议远程登录,或者不能直接作为操作系统的登录用户名。要实现这个目的,我们往往需要进行如下的设置。
1、按常规程序新建立用户名。我们先需要在Linux操作系统中,建立相关的用户名。在建立用户名的过程中,我们往往需要为FTP服务器建立一个独立的组。然后把用户名加入到这个组中。如此的话,我们就在后面就可以以组为单位限制其的访问模式了。
2、我们需要编辑“/etc/shells”文件,在这个配置文件中加入一个空的shell。这个空的shell可以限制用户对FTP服务器的访问。如我们可以在这个配置文件中,加入如下一个空的shell,/dev/null。
技巧:一般来说,为了阅读的方便,我们往往把自己添加的内容放在配置文件的最后,并且,最好能够添加相关的注释。这主要是为了我们后续管理的方便。不然等时间长了之后,我们自己都不知道为什么要加入这个项目。
3、再次编辑/etc/passwd配置文件。这里主要实现目录的重定向。也就是说,当前面设置的那个FTP组的用户,访问FTP服务器的时候,其目录会进行重定向,会自动转到那个目录中。只要是通过“.”这个符号把FTP目录跟/目录连接起来。通过如此的限制,FTP组的用户就只能够访问自己用户下面的文件内容,而不能够访问所有的文件系统。
通过以上描述,我们可以发现单从配置上来说,Linux环境上的FTP服务器配置要比微软的复杂的多。很多功能的话,都需要通过手工修改配置文件来实现。而微软自带的FTP服务器的话,则可以通过傻瓜式的向导来实现大部分的管理操作。但是,包括笔者在内的很多网络管理员还是喜欢采用Linux作为FTP服务器的载体。这主要是因为Linux操作系统要比微软的操作系统要稳定。所以,部署在这上面的服务器,相对来收,也是前者稳定的多。而且,FTP服务器的话,跟其他应用服务器一样,往往稳定性是压倒一切的。也许,在不久的将来,当微软的操作系统比Linux更加稳定的时候,可以改变这一现状。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者