Inhaltsverzeichnis:

So sichern Sie eine Netscreen-Firewall: 8 Schritte
So sichern Sie eine Netscreen-Firewall: 8 Schritte

Video: So sichern Sie eine Netscreen-Firewall: 8 Schritte

Video: So sichern Sie eine Netscreen-Firewall: 8 Schritte
Video: Heim Netzwerk absichern (Router Kaskade) - FritzBox einrichten, Werkseinstellungen laden, Tipps |4K 2024, November
Anonim

Von joeFollow Mehr vom Autor:

Intel Edison Garagenmonitor und Warnsystem
Intel Edison Garagenmonitor und Warnsystem
Intel Edison Garagenmonitor und Warnsystem
Intel Edison Garagenmonitor und Warnsystem
Intel Edison Fat Bike Reifenanalysegerät
Intel Edison Fat Bike Reifenanalysegerät
Intel Edison Fat Bike Reifenanalysegerät
Intel Edison Fat Bike Reifenanalysegerät
Intel Galileo Garagenmonitor
Intel Galileo Garagenmonitor
Intel Galileo Garagenmonitor
Intel Galileo Garagenmonitor

Über: Ich bastle gerne an so ziemlich allem herum, manchmal klappt es am Ende. Viel Spaß beim Anschauen der Projekte, versuche etwas aufzureißen und lass mich wissen, wie es läuft. Prost, -Joe Mehr über Joe »

Dieses anweisbare zeigt ein Skript, das verwendet werden kann, um Backups einer Netscreen-Firewall mit ScreenOS zu automatisieren.

Schritt 1: Anforderungen

Anforderungen
Anforderungen

Dieses Skript ist in Expect geschrieben und geht davon aus, dass Sie SSH auf Ihrem Netscreen und einer Linux-Umgebung aktiviert haben. Wenn Sie noch nie auschecken müssen, hat Oreilly ein großartiges Buch "Exploring Expect"

Schritt 2: Variablen

Variablen
Variablen

Wir beginnen mit dem Festlegen einiger Variablen. Sie sollten die Port-/Benutzername-/Passwort-/Netscreen-/Prompt-Variablen so einstellen, dass sie Ihrer Umgebung entsprechen. #!/usr/bin/expect#Erwarte Skript zum Sichern der Konfiguration der Netscreen-Firewalls#Joe #Setze ein Varsset-Timeout 60set user "root"set password "password"set port "2022"set 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 "Error: netscreen Backup fehlgeschlagen [timestamp -format %Y-%m-%d] "set mailfail ""set prompt "foo->"

Schritt 3: Verbinden

Verbinden
Verbinden

Als nächstes werden wir im Skript versuchen zu verbinden.send_user "NetScren Backup Script\n"send_user "Connecting to $netscreen\n"spawn ssh $user@$netscreen -p$port Expect { "password:" { send "$password\ r" Expect { "$prompt" { send_user "Verbunden" } "Berechtigung verweigert" { send_user "Ungültiges Passwort, wird beendet" set mailfail "Ungültiges Passwort, wird beendet" close } timeout { send_user "Keine Eingabeaufforderung zurückgegeben" set mailfail "Keine Eingabeaufforderung zurückgegeben " close } } } "Keine Route zum Host" { send_user "Keine Verbindung zu $netscreen\n möglich" set mailfail "Keine Verbindung zu $netscreen\n" } "Name oder Dienst nicht bekannt" { send_user "Keine Verbindung zu $netscreen\n" set mailfail "Verbindung zu $netscreen nicht möglich\n" } timeout{ send_user "Zeitüberschreitung bei Verbindung zu $netscreen" set mailfail "Zeitüberschreitung bei Verbindung zu $netscreen" close } }if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

Schritt 4: Paging deaktivieren

Paging deaktivieren
Paging deaktivieren

Sie müssen das Paging deaktivieren - oder die Aufforderung auf dem Netscreen. #Disable the "more" promptsendsend "set console page 0\r"expect { "$prompt" { send_user "\nPaging Disabled\n" } default { send "ScreenOS hat die Paging-Option nicht ausgenommen.\n" set mailfail "ScreenOS hat nicht außer Paging-Option." close } timeout { send_user "ScreenOS hat die Paging-Option nicht akzeptiert\n" set mailfail "ScreenOS hat die Paging-Option nicht akzeptiert." close }}if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

