Hillstone 防火墙备份脚本

Hillstone 防火墙备份脚本

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

脚本文件使用说明:

一、安装expect

1

yum install expect lrzsz -y

二、安装vsftp

2.1创建目录并上传文件

1

mkdir scripts

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

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

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

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

FTP服务器IP地址

FTP用户名

FTP密码

接受邮件人邮箱

四、执行脚本查看邮箱

五、定时任务

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

将这些变量写入back.sh

制作定时任务即可

六、查看结果

七、脚本配置文件

第一列为数据中心、第二列为机房、第三列为防火墙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,如需转载请自行联系原作者

上一篇:web应用防火墙(WAF)的安全原理与技术分析
下一篇:修改防火墙