Kako varnostno kopirati požarni zid Netscreen: 8 korakov
Kako varnostno kopirati požarni zid Netscreen: 8 korakov
Anonim

Avtor joeFollow Več avtorja:

O: Rad se poigravam s skoraj vsem, včasih se na koncu izide. Uživajte ob ogledu projektov, poskusite nekaj raztrgati in mi sporočite, kako poteka. Na zdravje, -Joe Več o Joeju »

V tem navodilu je prikazan skript, ki ga lahko uporabite za avtomatizacijo varnostnega kopiranja požarnega zidu netscreen, ki izvaja ScreenOS.

1. korak: Zahteve

Ta skript je napisan v pričakovanju in predpostavlja, da imate vklopljen SSH na svojem netscreen -u in okolju linux. Če niste nikoli odjavili pričakovanj, ima Oreilly odlično knjigo "Exploring Expect"

2. korak: spremenljivke

Začeli bomo z nastavitvijo nekaterih spremenljivk. Spremenljivke vrat/uporabniškega imena/geslo/netscreen/poziv nastavite tako, da ustrezajo vašemu okolju. #!/usr/bin/pričakujte#Pričakujte, da bo skript varnostno kopiral konfiguracijo požarnih zidov netscreen#Joe #Nastavi nekaj časovne omejitve varsset 60set uporabnika "root" nastavi geslo "geslo" nastavi vrata "2022" nastavi netscreen "foo.bar.com" set basedir "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format%Y-%m-%d] -config.txt "set mailto" [email protected] "set mailsubject" Napaka: netscreen varnostno kopiranje ni uspelo [timestamp -format%Y-%m-%d] "set mailfail" "set prompt" foo->"

3. korak: Povežite se

Nato bomo v skriptu poskušali vzpostaviti povezavo. r "pričakujte {" $ prompt "{send_user" Connected "}" Dovoljenje zavrnjeno "{send_user" Neveljavno geslo, izhod iz "set mailfail" Neveljavno geslo, izhod iz "close} timeout {send_user" No prompt vrnjen "set mailfail" Ni povpraševanja "close}}}" Ni poti do gostitelja "{send_user" Ni mogoče vzpostaviti povezave z $ netscreen / n "set mailfail" Ne morem se povezati z $ netscreen / n "}" Ime ali storitev ni znana "{send_user" Ne morem se povezati $ netscreen / n "set mailfail" Ne morem se povezati z $ netscreen / n "} timeout {send_user" Timeout conncting to $ netscreen "set mailfail" Timeout conncting to $ netscreen "close}} if {$ mailfail! =" "} { exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}

4. korak: Izklopite ostranjevanje

Morate izklopiti ostranjevanje - ali bolj hiter poziv na omrežnem zaslonu. #Onemogočite stran "set" console "more" promptsend "set" 0 / r "pričakujte {" $ prompt "{send_user" / nPaging Disabled / n "} privzeto {send" ScreenOS ni razen možnosti ostranjevanja. / N "set mailfail" ScreenOS je razen možnosti ostranjevanja. " close} timeout {send_user "ScreenOS ni dovolil razen možnosti ostranjevanja / n" nastavil poštno napako "ScreenOS ni izločil razen možnosti ostranjevanja." close}} if {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}

5. korak: Pridobite konfiguracijo

Zdaj bomo dobili konfiguracijo. send_user "Nalaganje konfiguracije / n" log_file $ basedir/$ logsend "get config / r" pričakujte {"$ prompt" {log_file send_user "\ nKonfiguracija prenesena / n"} časovna omejitev {send_user "\ nNapaka pri prenosu konfiguracije." set mailfail "Napaka pri prenosu konfiguracije." }} closeif {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}

6. korak: Preverite, ali je konfiguracija prave velikosti

