Schlagwort-Archive: GNU/Linux

Unixähnliche Mehrbenutzer-Betriebssysteme, die auf dem Linux-Kernel und wesentlich auf GNU-Software basieren. Wie CentOS, Debian, Ubuntu Fedora.

sudo Passwort Default Timeout verlängern

sudo Passwort Default Timeout mit visudo verlängern

Auch Systemverwalter authentifizieren sich als normale Benutzer und verwenden sudo, wenn administrative Aufgaben erledigt werden. Beim ersten Aufruf fragt sudo nach dem Passwort, danach ist sudo für einige Zeit aktiv.

Der sudo Default Passwort Timeout Wert beträgt 15 Minuten. Wenn sudo innerhalb von 15 Minuten (900 Sekunden) ein weiteres mal ausgeführt wird, bleibt die Aufforderung das Kennwort erneut einzugeben aus.

sudo timestamp timeout verlängern

Der timestamp_timeout definiert die Anzahl Minuten, die vergehen bevor sudo erneut nach dem Passwort fragen soll. Bearbeite zum Ändern des timestamp_timeout die Datei /etc/sudoers.

Ich empfehle deb Befehl visudo zu verwenden, um die Datei /etc/sudoers zu bearbeiten. Füge den Wert timestamp_timeout auf der Zeile nach „Defaults“ hinzu, in der Datei /etc/sudoers.

$ sudo su

sudoers Defaults anzeigen

Der grep Befehl zeigt die Ausgabe der betreffenden Zeilen.

$ grep Defaults /etc/sudoers

Hier ein sudoers bei Linux Mint.

sudo Passwort Default Timeout verlängern
Linux Mint: grep Defaults /etc/sudoers

Die Standardeinstellung ist „Defaults env_reset“.

$ sudo visudo 

Default Passwort Timeout verlängern

Editiere sudoers so das die Zeile Defaults folgendes zeigt:

Defaults    env_reset,timestamp_timeout=-0

timestamp_timeout=-1 (minus eins) bewirkt, dass das sudo-Passwort nie abläuft.

  Bei Debian/Ubuntu Distributionen hat die Option -0 nicht funktioniert. Ein höheren Wert zB. 60 wird akzeptiert.

timestamp_timeout=0 (null) bewirkt, dass das sudo-Kennwort alle 0 (null) Sekunden abläuft. Dies bedeutet, dass mit jedem aufruf von sudo nach dem Kennwort gefragt wird.

 

FortiGate Sniffer Output in Wireshark

Fortinet beinhaltet bei ihren FortiGate Appliance den in FortiOS mit eingebauten Packet Sniffer, zur Analyse von Paketweiterleitungen, wie etwa mit Wireshark. Bei umfangreichen Analysen mit der Anwendung von Filtern, zeigt sich die Auswertung in der Console als unkomfortabel.

In diesem Tutorial wird gezeigt, wie unter Linux ein Sniffer Packet Output direkt via Pipe von Wireshark gelesen wird. Falls Wireshark noch nicht installiert sein sollte, wird das Paket für die entsprechende Distribution wie folgt bereitgestellt.

# Fedora
$ sudo dnf -y install wireshark

# CentOS, RHEPL
$ sudo yum -y install wireshark

# Debian, Ubuntu, Linux Mint
$ sudo apt-get install wireshark

Damit Wireshark als non-root User ausführbar wird, ist bei Ubuntu folgender Befehl aus dem Terminal auszuführen.

$ sudo dpkg-reconfigure wireshark-common
sudo dpkg-reconfigure wireshark-common
dpkg-reconfigure wireshark-common

Bei der Auswahl die bei der Wireshark Reconfigartion erscheint, wird YES gewählt, bei i18n Einstellung deutsch ist es JA.

Die Red Hat Distributionen CentOS und Fedora erfordern die folgenden Befehle zur Ausführung, so auch bei Ubuntu.

$ sudo gpasswd -a $USER wireshark
$ sudo usermod -a -G wireshark $USER

Wireshark Sniffer Analyse

Um Wireshark zum Analysier einer FortiGate zu machen, wird der Output von ‚diagnose sniffer packet‘ an Wireshark weitergeleitet. Dazu den Script sdump.pl hier herunterladen und ausführbar machen.

$ chmod +x sdump.pl

Nun wird in einem Terminal eine SSH Verbindung zur Firewall aufgebaut, um den Output direkt via Pipe an Wireshark zu senden.

