一、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,如需转载请自行联系原作者