linux的FTP服务器搭建及FTP服务器的入侵和防御

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。

与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。

用户分类

Real帐户

这类用户是指在FTP服务上拥有帐号。当这类用户登录FTP服务器的时候,其默认的主目录就是其帐号命名的目录。但是,其还可以变更到其他目录中去。如系统的主目录等等。

Guest用户

在FTP服务器中,我们往往会给不同的部门或者某个特定的用户设置一个帐户。但是,这个账户有个特点,就是其只能够访问自己的主目录。服务器通过这种方式来保障FTP服务上其他文件的安全性。这类帐户,在Vsftpd软件中就叫做Guest用户。拥有这类用户的帐户,只能够访问其主目录下的目录,而不得访问主目录以外的文件。

Anonymous(匿名)用户

这也是我们通常所说的匿名访问。这类用户是指在FTP服务器中没有指定帐户,但是其仍然可以进行匿名访问某些公开的资源。

在组建FTP服务器的时候,我们就需要根据用户的类型,对用户进行归类。默认情况下,Vsftpd服务器会把建立的所有帐户都归属为Real用户。但是,这往往不符合企业安全的需要。因为这类用户不仅可以访问自己的主目录,而且,还可以访问其他用户的目录。这就给其他用户所在的空间带来一定的安全隐患。

TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。FTP的任务是从一台计算机将文件传送到另一台计算机,不受操作系统的限制。

需要进行远程文件传输的计算机必须安装和运行ftp客户程序。

启动ftp客户程序工作的另一途径是使用浏览器,格式::ftp://[用户名:口令@]ftp服务器域名:[端口号]

服务器安装的一般步骤:

1.安装检测rpm -qa | grep 包名

2.检测出没有安装则安装

3.yum install 包名

4.检测并启动

rpm -qa | grep 包名

chkconfig 服务名 on  将服务器设置为开机自启

包文件名:vsftpd  服务名:vsftpd

挂载光盘并用yum安装,(本地yum源在之前的博客里已经配过了)

用rpm命令查看下vsftpd包。

cd /etc/vsftpd并ls查看下。

ftpusers是用户控制文件,在这个文件里面的用户,默认是不可以使用vsftpd服务的

user_list默认功能和第一个一样,但是通过配置,我们可以让只有在第二个文件里的用户才能使用vsftpd服务,这样新加入的用户就不会自动拥有vsftp的使用权,这样可以让vsftpd服务器更加安全

vsftpd_conf_migrate.sh是vsftpd操作的一些变量和设置(可忽略)

vsftpd.conf ,配置vsftpd,我们操作最多的也就是这个文件

搭建了ftp服务器,/etc/passwd下就多了个ftp的用户名了,看到shell是/sbin/nologin,说明这个是虚拟用户使用的,不具有登陆系统的权限。他只能使用vsftpd这样的服务器登陆用,而家目录不在/home下,而在/var/ftp下,在匿名登陆的时候,系统默认使用的用户就是ftp用户 ,可以用ll -d /var/ftp查看下权限是755,这个权限一般默认就好。

现在windows上测试了下ftp服务器。

设置匿名允许上传功能

先修改目录权限

anonymous_enable=YES

是否允许匿名ftp(默认为YES),如否则选择NO,基于用户名与密码的访问。   (12)

anon_upload_enable=YES         (27)

anon_mkdir_write_enable=YES            (31)

是否允许匿名ftp 用户上传(默认被注释即不支持),将两行的注释符取消

在windows测试,就可以匿名上传了。但是是禁止删除的。

匿名始终是不安全的,还有一种是基于用户的访问和上传

先不允许匿名模式使用。

2.创建虚拟用户

先创建一个用户,然后修改用户的登陆shell为nologin,让用户不能登陆系统,只能使用ftp之内的服务,然后使用passwd  test 修改密码

sevrice vsftpd restart 重启ftp服务就可以了

用windows验证,需要用户名和密码了。

访问的路径为test的家目录,有上传和下载的权限。

 对于FTP的入侵