$ ssh -l   "diag sniffer packet any 'ip' 3 0 l" | ./sdump.pl - | text2pcap - - | wireshark -k -i -

Es wird via SSH der Sniffer auf der FortiGate gestartet, sdump.pl liest Output von STDIN, erzeugt den hexdump 16 Bytes space-delimited, text2pcap formatiert den hexdump in das PCAP Format, um dann den Output in Wireshark einzulesen und zu analysieren.

 Erscheint beim Aufruf von Wireshark folgende Ausgabe:

couldn’t run /usr/bin/dumpcap in child process: Permission Denied.

Wurde bis hier noch nicht neu eingeloggt! Ferner ist wahrscheinlich noch folgende Zuweisung erforderlich.

$ sudo chgrp wireshark /usr/bin/dumpcap
$ sudo chmod +x /usr/bin/dumpcap

 Filter werden zwischen Hochkommata eingebunden, wie folgende Beispiele zeigen.

# Filter Session Initiation Protocol (SIP)
'udp port 5060'

# Capture non-HTTP and non-SMTP traffic
'host www.example.com and not (port 80 or port 25)'

# Die Traffic zum eigenen Rechner ausfiltern.
'host 10.10.10.1 and not host 10.10.10.2'

Der Perl-Script sdump.pl kann im Terminal mit  Copy Paste der folgenden Zeilen angelegt werden, oder hier per Download bereitstellen.

cat > sdump.pl << "EOF"
#!/usr/bin/perl

use strict;
use warnings;

our $help = "
 Usage: $0 <sniffer dump file> 
 Option - (dash) read from stdin
 ex. ssh -l admin \<fortigate ip or fqdn\> \"diag sniffer packet any 'ip' 3 0 l\" | $0 - | text2pcap - - | wireshark -k -i -
\n";

our $sdump;
our ($input) = $ARGV[0];

if (not defined $input) {
  die "$help\n";
}

if ( -e $input ) {
        open  ($sdump, qq(\x3C), $input);
} elsif ( $input =~ /^-$/ ) {
        $sdump = *STDIN;
} else {
        die "\nError in open dump $input may not exist or unable to read!\n $help";
}

while (<$sdump>) {
        if ( /^\d+-\d+-\d+\s+\d+:\d+:\d+\.\d+/ ) {
                our ($date, $time) = /^(\d+-\d+-\d+)\s+(\d+:\d+:\d+\.\d+)\s+/;
                print $date . qq(\x20) . $time . "\n";
        } elsif ( /^$/ ) {
                print;
        } elsif ( /^0x/ ) {
                s/0x/00/;
                s/^(\w+)\s+(.*)\t(.*)/$1 $2/;
                our ($hex, $x1, $x2, $x3, $x4, $x5, $x6, $x7, $x8, $null) = split ' ';
                print $hex . '  ';
                foreach our $out ( $x1, $x2, $x3, $x4, $x5, $x6, $x7, $x8 ) {
                        if ( $out ) {
                                substr $out, 2, 0, qq(\x20);
                                print $out . qq(\x20);
                        }
                }
                print "\n";
        }
}
EOF

Die Script Datei sdump.pl verschiebt man nun nach /usr/bin als sdump, und wird ausführbar gemacht.

$ sudo mv sdump.pl /usr/bin/sdump
$ sudo chmod 755 /usr/bin/sdump

Jetzt kann das CLI command diag sniffer packet über SSH Authentifizierung auf der FortiGate ausgeführt werden, um anschlissend via Pipe den Output in Wireshark zu analysieren.

$ ssh -l admin 10.10.10.1 "diag sniffer packet any 'not host 10.10.10.2' 3 0 l" | sdump - | text2pcap - - | wireshark -k -i -
Input from: Standard input
Output to: Standard output
Output format: pcap
admin@10.10.10.1's password:

  Bei Umgebungen mit erhöhter Netzwerk Traffic ist zu berücksichtigen, das eine Reduzierung durch Mitschnittfilter erreicht werden sollte.

Eine weitere Anwendung besteht darin, den PCAP Output in eine Dump Datei zu speichern, mit der Möglichkeit, die Analyse später mit Wireshark oder anderen Protocol Analyzer vornehmen zu können. Hierbei kommt folgende Zeile zur Anwendung.

$ ssh -l admin 10.10.10.1 "diag sniffer packet any 'not host 10.10.10.2' 3 0 l" | sdump - | text2pcap - - > sniffer.dump