天天看点

FTP(二)ftp部署与防火墙配置

一、ftp部署

继上文对ftp原理的分析说明,接下实战部署ftp服务器。

1、环境

    CentOS6.8 X64    vsftp

#yum install vsftpd -y

#rpm -qa |grep vsftpd

#vsftpd-2.2.2-21.el6.x86_64

2、配置

   cat /etc/vsftpd/vsftpd.conf|egrep -v '(^$|^#)'

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

<code>#修改默认连接端口为10021</code>

<code>listen_port=10021</code>

<code>#不允许匿名连接</code>

<code>anonymous_enable=NO</code>

<code>local_enable=YES</code>

<code>write_enable=YES</code>

<code>local_umask=022</code>

<code>dirmessage_enable=YES</code>

<code>xferlog_enable=YES</code>

<code>xferlog_std_format=YES</code>

<code>#开启访问日志</code>

<code>xferlog_file=</code><code>/var/log/xferlog</code>

<code>dual_log_enable=YES</code>

<code>#开启连接日志</code>

<code>vsftpd_log_file=</code><code>/var/log/vsftpd</code><code>.log</code>

<code>connect_from_port_20=YES</code>

<code>#不允许切换到其他目录</code>

<code>chroot_list_enable=YES</code>

<code>chroot_list_file=</code><code>/etc/vsftpd/chroot_list</code>

<code>listen=YES</code>

<code>max_clients=20</code>

<code>max_per_ip=2</code>

<code>#限制连接速率4M</code>

<code>local_max_rate=409600</code>

<code>pam_service_name=vsftpd</code>

<code>userlist_enable=YES</code>

<code>tcp_wrappers=YES</code>

<code>#开启被动连接模式</code>

<code>pasv_enable=YES</code>

<code>#被动连接端口</code>

<code>pasv_min_port=65530</code>

<code>pasv_max_port=65535</code>

重启vsftpd服务一个侦听在10021上的ftp服务配置完成,注意被动的数据传输端口在没有客户端连接时是不会侦听的,只有当客户端成功连接了10021连接端口时,才会从被动连接的端口池中侦听并等待客户端连接传输数据。

二、添加ftp账号

<code>#useradd -s /sbin/nologin -g ftp -d /data1/ftp/ftpuser  ftpuser</code>

说明:

添加一个本地用户名ftp 加入到ftp用户组,shell设置成nologin    家目录(ftp目录) /data1/ftp/ftpuser

另外请将ftpuser添加到/etc/vsftp/chroot_list文件中,如果文件不存在请创建,以后添加ftp用户名都添加这里

目换就是锁定用户在自己指定的ftp家目录中.

<code># cat chroot_list </code>

<code>ftpuser</code>

三、防火墙的配置

    防火墙是很重要的服务器安全保护措施,切勿在生产线上关闭防火墙,最好是默认进出和forward都为拒绝的策略。本次实战就是这样!

cat /etc/sysconfig/iptables

33

34

35

36

37

38

39

<code># Generated by iptables-save v1.4.7 on Wed Apr  1 11:31:59 2017</code>

<code>*filter</code>

<code>#默认进入的策略为拒绝</code>

<code>:INPUT DROP [14:3408]</code>

<code>#默认forward 策略为拒绝</code>

<code>:FORWARD DROP [0:0]</code>

<code>#默认出去的策略为拒绝</code>

<code>:OUTPUT DROP [0:0]</code>

<code>#允许本地网段访问</code>

<code>-A INPUT -s 192.168.118.0</code><code>/24</code>  <code>-j ACCEPT</code>

<code>-A INPUT -s 127.0.0.0</code><code>/8</code>  <code>-j ACCEPT</code>

<code>#允许访问ftp 10021</code>

<code>-A INPUT -p tcp --dport 10021 -m state --state NEW,ESTABLISHED -j ACCEPT</code>

<code>#允许访问 65530- 65535 ftp数据传输端口池</code>

<code>-A INPUT -p tcp --dport 65530:65535 -j ACCEPT</code>

<code>-A INPUT -p tcp -m tcp --sport 22 -m state --state NEW,ESTABLISHED -j ACCEPT</code>

<code>-A INPUT -p tcp -m tcp --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT</code>

<code>-A INPUT -p icmp -s 127.0.0.1 -j ACCEPT</code>

<code>-A INPUT -p tcp -m tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT</code>

<code>-A INPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT</code>

<code>-A INPUT -p udp -m udp --sport 53 -j ACCEPT</code>

<code>-A INPUT -p udp -m udp --sport 123 -j ACCEPT</code>

<code>#允许本地访问本地网段</code>

<code>-A OUTPUT -d 192.168.118.0</code><code>/24</code> <code>-j ACCEPT</code>

<code>-A OUTPUT -d 127.0.0.0</code><code>/8</code> <code>-j ACCEPT</code>

<code>-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT</code>

<code>-A OUTPUT -p udp -m udp --dport 123 -j ACCEPT</code>

<code>-A OUTPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT</code>

<code>-A OUTPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT</code>

<code>-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT</code>

<code>-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT</code>

<code>-A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT</code>

<code>-A OUTPUT -p tcp --sport 10021 -m state --state ESTABLISHED -j ACCEPT</code>

<code>-A OUTPUT -p tcp --sport 65530:65535 -j ACCEPT</code>

<code>-A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT</code>

<code>-A OUTPUT  -m state --state ESTABLISHED -j ACCEPT</code>

<code>COMMIT</code>

<code># Completed on Wed Apr  1 11:31:59 2017</code>

重启防火墙即可在服务器开启防火墙状态下,客户端访问ftp服务!

本文转自 dyc2005 51CTO博客,原文链接:http://blog.51cto.com/dyc2005/1940980,如需转载请自行联系原作者

继续阅读