更多的人认为网络上是存在“万能”的攻击方法的,原因和简单,因为“暴力破解”(或者说穷举)的存在,注定网络攻击永远没有尽头。作为一种广泛被使用的协议,FTP被攻击者暴力破解是经常遇到的问题。

1.鼎鼎大名的X-Scan,是国内著名的综合漏洞检测、安全扫描器之一,完全没费,是不需要安装的绿色软件。其中有FTP弱口令,该插件载入字典对FTP弱口令进行检测。

2.泛滥的Serv-U FTP Server漏洞攻击

作为国内使用率最大的一个FTP服务器,Serv-U无疑是成功的,但是所谓树大招风,针对Serv-U FTP Server的攻击从来就没有终止过而且还有越演越烈的姿势。

通过serv-u,用户能够将任何一台PC设置成一个FTP服务器,这样用户或其他使用者就能够使用FTP协议,通过同一网络上的任何一台PC与FTP服务器连接,进行文件或目录的复制,移动,创建和删除。

Serv-U FTP服务器溢出漏洞

受影响系统:

RhinoSoft Serv-U 5.0

RhinoSoft Serv-U 4.x

RhinoSoft Serv-U 3.x

RhinoSoft Serv-U 2.x

Serv-U在处理"MDTM"命令的参数时缺少正确的缓冲区边界检查,远程攻击者可以利用这个漏洞对FTP服务程序进行缓冲区溢出攻击,可能以FTP进程权限在系统上执行任意指令。

Serv-U提供FTP命令"MDTM"用于用户更改文件时间,当用户成功登录系统,并发送畸形超长的时区数据作为命令参数,可触发缓冲区溢出,精心构建参数数据可能以FTP进程权限在系统上执行任意指令。

  利用此漏洞需要用户拥有合法帐户登录到系统,但不需要写及其他权限。

构建高安全性的使用FTP服务器

1、避免跳转攻击

为了避免跳转攻击,服务器最好不要打开数据链接到小于1024的TCP端口号。

受限制的访问

一些FTP服务器希望有基于网络地址的访问控制。在这种情况下,服务器在发送受限制的文件之前应该首先确保远程主机的网络地址在本组织的范围内,不管是控制连接还是数据连接。通过检查这两个连接,服务器就被保护避免了这种情况:控制连接用一台可信任的主机连接而数据连接不是。同样的,客户也应该在接受监听模式下的开放端口连接后检察远程主机的IP地址,以确保连接是由所期望的服务器建立的。

2、保护密码

为了减少通过FTP服务器进行强力密码猜测攻击的风险,建议服务器限制尝试发送正确的密码的次数。在几次尝试(3~5次)后,服务器应该结束和该客户的控制连接。

3、匿名FTP

匿名FTP服务使客户端用最少的证明连接到FTP服务器分享公共文件。如果这样的用户能够读系统上所有的文件或者能建立文件,那么问题就产生了

这里只是简单的说明下,http://down.51cto.com/data/2241389《黑客FTP攻击剖析与实用防御技术精解》这本书将FTP协议和服务解析得很透彻,对这对FTP入侵和防御也概括的很仔细。

时间: 2024-10-24 09:13:10

linux的FTP服务器搭建及FTP服务器的入侵和防御的相关文章

Linux下使用Apache搭建Web网站服务器

Linux下使用Apache搭建Web网站服务器 实验目标 apache服务器常见概念 apache服务器安装及相关配置文件 实战: 例1:为公司内网搭建一个web服务器 例2:取消apache默认欢迎页: 例3:使用rpm搭建lamp 环境 例4, 使用别名,引用网站根目录以外的路径. 例6:打开软链接功能. 通过软件链接直接引用网站根目录以外的内容 例5,当一个目录下没有默认首页时,访问http://192.168.1.63/phpmyadmin/禁止显示目录列表 例7:通过用户认证的方式,

linux redhat6.5 中 搭建Postfix邮件服务器

