FTP笔记

Contents

  1. 1. FTP功能简介
  2. 2. FTP连接方式
  3. 3. FTP安全性
  4. 4. 实体用户登陆
  5. 5. vsftpd

FTP功能简介

不同等级的用户身份:(1)实体账号,real user;(2)访客, guest;(3)匿名登录者, anonymous 这三种。

命令记录与登录文件记录:FTP 可以利用系统的 syslogd 来进行数据的纪录,而记录的数据包括了用户曾经下达过的命令与用户传输数据(传输时间、档案大小等等)的纪录。所以你可以很轻松的在 /var/log/ 里面找到各项登录信息!

限制用户活动的目录:(change root, 简称 chroot)更改根目录。

FTP连接方式

FTP使用TCP协议。有两种连接方式命令信道和数据流通道。

主动方式:

  1. 客户端随机取大于1024的端口与服务器端的21连接
  2. 当需要传输数据时,客户端随机启用一个端口(port bb),并通过命令通道告知服务器这两个信息(随机启用的端口号和主动方式Activ)
  3. 服务器由命令通道了解客户端的需求后,会主动的由20端口向客户端的port bb连接,此时客户端和服务器共建立两条连接。21端口命令通道,20端口数据流通道。

连接是由服务器端向客户端主动发起的。

  • 问题:『 Can’t build data connection: Connection refused,无法进行数据传输』
  • 原因:防火墙NAT
  • 解决:a.modprobe命令来加载ip_conntrack_ftp及ip_nat_ftp等模块;b.采用被动方式

被动方式:

  1. 客户端随机取大于1024的端口与服务器端的21连接
  2. 当需要传输数据时,客户端可透过命令通道发出PASV的被动式连接要求(passive的缩写),并等待服务器回应。
  3. 服务器端启动数据端口,FTP服务器通过命令通道告知客户端已经启动的端口(port PASV),并等待客户端连接。
  4. 客户端随机取大于1024的端口号对主机的port PASV连接。

被动式FTP数据信道的连接方向是由客户端向服务器断连接的。

FTP安全性

使用 SSH 提供的 sftp-server 功能即可

实体用户登陆

实体用户登陆:a. 使用sftp b. 限制用户能力,chroot 和 sbin/nologin等,如vsftpd的/etc/vsftpd/ftpusers档案设定不想让他具有登入FTP的账号

访客身份: a. 仅提供需要登入的账号即可 b. 不同访客设定不同的家目录 c. 设定较多的限制,包括:上下传档案数目与硬盘容量的限制、 联机登入的时间限制、许可使用的指令要减少很多很多,例如 chmod 就不要允许他使用等等!

匿名登录使用者: a. 开放匿名登录是件危险的事,最好不要开放 b. 如果真要开放,需进行很多的限制。包括:(1)允许的工作指令要减低很多, 几乎就不许匿名者使用指令啦、(2)限制文件传输的数量,尽量不要允许『上传』数据的设定、 (3)限制匿名者同时登入的最大联机数量,可以控制盗连喔!

vsftpd

vsftpd 的全名是『Very Secure FTP Daemon 』的意思

  1. /etc/vsftpd.conf -vsftpd主配置文件
  2. /etc/vsftpd/ftpusers -黑名单
  3. /etc/vsftpd/user_list -控制名单
  4. /var/ftp -ftp共享目录
  5. /var/ftp/xferlog
  6. /etc/pam.d/vsftpd -这个是 vsftpd 使用 PAM 模块时的相关配置文件

配置文件中不能有多余的空格字符,即使在一行的末尾的空格

Updated: