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


相关文章
|
7天前
|
Ubuntu 安全 网络安全
在Ubuntu系统下使用vsftpd配置FTP服务器的步骤
以上就是在Ubuntu系统下使用vsftpd配置FTP服务器的步骤。这些步骤都是基础的,但足够让你建立一个简单的FTP服务器。如果你需要更高级的功能,例如SSL加密、虚拟用户等,你可能需要进一步研究vsftpd的配置选项。
46 13
|
20天前
|
JavaScript Linux Python
在Linux服务器中遇到的立即重启后的绑定错误:地址已被使用问题解决
总的来说,解决"地址已被使用"的问题需要理解Linux的网络资源管理机制,选择合适的套接字选项,以及合适的时间点进行服务重启。以上就是对“立即重启后的绑定错误:地址已被使用问题”的全面解答。希望可以帮你解决问题。
71 20
|
1月前
|
存储 运维 监控
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
|
1月前
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
165 1
|
3月前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
|
4月前
|
安全 编译器 Linux
深入解析与防范:基于缓冲区溢出的FTP服务器攻击及调用计算器示例
本文深入解析了利用缓冲区溢出漏洞对FTP服务器进行远程攻击的技术,通过分析FreeFlow FTP 1.75版本的漏洞,展示了如何通过构造过长的用户名触发缓冲区溢出并调用计算器(`calc.exe`)。文章详细介绍了攻击原理、关键代码组件及其实现步骤,并提出了有效的防范措施,如输入验证、编译器保护和安全编程语言的选择,以保障系统的安全性。环境搭建基于Windows XP SP3和Kali Linux,使用Metasploit Framework进行攻击演示。请注意,此内容仅用于教育和研究目的。
133 4
|
5月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
358 4
|
5月前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
5月前
|
运维 监控 Linux
服务器管理面板大盘点: 8款开源面板助你轻松管理Linux服务器
在数字化时代,服务器作为数据存储和计算的核心设备,其管理效率与安全性直接关系到业务的稳定性和可持续发展。随着技术的不断进步,开源社区涌现出众多服务器管理面板,这些工具以其强大的功能、灵活的配置和友好的用户界面,极大地简化了Linux服务器的管理工作。本文将详细介绍8款开源的服务器管理面板,包括Websoft9、宝塔、cPanel、1Panel等,旨在帮助运维人员更好地选择和使用这些工具,提升服务器管理效率。
|
4月前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。