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端口号为21Port方式数据端口为20FTP的任务是从一台计算机将文件传送到另一台计算机,不受操作系统的限制。

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

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



服务器安装的一般步骤:

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

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

3.yum install 包名

4.检测并启动

rpm -qa | grep 包名

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

 

 

包文件名:vsftpd  服务名:vsftpd

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

wKiom1fX4G_SOGn-AAAWabAEeJY415.png


wKiom1fX4Iiiv2HnAACtfCWolHM147.png



用rpm命令查看下vsftpd包。

wKioL1fX4MWjwbk9AAAOzlYos1k462.png


cd /etc/vsftpd并ls查看下。

wKioL1fX4N3TRJttAAAp48eXxkU469.png


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

wKiom1fX4PrS1PFzAABFN7k7fQc772.png


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

wKiom1fX49WjZRdRAAB4cYR2wQ0573.png


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

 

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

wKiom1fX5AiyYzWJAAC0FalN-ZY501.png


wKioL1fX5B_y1z39AAAj-Dmbhhc239.png


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

wKioL1fX5D_jR5F6AAAYfMCKMZA671.png

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

wKiom1fX5F6x5XeyAACPzS8v9Mk338.png


设置匿名允许上传功能

先修改目录权限

wKioL1fX5H3CdrsTAAC7Vq-LBU8582.png


anonymous_enable=YES

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

 

anon_upload_enable=YES         (27)

 

anon_mkdir_write_enable=YES            (31)

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

 

wKiom1fX5JvxpCV6AAC2jha2tVQ510.png

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

 

 

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

先不允许匿名模式使用。

wKiom1fX5LOiFbLSAADfnB0OJNY102.png


2.创建虚拟用户

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

wKioL1fX5Mij5NkKAAAh_ExPtN4509.png

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

wKiom1fX5N_z7USxAADoD1MfNEE976.png

用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协议,通过同一网络上的任何一台PCFTP服务器连接,进行文件或目录的复制,移动,创建和删除。

 

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入侵和防御也概括的很仔细。


本文转自 wt7315 51CTO博客,原文链接:http://blog.51cto.com/wt7315/1852413


相关文章
|
8天前
|
运维 监控 Linux
服务器管理面板大盘点: 8款开源面板助你轻松管理Linux服务器
在数字化时代,服务器作为数据存储和计算的核心设备,其管理效率与安全性直接关系到业务的稳定性和可持续发展。随着技术的不断进步,开源社区涌现出众多服务器管理面板,这些工具以其强大的功能、灵活的配置和友好的用户界面,极大地简化了Linux服务器的管理工作。本文将详细介绍8款开源的服务器管理面板,包括Websoft9、宝塔、cPanel、1Panel等,旨在帮助运维人员更好地选择和使用这些工具,提升服务器管理效率。
|
1月前
|
监控 Linux Shell
|
16天前
|
安全 算法 Linux
Linux 服务器还有漏洞?建议使用 OpenVAS 日常检查!
在数字化时代,Linux 服务器的安全至关重要。OpenVAS 是一款优秀的开源漏洞扫描工具,可以帮助及时发现并修复服务器中的安全隐患。本文将介绍 OpenVAS 的主要功能、使用方法及应对漏洞的措施,帮助用户加强服务器安全管理,确保企业数字化安全。
38 7
|
27天前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
19天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
22天前
|
缓存 Unix Linux
服务器linux!!!
本文介绍了计算机的演变历史、硬件基础知识及服务器相关知识。从电子管时代的ENIAC到冯-诺伊曼架构,再到现代计算机系统组成,详细讲解了计算机的发展历程。此外,文章还介绍了服务器的分类、品牌、硬件组成以及IDC机房的上架流程,为读者提供了全面的技术背景知识。
38 0
服务器linux!!!
|
24天前
|
人工智能 安全 Linux
|
26天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
135 3
|
29天前
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
24天前
|
Linux
Linux 修改服务器时间
【10月更文挑战第27天】Linux 修改服务器时间
61 0
下一篇
无影云桌面