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


相关文章
|
9天前
|
运维 监控 Linux
推荐几个不错的 Linux 服务器管理工具
推荐几个不错的 Linux 服务器管理工具
W9
|
2月前
|
运维 关系型数据库 MySQL
轻松管理Linux服务器的5个优秀管理面板
Websoft9 应用管理平台,github 2k star 开源软件,既有200+的优秀开源软件商店,一键安装。又有可视化的Linux管理面板,文件、数据库、ssl证书方便快捷管理。
W9
114 1
|
2月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
50 4
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
80 4
|
2月前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
2月前
|
运维 监控 Linux
服务器管理面板大盘点: 8款开源面板助你轻松管理Linux服务器
在数字化时代,服务器作为数据存储和计算的核心设备,其管理效率与安全性直接关系到业务的稳定性和可持续发展。随着技术的不断进步,开源社区涌现出众多服务器管理面板,这些工具以其强大的功能、灵活的配置和友好的用户界面,极大地简化了Linux服务器的管理工作。本文将详细介绍8款开源的服务器管理面板,包括Websoft9、宝塔、cPanel、1Panel等,旨在帮助运维人员更好地选择和使用这些工具,提升服务器管理效率。
|
1月前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
2月前
|
安全 Linux API
Linux服务器安全
人们常误认为服务器因存于数据中心且数据持续使用而无需加密。然而,当驱动器需维修或处理时,加密显得尤为重要,以防止数据泄露。Linux虽有dm-crypt和LUKS等内置加密技术,但在集中管理、根卷加密及合规性等方面仍存不足。企业应选择具备强大验证、简单加密擦除及集中管理等功能的解决方案,以弥补这些缺口。
33 0
|
弹性计算 网络协议 Linux
|
7天前
|
机器学习/深度学习 人工智能 PyTorch
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
阿里云GPU云服务器怎么样?阿里云GPU结合了GPU计算力与CPU计算力,主要应用于于深度学习、科学计算、图形可视化、视频处理多种应用场景,本文为您详细介绍阿里云GPU云服务器产品优势、应用场景以及最新活动价格。
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考

热门文章

最新文章