Linux系统相对于windows是比较安全的,系统漏洞较少,针对该系统的病毒也较少,外部不易攻击。所以用linux系统做各种网络服务是非常理想的。本文仅就ftp及dhcp服务做一下详细论述。
系统:Redflag linux 4.1
FTP服务的实现
首先下载ftp服务软件包vsftpd-1.1.3-8.i386.rpm,安装该软件包。命令如下:
[root@localhost lxjun]# rpm -ivh vsftpd-1.1.3-8.i386.rpm。安装完成后,在/etc/vsftpd目录下自动生成vsftpd.conf文件。启动ntsysv,会在服务列表中出现vsftpd项。选中该项,重启服务器。
笔者设置的vsftpd.conf配置文件内容如下:
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=no
anon_mkdir_write_enable=no
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
ascii_upload_enable=YES
ascii_download_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES
FTP服务的几个重要问题
配置完毕后即可实现基本的FTP服务了。现就几个问题做以下说明。
问题1:无法下载/var/ftp/pub下的文件,ftp客户端显示”文件无法被服务器打开!”。
解决方法:查看目录下其它可以下载的文件属性,为644,而该文件属性为600,将该文件属性改为644即可。执行以下命令
[root@localhost pub]# chmod 644 vsftpd.conf
或[root@localhost pub]# chmod go+r vsftpd.conf
即所有用户对该文件都享有读权限。重新下载正常。
问题2:如何实现匿名用户的上传?
大部分的FTP服务器是不允许匿名用户上传的,为了服务器的安全性,这当然可以理解。但从技术上来说,匿名是可以实现上传功能的。现说明如下:
在vsftpd.conf文件中增加如下命令行:
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_world_readable_only=no
anon_other_write_enable=yes
即对匿名用户开放最大权限。
I、 创建匿名用户的上传目录
[root@localhost ftp]# mkdir incoming
II、 修改上传目录的权限
[root@localhost ftp]# chmod o+w incoming
III、 REBOOT服务器
注:匿名用户的上传最好单独设置一个目录,不要把文件上传至/var/ftp/pub目录中,这样会给文件管理带来很大的方便。做法就是不要给/var/ftp/pub目录赋予”o+w”权限。
问题3:能否用其他端口代替FTP的默认端口提供服务呢?
FTP服务默认的端口号为21,为了减少外部攻击,可以为该服务提供一个不常用的端口号,以10021端口为例。方法如下:
在/etc/vsftpd/vsftpd.conf中增加语句:
listen_port=10021
这样就可以通过服务器的port 10021提供FTP服务了。
关闭port 21
使用命令查看FTP使用的端口号,如下:
[root@localhost vsftpd]# netstat -anp |grep 21
tcp 0 0 0.0.0.0:10021 0.0.0.0:* LISTEN 562/vsftpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 549/xinetd
可以看出port 10021和port 21都处于监听状态,关闭port 21。
[root@localhost vsftpd]# kill -9 549(PID)
这样FTP客户端只能以port 10021端口登录了。一些非法用户就无法通过猜测端口进行强制登录了。增强了系统的安全性