Schritt 5: Konfiguration abrufen

Konfiguration abrufen
Konfiguration abrufen

Wir erhalten jetzt die config. send_user "Konfiguration wird heruntergeladen\n"log_file $basedir/$logsend "get config\r"expect { "$prompt" { log_file send_user "\nKonfiguration heruntergeladen\n" } timeout { send_user "\nFehler beim Download der Konfiguration." set mailfail "Fehler beim Konfigurationsdownload." }}closeif { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

Schritt 6: Überprüfen Sie, ob die Konfiguration die richtige Größe hat

Überprüfen Sie, ob die Konfiguration die richtige Größe hat
Überprüfen Sie, ob die Konfiguration die richtige Größe hat

Wir werden überprüfen, ob die Konfiguration mindestens 1k beträgt. Netscreen-Konfiguration ist zu klein, bitte untersuchen\n" exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}

Schritt 7: Aufräumen

Aufräumen
Aufräumen

Lassen Sie uns eine kleine Bereinigung durchführen, um Konfigurationen zu entfernen, die älter als zwei Wochen sind. #Konfiguration entfernen, die älter als 2 Wochen istexec find $basedir -name '*config.txt*' -mtime +14

Schritt 8: Alle zusammen

Setzen Sie jetzt alles zusammen. Es ist als Textdatei angehängt. Es sendet E-Mails bei Fehlern. #!/usr/bin/expect#Erwarte Skript zum Backup der Konfiguration der Netscreen-Firewalls#Joe#Setze ein Varsset-Timeout 60set user "root"set password "password"set port "2022"set 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 "Error: netscreen Backup fehlgeschlagen [timestamp -format %Y-%m-%d] "set mailfail ""prompt setzen "foo-> "send_user "NetScren Backup Script\n"send_user "Verbindung mit $netscreen\n"spawn ssh $user@$ netscreen -p$port Expect { "password:" { send "$password\r" Expect { "$prompt" { send_user "Connected" } "Permission denied" { send_user "Ungültiges Passwort, wird beendet" set mailfail "Ungültiges Passwort, wird beendet " close } timeout { send_user "Keine Eingabeaufforderung zurückgegeben" set mailfail "Keine Eingabeaufforderung zurückgegeben" close } } } "Keine Route zum Host" { send_user "Verbindung zu $netscreen nicht möglich\n" set mailfail "Verbindung zu $netscreen nicht möglich\ n" } "Name oder Dienst nicht bekannt" { send_user "Verbindung zu $netscreen nicht möglich\n" s et mailfail "Verbindung zu $netscreen nicht möglich\n" } timeout{ send_user "Zeitüberschreitung bei Verbindung zu $netscreen" set mailfail "Zeitüberschreitung bei Verbindung zu $netscreen" close } }if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}#Jetzt, wo das vorbei ist, fahren Sie fort#Deaktivieren Sie die "more" Promptsend "set console page 0\r"expect { "$prompt" { send_user "\nPaging Disabled\ n" } default { send "ScreenOS hat die Paging-Option nicht ausgenommen.\n" set mailfail "ScreenOS hat die Paging-Option nicht ausgenommen." close } timeout { send_user "ScreenOS hat die Paging-Option nicht akzeptiert\n" set mailfail "ScreenOS hat die Paging-Option nicht akzeptiert." close }}if { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}send_user "Konfiguration wird heruntergeladen\n"log_file $basedir/$logsend "get config\r "expect { "$prompt" { log_file send_user "\nKonfiguration heruntergeladen\n" } timeout { send_user "\nFehler beim Download der Konfiguration." set mailfail "Fehler beim Konfigurationsdownload." }}closeif { $mailfail != "" } { exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}set filesize [Dateigröße $basedir/$log]if { $filesize <= 1024 } { send_user "Netscreen-Konfiguration ist zu klein, bitte untersuchen\n" set mailfail "Netscreen-Konfiguration ist zu klein, bitte untersuchen\n" exec /bin/mail -s$mailsubject $mailto << "$mailfail" exit}#Konfiguration entfernen älter als 2 Wochenexec find $basedir -name '*config.txt*' -mtime +14

Empfohlen: