网闸实现ftp文件同步
网闸
网闸作为一种安全产品
双主机结构: 一般采用两台相互隔离的主机 以及一个独立硬件
单芯片传输: 隔离外部数据通过摆渡芯片将外网主机与内网主机的数据进行交换共享
没有默认策略 没有安全域的划分 只是将网络划分为内网外网两部分 内外网之间交互必须通过网闸的摆渡芯片传输 实现物理层面的隔离 更加彻底
为什么叫网闸 是因为其数据交互的方式就像是用 闸门放水:
数据来到了网闸的主机一中 此时主机一可以对数据进行检测
当检测完成后 摆渡芯片就像闸门一样打开了 数据流入到摆渡芯片
摆渡芯片将数据传递给主机二 且上游闸门关闭不允许主机一数据流入
ftp服务搭建:
ftp默认端口为20 21 其中21为控制端口 20为传输端口
分为两个模式: 这两个模式是针对服务器传输隧道的建立而言的
主动模式:
- 客户端直接连接服务器21端口
- 服务器响应客户端请求 控制隧道建立
- 客户端发出主动请求且携带自己的数据传输端口
- 服务器主动使用端口(一般是20)直接与客户端建立数据传输隧道
被动模式:
- 客户端直接连接服务器21端口
- 服务器响应客户端请求
- 此时客户端发出被动控制 服务器将打开一个数据传输端口 并返回给客户端
- 服务器被动等待客户端连接
服务器的搭建 这里使用 vsftpd
vsftpd详解:
vsftpd是Linux服务端较为好用的ftp服务器
[root@localhost ~]# yum install vsftpd
现网环境有些服务器不出网 需要人工使用存储介质拷贝 此时可以使用yum的选项将离线安装包下载下来:
[root@localhost ~]# yum install --downloadonly --downloaddir=/opt/ vsftpd
下载后默认存在文件:
这些文件的作用分别是:
ftpusers:
以上用户不允许登录ftp
userlist:
这里默认不允许登录 属于黑名单 当你修改为userlist_deny=NO 则属于白名单的形式
我们尝试root登录
被拒绝了
这里没有输入密码直接被拒绝 是因为我们的user_list中存在root 去掉后再次尝试:
这次可以输入密码 但是还是被拒绝了 是因为ftpuers中存在root 去掉后再次尝试
pasv模式为被动模式 需要客户端主动连接服务器的数据端口
但我们不建议使用root用户连接ftp 由于root用户权限过高 所有文件都能被访问
下面我们来介绍一下ftp的主配置文件
# Example config file /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
# 允许默认用户登录 这里为了安全默认是关闭的 YES为开启 NO为关闭
local_enable=YES
# 使用本地用户登录
write_enable=YES
#允许写入文件
local_umask=022
# 权限掩码 默认目录权限为777 文件权限为666 权限掩码为022时 目录权限为755 文件权限为 644
#anon_upload_enable=YES
#匿名用户上传文件 默认关闭
#anon_mkdir_write_enable=YES
#匿名用户创建目录 默认关闭
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
xferlog_enable=YES
#开启上传下载日志
connect_from_port_20=YES
#设置传输端口从20端口连接客户端
#chown_uploads=YES
#修改上传文件的拥有者
#chown_username=whoever
#修改拥有者为whoerver
#xferlog_file=/var/log/xferlog
# 指定日志路径
xferlog_std_format=YES
# 使用日志格式
#idle_session_timeout=600
# 死亡时间
#data_connection_timeout=120
# 连接超时时间
#nopriv_user=ftpsecure
#低权限用户
#ftpd_banner=Welcome to blah FTP service.
# 登录横幅
#chroot_local_user=YES
# 修改用户主目录到主目录
#chroot_list_enable=YES
# 开启chrootlist 此时在本级目录需要有chroot文件 来规定哪些用户不需要修改到主目录
#chroot_list_file=/etc/vsftpd/chroot_list
# 默认的chroot_list路径
listen=YES
# 监听ipv4
listen_port=2021
# 修改监听端口
listen_ipv6=YES
# 监听ipv6地址
pam_service_name=vsftpd
# 服务名
userlist_enable=YES
# 开启userlist
tcp_wrappers=YES
# 可以基于ip访问
这里完成ftp的配置后 即可配置网闸:
网闸配置:
这里使用的迪普设备 网闸三权分立
分为
admin: 用于网络的配置 比如接口ip 路由表 功能开关等
adminsafe: 用于服务的配置 比如ftp文件共享 数据库共享等
adminaudit: 用于日志的审计
客户希望 把内网服务器指定的文件夹文件取走放到外网指定的文件夹
把外网指定的文件夹中的文件取走放到内网指定的文件夹
这时 内外网都需要两个用户
内网用户: 收文件:forftp 发文件:innertoexport
外网用户: 收文件:forftp 发文件:exporttoinner
将其家目录设定为指定家目录:
方法为:usermod -d 或者添加用户时直接 useradd -d
网闸配置:
IP配置:
一个接口对应一个网卡
开启ftp同步
配置ftp任务 实现文件同步
这个是从内网到外网的同步 先镜像在增量 从内到外
这个是从外到内
在高级选项中选择 同步后删除源文件 实现类似文件被拿走的效果