Hillstone 防火墙备份脚本

简介:

Hillstone 防火墙备份脚本

    对于公司有多台防火墙备份的需求,为减轻工作量对多台物理防火墙进行自动备份(不限于防火墙,支持路由交换与安全等其他产品),本篇文章使用Linux系统shell脚本编写Hillstone自动化备份防火墙,定时归档,可配合自动上传脚本,将备份文件上传至阿里OSS,实现永久高可用备份,如果异常发送邮件/微信/短信等通知用户检查。

脚本文件使用说明:

一、安装expect

1
yum  install  expect lrzsz -y

二、安装vsftp

2.1创建目录并上传文件

1
mkdir  scripts

上传脚本到/scripts目录内,并赋予可执行权限

wKiom1mB2YKhiIcjAAA5EsRLFqg464.png

2.2 运行脚本bash Vsftpd.sh并查看ftp信息

wKioL1mB2cHyb2zjAABiMJmadcY622.png

查看ftp相关信息,文件在:/root/ftppasswd.txt

三、运行备份脚本填写相关信息

wKiom1mB2hqRBl2LAAC6FVeoFu4720.png

FTP服务器IP地址

FTP用户名

FTP密码

接受邮件人邮箱

四、执行脚本查看邮箱

wKiom1mB29bROyCaAAEKZlJsjGs106.png

五、定时任务

如下如下定期执行脚本,修改backup.sh

wKiom1mB3Dqg2etSAACaraSnM8U320.png

将这些变量写入back.sh

wKioL1mB3Gmi36ihAABDwMYv_kk078.png

制作定时任务即可

wKioL1mB3KbTFC6hAABeBcE0F5U201.png

六、查看结果

wKioL1mB3SDQJ9ZrAAJe1dncZus921.png

七、脚本配置文件

wKioL1mB3nuSTAuVAAB1KW2eYBc092.png第一列为数据中心、第二列为机房、第三列为防火墙IP、第四列为防火墙用户名、第五列为防火墙密码、第六列为防火墙ssh端口号、第七列为客户名称

每次只需更新此配置文件即可。

八、脚本文件

back.sh

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
#!/usr/bin/expect -f
set  ip [ lindex $argv 0 ]
set  user [ lindex $argv 1 ]
set  password [ lindex $argv 2 ]
set  port [ lindex $argv 3 ]
set  host [ lindex $argv 4 ]
set  ftpip [ lindex $argv 5 ]
set  ftpuser [ lindex $argv 6 ]
set  ftppwd [ lindex $argv 7 ]
spawn  ssh  -p $port $user@$ip
expect {
     "(yes/no)?"
         {
             send  "yes\r"
             expect  "password:"
             send  "$password\r"
         }
         "password:"
     {
     send  "$password\r"
     }
}
expect  "*#"
send  "export configuration startup to ftp server $ftpip user $ftpuser password $ftppwd $host\r"
expect  "Export ok"
send  "exit\r"
expect eof

backup.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
#mail:xuel@anchnet.com
read  -p  "Please input ftp server ipaddress:"  FTPIP
read  -p  "Please input ftp username:"  FTPUSER
read  -p  "Please input ftp password:"  FTPPWD
read  -p  "Please input Receive mailbox:"  MAIL
config_file= /scripts/back_conf
backup_dir= /FTP
DATE=$( date  +%Y%m%d)
if  [ ! -d $backup_dir ]; then
     /bin/mkdir  $backup_dir
fi
cat  $config_file |  while  read  ADDRESS NAME IP USER PASSWD PORT FILENAME; do
if  [ ! -d $backup_dir/$ADDRESS/$NAME ]; then
     /bin/mkdir  -p $backup_dir/$ADDRESS/$NAME
fi
. /back .sh $IP $USER $PASSWD $PORT $FILENAME $FTPIP $FTPUSER $FTPPWD &> /dev/null
if  [ $? - eq  0 ]; then
     /bin/mv  $backup_dir/$FILENAME $backup_dir/$ADDRESS/$NAME/$FILENAME "_" $DATE 
     /bin/echo  "BACKUP $IP SUCCESS,BACKUP_FILE $backup_dir/$ADDRESS/$NAME/$FILENAME" _ "$DATE"  /bin/mail  -r  "xuel@51idc.com"  -s  "$NAME 防火墙备份_成功!"  $MAIL
else
     /bin/echo  "BACKUP $IP SUCCESS,BACKUP_FILE $backup_dir/$ADDRESS/$NAME/$FILENAME" _ "$DATE"  /bin/mail  -r  "xuel@51idc.com"  -s  "$NAME 防火墙备份_失败!"  $MAIL
fi
done

back_conf

1
XA    西安    172.17.1.10    hillstone    hillstone    22    username


本片为自动备份hillstone防火墙脚本,可以配合上传至OSS,与监控告警脚本来实现一整套流程,其他脚本见我其他博客。










本文转自 KaliArch 51CTO博客,原文链接:http://blog.51cto.com/kaliarch/1953118,如需转载请自行联系原作者
目录
相关文章
|
网络协议 Linux 网络安全
【Linux】iptables之防火墙的应用及案例、策略、备份与还原(2)
实验环境:为网关、Web 服务器配置防火墙规则 需求描述: 1、为网站服务器编写入站规则
364 0
【Linux】iptables之防火墙的应用及案例、策略、备份与还原(2)
|
网络协议 关系型数据库 Shell
|
安全 网络安全 网络虚拟化
|
4月前
|
运维 网络协议 安全
小白带你学习linux的防火墙
小白带你学习linux的防火墙
149 1