1 引言
现有灾备系统大多基于windows底层架构的现状,决定其抵御类似勒索等病毒能力弱的特点,使笔者萌发利用开源架构搭建灾备系统的想法。
2国内外灾备系统建设基本情况
通过检索论文,咨询建设厂家,国内外主流的灾备系统包括EMC、Vmware、IBM、微软等公司的产品,功能实现是能够自动的灾备系统数据文件,但对于消防行业而言,公文和消防监督系统数据的恢复实时性没有那么迫切,数据恢复时间1月以内均可以接收。
利用ftp搭建灾备系统的案例,包括利用centos、ubuntu、debian等系统开展灾备系统建设,参考的文献中一般仅提到简要的操作流程,文献时间较早,在实践复原操作中效果不佳,笔者曾经成功利用centos和debian操作系统,结合vsftpd软件搭建成功灾备系统,但受制于硬件环境、网络更改配置等原因一直在生产系统中运行。
3灾备系统搭建过程
现简要结合自身实际,复原搭建灾备系统的过程如下:
3.1服务器硬件和操作系统环境搭建
服务器笔者是利用一台空闲的联想塔式服务器,think server TS250,费用大概在数千元以内。
服务器操作系统,笔者采用的是ubuntu 18.04 LTS,先从官方网站上现在服务器镜像文件,然后下载ultraiso刻录软件,选择文件打开ubuntu镜像文件,然后格式化优盘,写入硬盘镜像即可。
服务器开机后,F12键选择优盘启动,格式化硬盘,分配网络地址,重启计算机。
3.2 vsftp安装与配置
1、首先为root超级管理员设置一个密码,然后安装vsftp软件。
sudo apt-get update
sudo apt-get install vsftpd
2、利用cp命令保存vsftp配置文件
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
3、防火墙配置
由于ubuntu默认情况下是不开启防火墙的,若需要配置,命令如下:
sudo ufw status //查看防火墙状态配置信息
sudo ufw allow 20/tcp //打开数据传输ftp-data 20端口
sudo ufw allow 21/tcp //打开ftp命令通道21端口
sudo ufw allow 990/tcp //打开990端口
sudo ufw allow 40000:50000/tcp //打开40000至50000端口
sudo ufw status //查看防火墙状态配置信息
4、创建用户和目录
sudo adduser sammy //创建一个名叫sammy的ftp登录账号
sudo mkdir /home/sammy/ftp //为sammy创建一个文件夹
sudo chown nobody:nogroup /home/sammy/ftp
sudo chmod a-w /home/sammy/ftp
sudo ls -la /home/sammy/ftp
sudo mkdir /home/sammy/ftp/files
sudo chown sammy:sammy /home/sammy/ftp/files
sudo mkdir /home/sammy/ftp/files
sudo chown sammy:sammy /home/sammy/ftp/files
sudo ls -la /home/sammy/ftp
echo "vsftpd test file" | sudo tee /home/sammy/ftp/files/test.txt //测试将一个文件上传至ftp
5、配置ftp
sudo nano /etc/vsftpd.conf //编辑vsftpd配置文件
配置文件需要修改和添加的内容如下:
anonymous_enable=NO //允许 anonymous 匿名用户登录
local_enable=YES
write_enable=YES // 如果你允许用户上传数据时,就要启动这个设定值;
chroot_local_user=YES //将用户限制在私有文件夹内
user_sub_token=$USER
local_root=/home/$USER/ftp
pasv_min_port=40000
pasv_max_port=50000 //随机选取40000至50000之间的端口号与主机的 port PASV 联机
userlist_enable=YES //设定在vsftpd.userlist文件中的用户才可以访问
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
echo "sammy" | sudo tee -a /etc/vsftpd.userlist //将sammy用户添加到/etc/vsftpd.userlist文件中
cat /etc/vsftpd.userlist
sudo systemctl restart vsftpd
6、向生产环境迁移
由于ubuntu更换了网卡配置文件的地址,网卡配置文件修改方式如下
sudo vi /etc/netplan/50-cloud-init.yaml
编辑网卡配置文件,修改ip地址、子网掩码,网关和DNS为公安网网络环境,为公安网主机粘贴警示标签,在一机两用后台中对服务器ip地址进行保护和信任操作。
3.3数据备份
利用3389端口远程登录服务器,然后使用flashfxp等软件将服务器中的数据上传至灾备服务器,一体化业务系统4台服务器数据量预估为40G,备份时间约为23小时每次。后续备份可以使用续传的方式,操作简单,每月备份一次即可。采用这种备份方式的优点相比较硬盘备份,不受制于硬盘工作时间的影响,运维方面相比较灾备系统稍微费事,但价格便宜,最大的优点是基于开源操作系统,不会轻易遭受针对windows架构操作系统类似勒索病毒等病毒、木马影响,对于黑客攻击者而言,攻击难度也明显提高。
4 小结和展望
此灾备系统的搭建仅能实现实时性要求不高的灾备功能,后续还需进一步研究如何二次开发,实现对服务器数据的自动化灾备;对于单位办公个人用ftp空间搭建功能需求,还需考虑利用mysql实现用户账号的快速分配,利用php直接操作ubuntu文件夹,实现自动化创建个人ftp存储空间等功能。
参考文献
[1]How To Set Up vsftpd for a User's Directory on Ubuntu 16.04[EB/OL].
https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-for-a-user-s-directory-on-ubuntu-16-04,2018-02-20.
[2]鸟哥的 Linux 私房菜 -- vsFTPd 文件服务器[EB/OL].
http://cn.linux.vbird.org/linux_server/0410vsftpd/0410vsftpd-centos4.php,2006-12-20.