linux vsftp安全配置
vsftp配置安装以及权限设置
vsftpd FTP服务器架设在windows上完了完server-u,很简单,一个小时就能完成ftp服务器的假设,在liunx下要架设一个ftp就没那么容易了,在网上找了找资料在windows上架设 FTP 首选 Server-u,看看资料,点点下一步,基本上10分钟就能架设一个ftp服务器了,在linux下面架设ftp服务器,确实费了我一番功夫,现在想起来,需要总结的就是看资料的时候一定要全面,并且做好一个资料要看完。
最终我选择了 vsFTPd是一款在Linux发行版中最受推崇的FTP服务器程序。
特点是小巧轻快,安全易用。
vsftpd (号称最安全的ftp 服务器)下面讲下linux 下使用vsftpd 的步骤:1.首先下载需要的软件,双机直接安装:a.vsftpd-2.0.1-5.EL4.5.i386.rpm (在liunx4 的第一张光盘)b.db4-utils-4.2.52-7.1.i386.rpm (在liunx4 的第三张光盘) ,用来加密虚拟用户密码等文件的工具2.启动vsftpd服务在控制台执行 service vsftpd start ,如果没有什么问题,你可以看到服务启动的进程号,如果出现了问题,你可以试着将 gssftp 这个服务停掉,执行service vsftpd stop 因为这个服务或许会造成冲突查看vsftpd服务器启动情况 service vsftpd status3.用客户端工具连接ftp服务器在window操作系统下,打开命令提示符,输入 ftp 133.64.81.164 回车然后使用默认的用户名(ftp)和密码(ftp) ,就可以登录ftp服务器了,或者你也可以使用系统用户的用户名和口令登录ftp服务器。
经过以上3个步骤我们就完成了ftp服务器的假设,但是这里有许多问题a.安全性,匿名用户也可以登录,进行操作b.用户登录以后并没有锁定目录c.用户的权限配置没有体现还有其他的问题,基于这些问题,需要我们了解下 vsftpd的工作原理,上面的操作都是基于一下的3个配置文件的vsftp相关配置文件说明/etc/vsftpd/vsftpd.conf/etc/vsftpd.ftpusers/etc/er_list其中,/etc/vsftpd/vsftpd.conf 是主配置文件。
Linux下的VSFTP服务黑名单白名单的策略配置
龙源期刊网 Linux下的VSFTP服务黑名单白名单的策略配置
作者:帅志军
来源:《科学大众》2019年第10期
摘; ;要:文件传输协议是专门用于文件传输的一种协议,是在互联网中应用最为广泛的协议之一,为了确保网络中文件共享的安全,必須对用户进行甄别,所以,建立黑名单白名单的策略显得尤为重要。
关键词:VSFTP服务;黑名单;白名单
1; ; VSFTP服务的简介
VSFTP是一种基于通用公共授权(General Public License,GPL)发布的一种服务,其中VS是“Very Secure”的简写,从字面上理解可以看出该软件编写的目的就是代码的安全性保障,当然除了安全性更强外,高速和稳定的特性也是VSFTP的特色。
2; ; 任务一:设置用户黑名单
具体步骤:(1)在虚拟机中准备两个虚拟Linux操作系统,一台为Linux服务器,另一
台为Linux客户端,此客户端用于测试使用。
两个系统都要安装好FTP服务。
linux下配置FTP服务器步骤
一、创建匿名FTP服务器的方法1。
增加新用户ftp,设置其主目录对任何用户都无写权限;2。
新建立一个组anonymou,它只能被匿名ftp使用;3.在ftp用户的主目录下创建一个bin目录,它属于root用户,而且对任何用户都不能写;4。
在ftp用户主目录下创建一个etc目录,它属于root用户,而且对任何用户都不能写;5.在ftp用户主目录下创建一个public目录,它属于ftp用户,而且对任何用户都能写。
如果由于安全等原因,您不允许其他用户在您的计算机上具有存储能力,那么您可以将其权限设置成555;6.将ls程序放到已创建的bin目录下,并将其修改成111方式,即对任何用户只能执行;7。
在已创建的etc目录下,创建passwd和group两个文件,并将它们设置成444方式(只读)。
二、创建匿名FTP---—在Unix下用root登录,然后按下列步骤逐步建立FTP服务器.1.建立新组anonymou----#mkgroupanonymou2.建立新用户ftp,且ftp用户属于anonymou组—--—#mkuserpgrp=‘nonymou'home=‘ /u/anonymou’ftp3。
在用户目录下建立相关的目录#cd/u/anonymou#mkdiretc#mkdirbin#mkdirpublic4。
将ls拷贝到/usr/anonymou/bin下,并设置其读写属性#cp/bin/ls./bin#chmod111。
/bin/ls5.创建/u/anonymou/etc/group文件————在该文件中增加一行:anonymou:!:201:6.创建/u/anonymou/etc/passwd文件--—-在该文件中增加一行:ftp:*:213:201::/u/anonymou:/bin/ksh7。
修改/u/anonymou/etc/group文件和/u/anonymou/etc/passwd文件的属性#chmod444/u/anonymou/etc/passwd—--—#chmod444/u/anonymou/etc/group8。
杨海艳-主讲-linux之VsFTP配置步骤截图
vsftp的配置步骤讲解说明主讲人:杨海艳然后vim /etc/vsftpd/vsftpd.confservice vsftpd restart【案例1】建立基于虚拟用户的FTP服务器,并根据以下要求配置FTP服务器。
(1)配置FTP匿名用户的主目录为/var/ftp/anon。
下载带宽限制为100kB/s(2)建立一个名为abc,口令为xyz的FTP账户。
下载带宽限制为500kB/s。
(3)设置FTP服务器同时登录到FTP服务器的最大链接数为100;每个IP最大链接数为3;用户空闲时间超过限值为5分钟。
mkdir /var/ftp/anonuseradd abcpasswd abcvim /etc/vsftpd/vsftpd.conf主要内容如下anonymous_enable=YESanon_root=/var/ftp/anonanon_max_rate=100000# Uncomment this to allow local users to log in.local_enable=YESlocal_max_rate=500000max_clients=100max_per_ip=3connect_timeout=300以上是本地的LOCAL用户下面是用虚拟用户来实现vim /etc/vsftpd/vuser内容如下tom123生成数据库文件db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.dbchmod 600 /etc/vsftpd/vuser.dbvim /etc/pam.d/vsftpd注释掉原来的内容然后加入auth required pam_userdb.so db=/etc/vsftpd/vuseraccount required pam_userdb.so db=/etc/vsftpd/vuser最后编辑VSFTPD.CONF加入下面两句guest_enable=YESguest_username=abc大家可以自行测试。
VSFTPD配置方法
VSFTPD配置方法1.安装VSFTPD软件首先,使用以下命令在Linux系统上安装VSFTPD软件:```sudo apt-get install vsftpd```2.配置VSFTPD打开VSFTPD的配置文件,通常位于/etc/vsftpd.conf,使用以下命令:```sudo nano /etc/vsftpd.conf```-设置FTP根目录:``````-允许匿名访问(可选):```anonymous_enable=YES```-关闭匿名上传(可选):```anon_upload_enable=NO```-允许本地用户登录:```local_enable=YES```-限制用户仅访问其主目录:```chroot_local_user=YES```将用户限制在其主目录下,防止访问系统其他部分。
-设置FTP用户的权限:```file_open_mode=0777local_umask=022```file_open_mode设置为0777将文件权限设置为可读写执行,local_umask设置为022保证新创建的文件和文件夹的权限正确。
``````3.重启VSFTPD服务使用以下命令重启VSFTPD服务,使配置生效:```sudo systemctl restart vsftpd```4.配置防火墙如果系统上使用了防火墙,需要修改防火墙规则以允许FTP流量通过。
根据所使用的防火墙软件和具体配置方法来进行相应的设置。
5.创建FTP用户使用以下命令创建一个FTP用户:```sudo adduser ftpuser```将ftpuser替换为你希望创建的FTP用户名。
6.设置FTP用户密码使用以下命令设置FTP用户的密码:```sudo passwd ftpuser```7.连接FTP服务器使用FTP客户端软件连接到配置好的VSFTPD服务器,使用FTP用户的用户名和密码登录即可。
以上就是VSFTPD配置的一般方法。
FTP服务器的安全设置方法-服务器安全设置
FTP服务器的安全设置方法:服务器安全设置FTP的隐患早期FTP并没有涉及安全问题,随着互连网应用的快速增长,人们对安全的要求也不断提高。
目前在各种平台上包括UNIX、Linux、Windows NT以及Netware 等网络操作系统,都实现了FTP的客户和服务器。
FTP是为了共享资源、方便用户文件下载而制定的文件传输协议,那么必然有对系统读写的权利,所以它也是整个网络系统的薄弱环节,一些网上的黑客常常利用FTP作为侵入和破坏系统的突破口。
他们有时利用FTP将一些监控程序装入系统,以窃取管理口令;有时利用FTP获取系统的passwd文件,从而了解系统的用户信息;有时利用FTP的puts和gets功能,增加系统负担,从而导致硬盘塞满甚至系统崩溃。
FTP主要工作原理FTP是基于客户端/服务器方式来提供文件传输服务的。
一个FTP服务器进程可同时为多个客户进程提供服务,即用户所在的一方是客户方,客户方翻译用户发出的命令,向提供FTP服务的文件服务器传送适当的请求。
服务器端则一直运行着ftpd守护程序,遵循TCP协议,服务进程ftpd在指定的通信端口监听客户发来的FTP请求,当ftpd确认该用户为合法时,就开始为其客户进程提供文件传输服务了。
因此FTP协议在客户和服务器之间通过TCP来建立连接,并利用TCP提供的可靠传输在不同的站点间传输文件。
当FTP 客户与FTP服务器进行会话时,FTP建立了两个连接,一个是控制连接,一个是数据连接,如图所示。
/UploadFiles_3263/20xx01/20xx0115085631711.jpg ” border=1>FTP的客户服务器模式在一个FTP会话中需建立一个控制连接和若干个数据连接。
控制连接是执行ftp命令时由客户建立的通向FTP服务器的连接,该连接只能用来传送FTP 执行的内部命令以及命令的响应等控制信息而非数据,数据连接是为在服务器与客户端,或两个ftp服务器之间传输文件(即FTP代理传输方式)而建立的连接,该连接是全双工的,允许同时进行双向数据的传输。
Linux下ftp的安装配置
FTP,file transfer protocol,这是档案传输的通讯协议,也是一般最常用来传送档案的方式。
读者在使用RedHat9 的时候,可能会感受到ftp server 有一些改变:第一,就是ftp server 只剩下vsftp,原有的wuftp 等都没放入﹔第二,就是vsftp 从XINET D 中独立出来,并将设定档从/etc/vsftpd.conf 之中移到/etc/vsftpd/vsftpd.conf。
社区论坛为什么做这样的改变?可以想见的是vsftp 已有独立运作的能力,不需要XINET D 来做更进一步的管控,并且类似sendmail、httpd、ssh、samba 等,将设定文件的放入/etc 下独立的目录。
FTP 分为两类,一种为PORT FTP,也就是一般的FTP﹔另一类是PASVFTP,分述如下:PORT FTP这是一般形式的FTP,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。
第二,由FTP server 端会建立数据传输频道,默认值为20,也就是跟port 20 建立联机,并透过port20作数据的传输。
PASV FTP跟PORT FTP 类似,首先会建立控制频道,默认值是port 21,也就是跟port 21 建立联机,并透过此联机下达指令。
第二,会由client 端做出数据传输的请求,包括数据传输port 的数字。
这两者的差异为何?PORT FTP 当中的数据传输port是由FTP server 指定,而PASV FTP 的数据传输port 是由FTP client 决定。
通常我们使用PASV FTP,是在有防火墙的环境之下,透过client 与server 的沟通,决定数据传输的port。
一:安装一般系统在安装的时候都已经自带了ftp功能,所以对于linux9.0以上的版本系统自动安装了vsftpd,对于linux9.0一下的低版本系统自带的是wu-ftp,如果系统没有安装的话,可以下载软件包安装。
Linux下配置 FTP服务
Vsftpd 配置
用户 特性
登录名 密码 映射系统用户 ftp登陆目录 ftp 下载 上传 建文件夹 删除、改名
匿名用户 本地用户 anonymous、ftp 本地用户名 Email、空密码 本地密码 ftp ftp=/var/ftp/ OK NO NO NO 本地用户 用户的主目录 OK OK OK OK
ftp的欢迎语
1 在FTP的主目录下建立.message文件 写入内容,欢迎语句,support Chinese 2 在ftp的主配置文件中最后加入 ftpd_banner=welcome ….. 3 banner_file=路径加文件名
Vsftpd 配置
• • • • Lcd 命令查看本地路径 Pwd 命令查看服务器端的目录 Status 查看状态 ACSII 或是binary是二进制传输
ftp工作的模式
• • • • • pasv_enable=yes/no yes=pash&port no=port pasv模式:服务器被动开启连接 port模式:服务器主动开启连接 是否开启pasv模式,在默认的情况下 是开启的,vsftpd支持两种传输模式:
设置客户端连接的端口范围
• • • • pasv_enable=yes pasv_min_port=50000 pasv_max_port=51213 使客户连接时的端口范围在50000 和51213之间。 • 客户端使用命令passive来改变数据传 输的模式,这是个开关命令
Linux下配置 FTP服务 Linux下配置 FTP服务
Linux下配置 FTP服务
FTP简介: FTP即文件传输协议(file transport protocol), protocol),是基于TCP/IP协议的一个网 TCP/IP 络应用协议。负责在互联网上提供文件 传输应用,是ARPANet最早的网络服务 之一。
linux课堂笔记5--vsftpd服务器的配置
FTP服务器配置(实验环境:两台计算机,一台安装RHEL Server 5,另一台安装Windows XP,用集线器连接)一般而言,用户必须经过身份验证才能登录Vsftpd服务器,然后才能访问和传输FTP 服务器上文件。
Vsftpd服务器用户分为两类:本地用户和匿名用户。
本地用户是在Vsftpd服务器上拥有账号用户。
本地用户输入自己用户名和口令后可登录Vsftpd服务器,并且直接进入该用户主目录。
匿名用户是在Vsftpd服务器上没有账号用户。
如果Vsftpd服务器提供匿名访问功能,那么就可以输入匿名用户名(ftp或anonymous),然后输入用户E-mail地址作为口令进行登录。
甚至不输入口令也可以登录。
当匿名用户登录系统后,进入匿名FTP服务目录/var/ftp。
步骤一、检查所需RPM包是否已经安装在系统中,方法是:rpm –qa |grep vsftpd 检查是否已安装vsftpd软件包步骤二、安装所需RPM包若在步骤一中发现所需RPM包没有安装,则需使用下面命令来安装软件包,否则请转入第三步。
mount /media/cdrom/---------挂载光驱rpm -ivh /media/cdrom/RedHat/RPMS/vsftpd-*---------其中*号可以按TAB键自动补齐步骤三、配置匿名vsftpd服务器vsftpd服务器最重要是主配置文件vsftpd.conf。
vsftpd守护进程运行时首先从vsftpd.conf文件获取配置文件信息,然后配合ftpusers和userlist文件决定可访问用户。
下表列出了与vsftpd服务器相关目录和文件。
下表列出了vsftpd.conf文件中比较常用部分配置参数。
vsftpd服务器默认设置是允许本地用户和匿名用户登录,本地用户默认进入其个人主目录(/home/账户名),并可以切换到其他有权访问目录,还可以上传和下载文件。
匿名用户只能下载/var/ftp/目录下文件。
Linux安装FTP,配置FTP,使用FileZilla连接FTP
Linux安装FTP,配置FTP,使⽤FileZilla连接FTP 登陆linux后 1.运⾏以下命令安装 vsftpd。
yum install -y vsftpd2.运⾏以下命令打开及查看etc/vsftpdcd /etc/vsftpdls说明:/etc/vsftpd/vsftpd.conf 是核⼼配置⽂件。
/etc/vsftpd/ftpusers 是⿊名单⽂件,此⽂件⾥的⽤户不允许访问 FTP 服务器。
/etc/vsftpd/user_list 是⽩名单⽂件,是允许访问 FTP 服务器的⽤户列表。
/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的⼀些变量和设置3.运⾏以下命令设置开机⾃启动。
systemctl enable vsftpd4.运⾏以下命令启动 FTP 服务。
systemctl start vsftpd5.运⾏以下命令查看 FTP 服务端⼝。
netstat -antup | grep ftp6.创建连接⽤户和密码,执⾏下⾯的命令 创建⽤户:useradd ama 注:ama是⽤户名 设计⽤户密码: passwd ama 注:给⽤户ama设置密码,设置的密码必须是包含⼤⼩写,数字,特殊字符,长度⼤于等于87.修改vsftp(/etc/vsftpd/vsftpd.conf)的配置⽂件 a.运⾏vim vsftpd.conf。
b.按键 “i” 进⼊编辑模式。
c.将是否允许匿名登录 FTP 的参数修改为anonymous enable=NO。
d.将是否允许本地⽤户登录 FTP 的参数修改为local_enable=YES。
e.按键 “Esc” 退出编辑模式,然后按键“:wq” 保存并退出⽂件。
8.重启服务,执⾏下⾯的命令:systemctl restart vsftpd9.给服务器添加安全组(使⽤的是阿⾥云服务器),如下图显⽰:添加端⼝号21F打开 FileZilla,选择SFTP连接⽅式;如下图显⽰:接下来就可以直接操作FTP连接linux。
第5章—第二讲 vsftpd的配置
欢迎信息文件是隐藏文件,编写完成用ls -l查看 :
# vi /var/ftp/pub/.message
VSFtpd的虚拟账号配置:
vsftpd 的虚拟用户采用了不与系统账户口令文 件合二为一的方法,也就是说,为了认证这些虚拟 用户vsftpd 使用单独的口令库文件(pam_userdb), 由可插拔认证模块(PAM)进行认证。使用这种方 式更加安全,并且配置更灵活,可以代替本地用户 登录FTP服务器。
切换路径的命令是:lcd +绝对路径;dir命令用 于查看服务器文件及目录信息;!Dir命令用于查 看本地文件及目录信息。
以上所采用的是VSftpd的默认配置,默认情况 下仅允许匿名用户进行登录和下载。
修改VSFtpd的主配置文件:
# vi /etc/vsftpd/vsftpd.conf
(4)创建一个用户 用来做虚拟用户使用,不能给这 个用户设置密码 :
# mkdir /var/ftp/test # mkdir /var/ftp/test/pub # chmod 700 /var/ftp/test # chmod 777 /var/ftp/test/pub # useradd –s /sbin/nologin –d /var/ftp/test vftpuser
修改完成后,重启VSftpd:
# service vsftpd restart
关闭selinux,并修改pub目录权限:
# chmod -R 777 /var/ftp/pub/ # vi /etc/selinux/config
修改完成后,重启Linux操作系统:
VSFtpd的安全配置:
将匿名用户和本地用户禁锢在/var/ftp/pub目录下:
第12章vsFTP服务及其配置
❖ ^] ❖ 再按“q〞退出telnet ❖ telnet> q
ConБайду номын сангаасection closed. [root@Candy root]#
测试ftp的运行
❖ 默认情况下,安装好vsftp服务器后就可以 使用匿名用户anonymous〔或ftp〕下载文件 了。例如,使用匿名用户下载文件。操作步 骤如下:
#do not even prompt for a password.
Root
Bin
……
Games
Nobody
❖ 此文件中指定的用户默认情况〔即在/etc/vs中设定了 userlist_deny=YES〕下也不能访问FTP服务器,而如果在
vs中设定了userlist_deny=NO,则仅仅允许此文件中指定
❖ ftp> !ls
anaconda-ks.cfg install.log install.log.syslog wel e.txt
❖ 通过显示本地文件命令“!ls〞确认已经将文件wel e.txt下 载到本地。
测试ftp的运行〔续〕
❖5〕 测试是否能上传文件到/var/目录。 ❖ftp> put install.log
FTP客户端命令简介
❖要登录到vsFTP服务器,在Windows系统 中可以使用图形化的FTP客户端软件,如 Cute等,也可以直接在命令行状态下使用 FTP命令。
FTP命令的格式
❖FTP〔机器名、网址或IP地址〕 ❖假设连接成功,系统提示输入用户名
〔Name〕及密码〔Password〕。进入FTP 站点后,用户就可以使用相应的命令进行 各种操作了。
FTP服务器配置方法
FTP服务器配置方法FTP服务器配置方法1、确认服务器环境1.1 操作系统:确定服务器操作系统,例如Windows、Linux等。
1.2 FTP服务器软件:选择合适的FTP服务器软件,常用的有、vsftpd等。
2、安装FTP服务器软件2.1 软件:从官方网站或可信的第三方资源站点FTP服务器软件的安装包。
2.2 安装软件:按照安装包的指引,进行软件的安装。
3、配置服务器3.1 设置监听端口:指定FTP服务器监听的端口号。
3.2 配置安全策略:设置用户访问权限和限制,包括用户身份验证、访问路径控制等。
3.3 配置虚拟主机(可选):如果需要在一个服务器上托管多个域名,可以设置虚拟主机。
3.4 配置被动模式(可选):FTP服务器默认使用主动模式,如果需要使用被动模式,需进行相关配置。
4、配置防火墙4.1 开放FTP服务器端口:根据所选服务器软件的默认端口号,对防火墙进行相应配置,允许FTP服务的数据传输。
4.2 设置防火墙策略:根据实际情况,为FTP服务器配置防火墙策略,确保安全性。
5、配置路由器(可选)5.1 端口映射:如果FTP服务器位于局域网内,需要在路由器上进行端口映射,将外部请求正确转发到FTP服务器。
5.2 域名解析(可选):如果FTP服务器使用域名访问,需要进行域名解析配置。
6、测试FTP服务器连接6.1 使用FTP客户端软件:并安装FTP客户端软件,如等。
6.2 输入服务器地质和端口号:根据服务器配置的IP地质和端口号,填写相应信息。
6.3 输入用户名和密码:根据服务器配置的用户信息,填写合法的用户名和密码。
6.4 连接服务器:连接按钮,尝试连接FTP服务器。
7、优化与安全性增强7.1 使用SSL/TLS加密:设置FTP服务器使用SSL/TLS加密通信,增强数据传输的安全性。
7.2 检查日志:定期检查FTP服务器的日志记录,查看是否有异常访问或攻击行为。
7.3 定期升级软件:及时升级FTP服务器软件,以获取最新的功能和安全修复。
Linux下vsftp配置大全
一、前言Vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器,目前已经被许多大型站点所采用,如,,.等。
Vsftpd的实现有三种方式1、匿名用户形式:在默认安装的情况下,系统只提供匿名用户访问2、本地用户形式:以/etc/passwd中的用户名为认证方式3、虚拟用户形式:支持将用户名和口令保存在数据库文件或数据库服务器中。
相对于FTP的本地用户形式来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性。
相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。
对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说,虚拟用户是一种极好的解决方案。
二、获取最新版的Vsftp程序Vsftp官方下载:ftp:///users/cevans/vsftpd-2.0.3.tar.gz,目前已经到2.0.3版本。
假设我们已经将vsftpd-2.0.3.tar.gz文件下载到服务器的/home/xuchen目录# cd /home/xuchen# tar xzvf vsftpd-2.0.3.tar.gz //解压缩程序# cd vsftpd-2.0.3三、三种方式的实现1、匿名用户形式实现# vi builddefs.h \\编辑builddefs.h 文件,文件内容如下:#ifndef VSF_BUILDDEFS_H#define VSF_BUILDDEFS_H#undef VSF_BUILD_TCPWRAPPERS#define VSF_BUILD_PAM#undef VSF_BUILD_SSL#endif /* VSF_BUILDDEFS_H */将以上undef的都改为define,支持tcp_wrappers,支持PAM认证方式,支持SSL# make //直接在vsftpd-2.0.3里用make编译# ls -l vsftpd-rwxr-xr-x 1 root root 86088 Jun 6 12:29 vsftpd //可执行程序已被编译成功创建必要的帐号,目录:# useradd nobody //可能你的系统已经存在此帐号,那就不用建立# mkdir /usr/share/empty //可能你的系统已经存在此目录,那就不用建立# mkdir /var/ftp //可能你的系统已经存在此目录,那就不用建立# useradd -d /var/ftp ftp //可能你的系统已经存在此帐号,那就不用建立# chown root:root /var/ftp# chmod og-w /var/ftp请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL设置成/sbin/nologin,比如以上的nobody和ftp我就设置成/sbin/nologin安装vsftp配置文件,可执行程序,man等:# install -m 755 vsftpd /usr/local/sbin/vsftpd-ano# install -m 644 vsftpd.8 /usr/share/man/man8# install -m 644 vsftpd.conf.5 /usr/share/man/man5# install -m 644 vsftpd.conf /etc/vsftpd-ano.conf这样就安装完成了,那么我们开始进行简单的配置# vi /etc/vsftpd-ano.conf ,将如下三行加入文件listen=YESlisten_port=21tcp_wrappers=YESanon_root=/var/ftp //设置匿名用户本地目录,和ftp用户目录必须相同listen=YES的意思是使用standalone启动vsftpd,而不是super daemon(xinetd)控制它(vsftpd 推荐使用standalone方式)# /usr/local/sbin/vsftpd-ano /etc/vsftpd-ano.conf & //以后台方式启动vsftpd注意:每行的值都不要有空格,否则启动时会出现错误,举个例子,假如我在listen=YES后多了个空格,那我启动时就出现如下错误:500 OOPS: bad bool value in config file for: listen测试搭建好的匿名用户方式# ftp 127.0.0.1Connected to 127.0.0.1.220 (vsFTPd 2.0.3)530 Please login with USER and PASS.530 Please login with USER and PASS.KERBEROS_V4 rejected as an authentication typeName (127.0.0.1:root): ftp331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp>; pwd257 "/"ftp>; quit221 Goodbye.#OK,已经完成了,very nice.高级配置细心的朋友可能已经看出来我们只在默认配置文件增加了四行,就实现了FTP连接(也证明了vsftpd的易用性),那么让我们传个文件吧,呀!!传输失败了(见图1)为什么呢?因为vsftpd 是为了安全需要,/var/ftp目录不能把所有的权限打开,所以我们这时要建一个目录pub,当然也还是需要继续修改配置文件的。
FTP服务器的安全性设置
FTP服务器的安全性设置FTP服务器的安全性设置一、介绍Transfer Protocol)服务器是用于在计算机网络之间传输文件的一种标准协议。
在使用FTP服务时,确保服务器的安全性设置是至关重要的。
本文档将详细介绍FTP服务器的安全性设置,并提供相关步骤及建议。
二、用户认证1.FTP用户账户管理1.1 创建用户账户:通过管理员权限创建FTP用户账户,并设置唯一的用户名和强密码。
禁止使用默认FTP账户。
1.2 定期审查账户:定期检查FTP用户账户,及时禁用或删除不再需要的账户。
1.3 密码策略:要求FTP用户账户密码强度高,包括使用包含字母、数字和特殊字符的复杂密码,并限定密码的最小长度和修改频率。
2.匿名访问控制2.1 禁用匿名访问:禁用FTP服务器的匿名访问功能,确保用户必须进行身份验证才能访问FTP服务器。
2.2 IP地质过滤:限制允许进行匿名访问的IP地质范围,仅允许特定的受信任IP地质进行访问。
三、文件传输加密1.SSL或TLS协议:启用FTP服务器的SSL或TLS加密功能,确保文件传输过程中的数据安全性。
2.非明文密码传输:若使用普通FTP协议,建议使用S Protocol)或FTPS( SSL/TLS)进行密码传输的加密方式。
四、访问控制1.IP地质过滤:限制FTP服务器的访问权限,仅允许特定的受信任IP地质进行访问。
2.登录尝试限制:设置登录尝试次数限制,以防止恶意攻击者使用暴力的方式获取FTP账户访问权限。
3.访问权限控制:根据用户权限需求,设置不同用户的访问权限,限制其对文件系统的操作范围。
五、日志记录和监控1.日志记录:启用FTP服务器的日志记录功能,记录所有的FTP活动、错误信息以及登录尝试等关键事件。
2.监控和审计:定期监控FTP服务器的日志文件,及时发现潜在的安全问题或异常活动,进行审计和响应。
六、定期维护和更新1.定期更新:定期检查FTP服务器软件的更新,并及时应用厂商发布的安全补丁和更新版本。
Linux FTP配置命令
如果启用,当用户首次进入一个新目录时,FTP服务器将会显示欢迎信息。默认情况下,是通过扫描目录下的message文件获取的,当然也可以通过message_file选项设定。默认:NO。
message_file
当dirmessage_enable=YES时,可设置这个项目来让vsFTPd寻找该文件,从而显示信息。默认:YES。
chroot_local_user
如果设为YES,本地用户在登录后将被限制在其家目录中。需要注意的是,此选项有安全隐患,特别是在用户拥有上传权限,如果管理员不清楚后果,不建议启用它。不过,这些安全隐患并不是vsftpd所特有的,所有提供将本地用户进行目录限制的FTP守护进程有存在这种隐患。默认:NO。
名称
解释
connect_from_port_20
用于控制在服务器端,是否使用端口20(ftp-data)进行数据连接。基于安全的考虑,有些客户端需要这样做。相反,禁用该选项可以使vsftpd以较少特权运行。默认:NO。
listen_port
vsFTP使用的命令通道端口号,如果想要使用默认的端口号,可在这个设置项中修改。不过,需要知道这个设置值仅适合以stand alone(独立模式)的方式启动。默认:21。
如果服务器与客户端的数据连接已经建立(不论主动还是被动),但是可能由于线路问题导致在超时时间内,还是无法顺利完成数据的传送,那么客户端的连接就会被vsFTPd强制断开。默认:300。
idle_session_timeout
超时,单位为秒,远程客户端最大执行FTP命令的时间间隔。如果超时被触发,远程客户端将被断开。默认:300。
local_enable
用于控制是否允许本地登录。如果启用,/etc/passwd中的普通帐号即可用于登录。默认:NO。
LinuxFTP服务器配置
LinuxFTP服务器配置Ø简介本⽂主要介绍 Linux FTP 服务器配置,包括如下内容:1.FTP 介绍2.安装及配置3.⽤户访问4.匿名访问5.连接ftp 的常⽤命令6.nmap 端⼝扫描⼯具1.FTP 介绍FTP(File Transfer Protocol)⽂件传输协议,是⽤于在⽹络上进⾏⽂件传输的⼀套标准协议,使⽤客户/服务器模式,FTP 属于⽹络传输协议的应⽤层。
通俗的将就是,如果⼀台服务器上如果启⽤了 ftp 协议,任意的⼀台电脑就可以与这台服务器建⽴连接。
只要权限⾜够,就可以从这个服务器上下载⽂件和上传⽂件。
ftp 有两个端⼝号,⼀个端⼝号是21,⽤于传输控制流;另⼀个端⼝号是20,⽤于传输数据流。
也就是21号端⼝⽤于建⽴连接,20号端⼝⽤于传输数据。
n常⽤的FTP 软件1)Wu-FTP古⽼、配置⽐较复杂,安全性不是特别理想。
UNIX 系统⾃带的 FTP 软件。
2)Proftp(Professional FTP daemon)功能强⼤。
Proftpd 简介:全称Professional FTP daemon,是针对Wu-FTP 的弱项⽽开发的,软件在经过多年的发展之后完善了很多功能,ProFTP 已经成为继Wu-FTP 之后最为流⾏的FTP 服务器软件,越来越多的站点选⽤它构筑安全⾼效的FTP 站点。
Proftpd 软件和vsftpd ⼀样是⼀个开放源代码的ftp 服务器软件,但是可配置项⽐vsftpd 要多,是⽬前⽐较流⾏的ftp 软件,Proftpd 的配置和apache 的配置相似,因此该软件也⼗分容易配置和管理。
3)vsftp(推荐使⽤)安全、⾼速、稳定。
安全、⾼速、稳定。
具有以下特点:1.配置简洁、使⽤⽅便,使⽤加密传送安全性较⾼。
2.绝⼤多数Linux 提供的官⽅下载,都是有vsftp 来提供的。
vsftp 简介:全称Very secure FTP daemon,⽐ProFTPD 具有更⾼的安全性。
linux红帽子VSFTPD的配置
FTP可以通过很多软件实现,我们linux下面最常用的FTP服务器架设使用vsftpd软件vsftpd 是一个基于GPL发布的FTP服务器软件。
其中的vs是“ Very Secure”的缩写,由此名称缩写可以看出,本服务器的初衷就是服务的安全性。
当然,vsftpd也是REDHAT默认安装的ftp服务器软件后台进程:vsftpd类型:System V 服务使用端口:20(ftp-data),21(ftp)所需RPM包:vsftpd配置文件:/etc/vsftpd/vsftpd.confFTP的主动模式和被动模式很重要主动模式:client 先连接服务器的21端口(命令端口),然后client开放一个大于1024的端口等待服务器的20端口连接,21号端口的链接建立以后,服务器就用20去连接client开放的端口,简单来说就是服务器主动连客户端啦基于上面的连接方式,如果client端有个防火墙,服务器的20端口就连接不进入,导致会连接失败。
被动模式:就是client开启大于1024的X端口连接服务器的21(命令端口),同时开启X+1端口当21号端口连接成功后,client会发送PASV命令,通知服务器自己处于被动模式,服务器收到这个消息后,就会开放一个大于1024的端口Y通知client,client接到通知后就会用X+1来连接服务器的Y端口,简单的说就是client主动连接服务器一般我们使用的是主动模式大家了解被动模式就可以了,当你架设FTP服务器,出现这样的情况,你应该想到可以使用被动模式来解决,当然防火墙一般也支持FTP的追踪模块,会自动识别自己发出的FTP数据请求。
这样制动模式也能返回数据下面我们先安装vsftpd吧所有服务里面只有vsftpd 没有依耐关系,其他服务都要yum来安装或解决其依赖关系哈~没有就安装下~我们来说vsftpd的配置文件大家切换到/etc/vsftpd目录,这个目录就是vsftpd的配置文件存放的目录第一个文件ftpusers是用户控制文件,在这个文件里面的用户,默认是不可以使用vsftpd服务的。
vsftp 连接参数
vsftp 连接参数vsftpd是一个流行的FTP服务器软件,用于在Linux系统上提供文件传输服务。
在使用vsftpd时,您可能需要设置一些连接参数来配置FTP服务器的行为。
以下是一些常见的vsftpd连接参数:1. 超时时间:`accept_timeout`: 用于设置建立FTP连接的超时时间,单位为秒。
默认值为60秒。
`connect_timeout`: 在PORT方式下,用于设置建立数据连接的超时时间,单位为秒。
默认值为60秒。
`data_connection_timeout`: 用于设置建立FTP数据连接的超时时间,单位为秒。
默认值为120秒。
`idle_session_timeout`: 用于设置在多长时间内不对FTP服务器进行任何操作,就会断开FTP连接,单位为秒。
默认值为300秒。
2. 日志文件设置:`xferlog_enable`: 用于启用或禁用上传/下载日志记录。
预设值为开启(YES)。
`xferlog_file`: 用于设置日志文件的路径和名称。
默认值为/var/log/。
3. 权限和安全设置:`anonymous_enable`: 允许匿名用户访问FTP服务器。
预设值为NO。
`local_enable`: 允许本地用户登录到FTP服务器。
预设值为NO。
`write_enable`: 允许用户写入文件到FTP服务器。
预设值为NO。
4. 其他常用参数:`debug_enable`: 开启调试模式,用于查看详细的日志信息。
预设值为NO。
`pasv_enable`: 开启被动模式,以允许在某些客户端(如防火墙后)使用FTP连接。
预设值为YES。
`ssl_enable`: 启用SSL加密连接,以提高安全性。
预设值为NO。
`tcp_wrappers`: 允许使用tcpwrappers进行访问控制,提供额外的安全性层。
预设值为NO。
以上参数仅供参考,实际配置应根据您的需求和安全要求进行更改。
Linux下的FTP软件安全性问题
Linux下的FTP软件安全性问题FTP在互联网中受到广泛应用,其方便企业用户文件的共享。
但是,安全问题也一直伴随在FTP左右。
如何防止攻击者通过非法手段窃取FTP服务器中的重要信息;如何防止攻击者利用FTP服务器来传播木马与病毒等等,这些都是系统管理员所需要关注的问题。
这里以Linux操作系统平台上使用的最广泛的VSFTP为例,谈谈如何来提高FTP服务器的安全性。
1.禁止系统级别用户来登录FTP服务器为了提高FTP服务器的安全,系统管理员最好能够为员工设置单独的FTP帐号,而不要把系统级别的用户给普通用户来使用,这会带来很大的安全隐患。
在VSFTP 服务器中,可以通过配置文件vsftpd.ftpusers来管理登陆帐户。
不过这个帐户是一个黑名单,列入这个帐户的人员将无法利用其帐户来登录FTP服务器。
部署好VSFTP 服务器后,我们可以利用vi命令来查看这个配置文件,发现其已经有了许多默认的帐户。
其中,系统的超级用户root也在其中。
可见出于安全的考虑,VSFTP服务器默认情况下就是禁止root帐户登陆FTP 服务器的。
如果系统管理员想让root等系统帐户登陆到FTP服务器,则知需要在这个配置文件中将root等相关的用户名删除即可。
不过允许系统帐户登录FTP服务器,会对其安全造成负面的影响,为此我不建议系统管理员这么做。
对于这个文件中相关的系统帐户管理员最好一个都不要改,保留这些帐号的设置。
如果出于其它的原因,需要把另外一些帐户也禁用掉,则可以把帐户名字加入到这个文件中即可。
如在服务器上可能同时部署了FTP服务器与数据库服务器。
那么为了安全起见,把数据库管理员的帐户列入到这个黑名单,是一个不错的做法。
2.加强对匿名用户的控制匿名用户是指那些在FTP服务器中没有定义相关的帐户,而FTP系统管理员为了便于管理,仍然需要他们进行登陆。
但是他们毕竟没有取得服务器的授权,为了提高服务器的安全性,必须要对他们的权限进行限制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux vsftp安全配置FTP服务器面临的安全隐患FTP服务器面临的安全隐患主要包括:缓冲区溢出攻击、数据嗅探、匿名访问缺陷和访问漏洞。
VSFtp一些安全配置:1. 修改Vsftpd服务器的默认端口和修改其他设置基于安全考虑,将预设的21端口改为2123。
修改配置文件/etc/vsftpd/,在文件最后增加如下一行内容:listen_port=2123ftp_data_port=2020在实际应用中,为了增加安全性,会将FTP服务器置于防火墙之后。
修改Vsftpd 服务器的默认端口后要及时修改防火墙的端口设定。
现在服务器FTP端口为2123,数据传输端口为2020。
#iptables -A INPUT -p tcp -m multiport --dport 2123,2020 -j ACCEPT#iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset修改其他设置ls_recurse_enable=NO #关闭“ls -R"命令,该命令常被用于DoS攻击,非常浪费系统资源# ascii_download_enable=NO #关闭ASCII模式下载,防止被用于DoS 攻击,ASCII下载很消耗CPU负担2.使用BlockHosts软件防范暴力破解BlockHosts软件就是利用通过分析日志文件帮助tcp_wrappers实现工作自动化。
例如在30秒钟内一个IP地址()连续30次登录sshd服务器而且全部因为密码错误登录失败。
那么这个IP地址无疑是非法或者恶意主机。
这时BlockHosts 会自动将该IP地址写入/etc/文件。
首先编辑你的/etc/文件,一般修改security.* /var/log/security条目内容如下:security.*; /var/log/security原因很简单,这样syslogd就把连接到sshd的日志信息记录下来。
BlockHosts官方网站:,最新版本:1.0.3。
下载启动BlockHosts步骤,另外需要Python语言和SSH软件的支持。
可以使用下面命令检测。
#rpm -qa|grep Python;rpm -qa|grep ssh#wget#tar –zxvf “建立一个目录”pythonBlockHosts是基于命令行模式的,使用非常简单这里就不赘述了。
3.使用xinetd方式运行Vsftpd能以Stand-alone、xinetd两种模式运行,当用户账号比较少又经常需要连接到Vsftpd服务器时推荐使用xinetd模式运行。
使用xinetd方式运行可以有效防范DoS攻击。
从传统的守护进程的概念可以看出,对于系统所要通过的每一种服务,都必须运行一个监听某个端口连接所发生的守护进程,这通常意味着资源浪费。
为了解决这个问题,一些Linux引进了“网络守护进程服务程序”的概念。
Redhat Linux 以后的版本使用的网络守护进程是xinted(eXtended InterNET daemon)。
和stand-alone模式相比xinted模式也称Internet Super-Server(超级服务器)。
xinetd能够同时监听多个指定的端口,在接受用户请求时,他能够根据用户请求的端口不同,启动不同的网络服务进程来处理这些用户请求。
可以把xinetd看做一个管理启动服务的管理服务器,它决定把一个客户请求交给那个程序处理,然后启动相应的守护进程。
xinetd模式工作原理见图7。
图7 xinetd模式网络服务和stand-alone工作模式相比,系统不想要每一个网络服务进程都监听其服务端口。
运行单个xinetd就可以同时监听所有服务端口,这样就降低了系统开销,保护系统资源。
但是对于访问量大、经常出现并发访问时,xinetd想要频繁启动对应的网络服务进程,反而会导致系统性能下降。
察看系统为Linux服务提供那种模式方法在Linux命令行可以使用pstree命令可以看到两种不同方式启动的网络服务。
xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。
能有效的防止拒绝服务攻击(Denial of Services):从stand-alone转换到守护进程模式下:我们需要在守护进程配置目录/etc/里建立vsftpd 的守护进程文件。
我们在安装时已经将该文件考到/etc/目录下了。
我们稍稍修改其内容:#vi /etc/vsftpdservice ftp{disable = nosocket_type = streamwait = nouser = rootserver = /usr/local/sbin/vsftpdserver_args = /etc/vsftpd/nice = 10}接下来把配置文件中的listen=yes或listen_ipv6=yes去掉,停掉vsftpd服务,重启xinetd服务:# sesrvice vsftpd stop# service xinetd restart重新启动守护进程后,vsftpd 服务就会让守护进程来管理了。
在守护进程管理过程中,我们再修改主配置文件的话,就不需要重新启动服务了。
a、限制同时运行的进程数。
通过设置instances选项设定同时运行的并发进程数:instances=20当服务器被请求连接的进程数达到20个时,xinetd将停止接受多出部分的连接请求。
直到请求连接数低于设定值为止。
限制一个IP地址的最大连接数:通过限制一个主机的最大连接数,从而防止某个主机独占某个服务。
per_source=5这里每个IP地址可以连接单个IP地址的连接数是5个。
b.限制负载。
xinetd还可以使用限制负载的方法防范拒绝服务攻击。
用一个浮点数作为负载系数,当负载达到这个数目的时候,该服务将暂停处理后续的连接:max_load =上面的例子中当一项系统负载达到时,所有服务将暂时中止,直到系统负载下降到设定值以下。
说明要使用这个选项,编译时要加入--with-loadavg ,xinetd将而已处理max-load配置选项。
从而在系统负载过重时关闭某些服务进程,来实现某些拒绝服务攻击。
c.限制所有服务器数目(连接速率)。
xinetd可以使用cps选项设定连接速率,下面的例子:cps = 25 60第一个参数表示每秒可以处理的连接数,如果超过了这个连接数之后进入的连接将被暂时停止处理;第二个参数表示停止处理多少秒后继续处理先前暂停处理的连接。
即服务器最多启动25个连接,如果达到这个数目将停止启动新服务60秒。
在此期间不接受任何请求。
使用上面指令有助于防止某个xinetd 服务大量占用系统,从而导致“拒绝服务”情况的出现。
关于TCP WrappersTCP Wrappers的作用,就是通过分析TCP网络数据包,根据其包头的IP地址和端口号,决定是否让这个数据进入到主机之中,因此我们也可以把它当成一个最内层的防火墙。
数据包要进入ftp服务器,首先经过netfilter的过滤,通过TCP Wrappers筛选,守护进程(xinetd模式)限制,最后才能交由vsftpd进程来处理。
我们可以设置TCP Wrappers来限制某些主机能或者不能访问ftp服务器,这需要编辑两个文件:/etc//etc/当数据包通过TCP Wrappers筛选时,/etc/文件会首先读取,然后再读取/etc/文件,就是说/etc/优先级要高一些。
这两个文件设置规则如下:<service_name>:<IP, domain,hostname,network>:<allow|deny><service_name>字段是服务名,也就是/etc/目录下存在的文件名;第二个字段是可以是IP、域名、一台主机或者一个网段;第三个字段表示允许通过或者禁止。
具体看下面的例子:vsftpd: 2.0.52.0.52.0.01注vsftpd服务器日志网络管理员应当记录vsftpd服务器所有日志,它记录了系统每天发生的各种各样的事情,包括哪些用户曾经或者正在使用系统,可以通过日志来检查错误发生的原因,更重要的是在系统受到黑客攻击后,日志可以记录下攻击者留下的痕迹,通过查看这些痕迹,系统管理员可以发现黑客攻击的某些手段以及特点,从而能够进行处理工作,为抵御下一次攻击做好准备。
这里推荐使用AWStats它是在Sourceforge上发展很快的一个基于Perl的WEB日志分析工具。
现今它也可以用来分析多种日志包括:Apache 、proftp、wuftp、vsftp、Postfix, Sendmail, QMail。
现在介绍一下用它来分析vsftp日志的安装配置方法。
(1)软件下载安装#mkdir /var/www/html/syc ;cd /var/www/html/syc;#wget# tar zxvf /usr/local/src/ ;mv awstats# chmod 755 /var/www/html/syc/awstats ;mkdir -p /var/www/cgi-bin/awstats #mv /var/www/html/syc/awstats/wwwroot/cgi-bin/* /var/www/cgi-bin/awstats #说明下载的软件版本一定要大于,之前版本有安全漏洞。
(2)修改配置文件/etc/vsftpd/ ,添加以下内容:xferlog_enable=YESxferlog_std_format=YESxferlog_file=/var/log/(3)清空旧日志文件内容:true > /var/log/(4)重新啟動vsftpd 服务器# /etc/vsftpd restart(5)建立日志文件目录# mkdir /etc/awstats# cp /var/www/cgi-bin/awstats/ /etc/awstats/# mkdir /var/www/html/syc/awstats/data(6)修改缺省配置文件LogFile="/var/log/LogType=F#LogFormat=1LogFormat="%time3 %other %host %bytesd %url %other %other %method %othe r %logname %other %code %other %other"LogSeparator="\s"SiteDomain=" " #主机名称#HostAliases="localhost " #域名、服务器名、别名#DNSLookup=0 #不逆向解析域名#DirData="/var/www/html/syc/awstats/data" #日志文件存放目录#DirCgi="/cgi-bin/awstats" # CGI统计脚本目录#DirIcons="/syc/awstats/wwwroot/icon" #图标在Web服务器apache对应目录# MiscTrackerUrl="/syc/awstats/wwwroot/js/"LevelForBrowsersDetection=0 # 是否可以用浏览器来执行更新,默认是不可以#LevelForOSDetection=0 #是否可以通过浏览器频道操作系统默认是不可以#LevelForRefererAnalyze=0 # 0 disables Origin detection.LevelForRobotsDetection=0 # 0 disables Robots detection.LevelForSearchEnginesDetection=0 # 0 disables Search engines detection.Lang="cn" #设置国家语言类型#ShowMonthStats=UVHBShowDaysOfMonthStats=HBShowDaysOfWeekStats=HBShowHoursStats=HBShowDomainsStats=HBShowHostsStats=HBShowAuthenticatedUsers=HBLShowRobotsStats=0ShowOSStats=0ShowBrowsersStats=0ShowOriginStats=0ShowKeyphrasesStats=0ShowKeywordsStats=0ShowMiscStats=0ShowHTTPErrorsStats=0StyleSheet="/syc/awstats/wwwroot/css/" #css启示位置#注意上面粗黑体字部分是笔者服务器的情况,读者在实际操作中要按照你的具体情况设置。