Postfix 是一种电子邮件服务器,它是由IBM华生研究中心(T.J. Watson Research Center)的荷兰籍研究员Wietse Venema为了改良sendmail邮件服务器而产生的.最早在1990年代晚期出现,是一个开放源代码的软件.实验需要:软件包 postfix(发送传输邮件) .dovecot(接受邮件) bind(DNS解析)实验目标:使zhangsan lisi 帐号通过postfix可以互发邮件 1:安装DNS 编辑named.conf 2:编辑named.rf

linux-第十二课时笔记-[FTP服务器搭建]-[本地FTP]-[02]

FTP本地服务器搭建 yum安装vsftpd服务: [[email protected] ~]# yum -y install vsftpd 创建本地两个用户: [[email protected] ~]# useradd test1 [[email protected] ~]# useradd test2 [[email protected] ~]# echo "123" | passwd --stdin test1 &> /dev/null [[email prote

转:Linux下使用Nginx搭建简单图片服务器

最近经常有人问图片上传怎么做,有哪些方案做比较好,也看到过有关于上传图片的做法,但是都不是最好的,今天再这里简单讲一下Nginx实现上传图片以及图片服务器的大致理念. 如果是个人项目或者企业小项目,仅仅只有十来号人使用的小项目,可以使用如下方案: 用户访问系统,使用上传图片功能,那么图片就上传到你的当前项目所在的tomcat服务器上,在/image下,上传成功后用户可以直接访问 http://ip:port/project/images/xxx.jpg 这样做在用户少的时候是没有问题的 当你的企

Linux下Apache+tomcat搭建负载均衡服务器集群

之前在我的博客里面写了一篇文章http://blog.csdn.net/yannanying/article/details/43018175,本文就是为了补充当时的那篇文章而写.我记得当时是参考百度经验里面的一篇文章写的,文章地址为http://jingyan.baidu.com/article/ab0b5630b632dbc15afa7dc4.html,寒假的时候按照这篇文章的相关内容搭建了Apache+tomcat服务器集群,当时是弄成功了,回到学校后再次想尝试一下怎么搭建,但是发现自己记

linux下ftp和ftps以及ftp基于mysql虚拟用户认证服务器的搭建

1.FTP协议:有命令和数据连接两种 命令连接,控制连接:21/tcp 数据连接: 主动模式,运行在20/tcp端口 和 被动模式,运行在随机端口 数据传输模式(自动模式):有二进制(mp3,jpg等)和文本(html)两种传输模式 ftp服务器端程序:wu-ftpd:vsftpd pureftpd Filezilla Serv-U ftp客户端程序:CLI文本模式命令:ftp lftp GUI图形界面软件:gftpd FlashFXP Cuteftp Filezilla vsftpd:命名为V

Linux ISCSI服务器搭建

Linux ISCSI服务器搭建 1. iscsi服务器简述 iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择.iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料. iSCSI:Internet 小型计算机系统接口 (iSCSI:Internet Sma

Linux Red hat 5 DNS服务器搭建(一)域名缓存服务器

Linux Red hat 5 DNS服务器多实验详细搭建 所需软件包: ? bind-9.3.3-7.el5.i386.rpm ? 提供主要程序及相关文件 ? bind-utils-9.3.3-7.el5.i386.rpm ? 提供对dns服务器的测试工具(如nslookup.dig等) ? bind-chroot-9.3.3-7.el5.i386.rpm ? 提供一个伪装的根目录以增强其安全性(var/named/chroot/) ? caching-nameserver-9.3.3-7.e

linux系统下本地搭建git服务器

linux系统下如何搭建本地git服务器,用于存放团队的开发代码,如下步骤: 1.先用一台服务器来安装git,安装好linux以后,在这里选用的是Ubuntu 14.04.然后配置静态IP:172.16.0.110.执行下面命令: >> sudo apt-get install git 2.创建一个git用户: >> sudo adduser git 3.建立/home/git/.ssh/authorized_keys文件,将团队每个人的~/.ssh/id_rsa.pub文件复制到