Preverili bomo, ali je konfiguracija vsaj 1k.set fileize [velikost datoteke $ basedir/$ log], če je {$ filesize <= 1024} {send_user "Netscreen konfiguracija je premajhna, preiščite / n" set mailfail " Netscreen konfiguracija je premajhna, preiščite / n "exec /bin /mail -s $ mailsubject $ mailto <<" $ mailfail "exit}

7. korak: Čiščenje

Opravimo nekaj čiščenja, da odstranimo konfiguracije, starejše od dveh tednov. #Odstrani konfiguracijo, starejšo od 2 tednovsexec find $ basedir -name '*config.txt*' -mtime +14

8. korak: Vsi skupaj

Zdaj združite vse skupaj. Priložen je kot besedilna datoteka. V primeru napak bo poslal e -poštno sporočilo. #!/usr/bin/pričakujte#Pričakujte, da bo skript varnostno kopiral konfiguracijo požarnih zidov netscreen#Joe#Nastavi nekaj časovne omejitve za variset 60set uporabnika "root" nastavi geslo "geslo" nastavi vrata "2022" nastavi netscreen "foo.bar.com" nastavi basedir "/mnt/netapp/backups/foo.bar.com"set log" [timestamp -format%Y-%m-%d] -config.txt "set mailto" [email protected] "set mailsubject" Napaka: netscreen varnostno kopiranje ni uspelo [timestamp -format%Y-%m-%d] "set mailfail" "set prompt" foo-> "send_user" NetScren Backup Script / n "send_user" Vzpostavljanje povezave z $ netscreen / n "spawn ssh $ user@$ netscreen -p $ port pričakujte {"geslo:" {pošlji "$ geslo / r" pričakujte {"$ prompt" {send_user "Connected"} "Dovoljenje zavrnjeno" {send_user "Neveljavno geslo, zapustite" set mailfail "Neveljavno geslo, zapustite "close} timeout {send_user" No prompt return "nastavljena poštna napaka" No return return "" close}}} "Ni poti do gostitelja" {send_user "Ni mogoče vzpostaviti povezave z $ netscreen / n" set mailfail "Ne morem se povezati z $ netscreen / n "}" Ime ali storitev nista znana "{send_user" Ni mogoče vzpostaviti povezave z $ netscreen / n "s et mailfail "Ni mogoče vzpostaviti povezave z $ netscreen / n"} timeout {send_user "Timeout conncting to $ netscreen" set mailfail "Timeout conncting to $ netscreen" close}} if {$ mailfail! = ""} {exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit}#Zdaj, ko je tega konec, nadaljujte#Onemogočite "več" promptsend "nastavite stran konzole 0 / r" pričakujte {"$ prompt" {send_user "\ nPaging onemogočeno / n "} privzeto {pošlji" ScreenOS ni izključil možnosti ostranjevanja. / n "nastavite poštno napako" ScreenOS ni izključil možnosti straničenja. " close} timeout {send_user "ScreenOS ni dovolil razen možnosti ostranjevanja / n" nastavil poštno napako "ScreenOS ni izločil razen možnosti ostranjevanja." close}} if {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} send_user "Nalaganje konfiguracije / n" log_file $ basedir/$ logsend "get config / r "pričakujte {" $ prompt "{log_file send_user" / nKonfiguracija prenesena / n "} časovna omejitev {send_user" / nNapaka pri prenosu konfiguracije. " set mailfail "Napaka pri prenosu konfiguracije." }} closeif {$ mailfail! = ""} {exec/bin/mail -s $ mailsubject $ mailto << "$ mailfail" exit} nastavi velikost datoteke [velikost datoteke $ basedir/$ log] če je {$ filesize <= 1024} {send_user "Netscreen konfiguracija je premajhna, preiščite / n" set mailfail "Netscreen je premajhna, preiščite / n" exec /bin /mail -s $ mailsubject $ mailto << "$ mailfail" exit} #Remove config starejši od 2 tednov exe poiščite $ basedir -name '*config.txt*' -mtime +14