Chinaunix首页 | 论坛 | 博客
  • 博客访问: 53776
  • 博文数量: 10
  • 博客积分: 1420
  • 博客等级: 上尉
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-13 14:05
文章分类

全部博文(10)

文章存档

2010年(4)

2009年(6)

我的朋友
最近访客

分类: BSD

2010-04-25 21:45:53

1.编辑 /etc/inetd.conf

    vi /etc/inetd.conf        启动

2 kill -HUP `cat /var/run/inetd.pid`

3 关闭   vi /etc/inetd.conf

      kill -HUP `cat /var/run/inetd.pid`

4 开机启动ftp

vi /etc/rc.conf      inetd_enable="yes"

5 编辑欢迎信息

编辑220信息

vi /etc/ftpwelcome

格式-

Welcome to 17335 FTP Server !!

This is a welcome message.

NIce to me you.

编辑 230 信息

/etc/ftpmotd   本日讯息   message of the day

格式

This is the message of the day .

It will be shown after user login.

user jackpig login in.

6 加参数调整服务器行为

vi /etc/inetd.conf

ftp stream tcp     nowait root   /usr/libexec/ftpd    ftpd -l -l -d

ftp stream tcp6    nowait root   /usr/libexec/ftpd    ftpd -l -l -d

   ( -d ) 记录 FTP 的除错讯息。除了加入这个参数外,您必须修改 /etc/syslog.conf,并加入下列内容以记录 FTP 的讯息。

     !ftpd
      *.*                    /var/log/ftpd.log
(-h) 不要显示 FTP 服务器的主机名称、软件信息、版本等。
(-l) 记录 FTP 登入成功及失败的讯息。如果您使用二次 -l,则使用者上传、下载、删除、
      建立目录时都会留下记录。
      预设的记录会留在 /var/log/xferlog 中。
 (-o)  限制所有使用者只能上传档案,而无法下载任何档案。
(-r)  限制所有使用者对于服务器内所有档案只能只读,不可以建立目录、
上传、更改档名、或任何会动到档案目录的指令。
7 新增匿名用户
pw adduser ftp
mkdir /home/ftp
chown ftp:ftp /home/ftp
现在就可以用用户名ftp 或 anonymous 登陆
8设置匿名用户的权限
chroot  

所谓的 chroot 就是将某一个目录变成使用者看到的根目录。例如,我们让使用者 alex 登入后,

将 /home/alex 变成根目录。则 alex 在使用指令「cd /」时,

还是会停留在 /home/alex。如果他使用指令「pwd」查看目前所在路径,

则会显示 /。如此一来,我们就可以确保使用者不会到处乱跑,进入一些不该进入的地方。

这个功能对于提升 FTP 的安全性有莫大的助益。

vi /etc/ftpchroot

  alex
  @guest
  john /var/ftp
  @other /var/ftp
 

上述范例中的第一行是设定使用者 alex 登入后,以自己的家目录为根目录。

第二行的 @guest 表示只要是群组为 guest 的使用者,都以自己的家目录为根目录。

而第三、四行分别表示使用者 john 及群组 other 都以 /var/ftp 为根目录。

只要我们善用 chroot 的功能,就可以加强保护系统其它目录,

让没有权利的使用者不可以进入系统目录中。建议您在开放 FTP 服务时,

将所有使用者都加入 /etc/ftpchroot 中。

-M   禁止匿名使用者建立新的目录。
-m   允许匿名使用者覆写一个存在的档案。预设启动 FTP 时,并不允许匿名使用者覆写已经
存在的档案。当使用者上传档案时,如果已经有同档名的档案存在,系统会自动为上传的档案改名。
-o   让匿名使用者只能上传档案,下载档案的功能会被取消。
9 控制联机来源
vi /etc/hosts.allow
# Provide a small amount of protection for ftpd
ftpd : localhost : allow
ftpd : .nice.guy.example.com : allow
ftpd : .evil.cracker.example.com : deny
ftpd : ALL : allow

如果我们要限制某几个 IP 或网域不能使用 FTP,可以使用下列范例:

# Provide a small amount of protection for ftpd
ftpd : localhost : allow
ftpd : 210.122.13.5 : deny
ftpd : .evil.cracker : deny
ftpd : ALL : allow

我们在上述范例中拒绝 IP 210.122.13.5 及 evil.cracker 网域的主机使用 FTP,并在最后一行设定其它来源都许可。

如果您要设定只有某些来源可以使用 FTP,而拒绝大多数的主机,则可以设定:

# Provide a small amount of protection for ftpd
ftpd : localhost : allow
ftpd : 192.168.0. : allow
ftpd : my.friend.com : allow
ftpd : ALL : deny

我们设定了只有本机 (localhost)、192.168.0.x、及 my.friend.com 才可以使用 FTP,其它联机都拒绝。

 
freebsd自代的ftpd所用到的配置主要有以下几个:
/etc/ftpusers 黑名单列表放在这个文件中的帐号不允许登陆
/etc/ftpchroot    这个文件中的用户 限制了只能访问 用户自己的目录
/etc/ftpwelcome    这个文件存放连接到主站的欢迎信息(未登陆之前的)
/etc/ftpmotd 这个文件存放登陆后的信息文件
/etc/inetd.conf 中开启 ftpd服务
/var/run/nologin     如果这个文件存在则禁止 ftp登陆,
/etc/ftphosts    建立 虚拟主机
可以登陆的用户必须是系统的有效用户
匿名用户    需要 专门增加一个 用户 ftp    设置成不能登陆的shell    在他的主目录里面有类似系统的 目录结构 ,对这个里面的目录设置响应的权限,比方说incoming     设置成 chmod 1777    等
阅读(1481) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~