Heim > System-Tutorial > LINUX > So überprüfen Sie die Konfiguration und Richtlinie des SSH-Dienstes aus der Ferne über ssh_scan

So überprüfen Sie die Konfiguration und Richtlinie des SSH-Dienstes aus der Ferne über ssh_scan

PHPz
Freigeben: 2024-01-05 23:12:15
nach vorne
648 Leute haben es durchsucht
Einführung ssh_scan ist ein benutzerfreundliches SSH-Dienstparameter-Konfigurations- und Richtlinienscannerprogramm für Linux- und UNIX-Server. Die Ideen stammen aus dem Mozilla OpenSSH-Sicherheitshandbuch. wie Verschlüsselungsalgorithmen (Ciphers), Message Authentication Information Code-Algorithmen (MAC), Schlüsselaustauschalgorithmen (KexAlgos) und andere.

So überprüfen Sie die Konfiguration und Richtlinie des SSH-Dienstes aus der Ferne über ssh_scan

ssh_scan hat folgende Vorteile:

  • Seine Abhängigkeiten sind minimiert, ssh_scan führt nur lokales Ruby und BinData ein, um seine Arbeit zu erledigen, ohne zu viele Abhängigkeiten.
  • Es ist portabel, Sie können ssh_scan in anderen Projekten verwenden oder für automatisierte Aufgaben verwenden.
  • Es ist einfach zu verwenden: Richten Sie es einfach auf einen SSH-Dienst und erhalten Sie einen JSON-formatierten Bericht über die vom Dienst unterstützten Optionen und den Richtlinienstatus.
  • Es ist außerdem einfach zu konfigurieren, sodass Sie eine Strategie erstellen können, die Ihren strategischen Anforderungen entspricht.

Empfohlene Lektüre: So installieren und konfigurieren Sie den OpenSSH-Dienst unter Linux

So installieren Sie ssh_scan unter Linux

Es gibt drei Möglichkeiten, ssh_scan zu installieren:

Verwenden Sie Ruby Gem zum Installieren und Ausführen wie folgt:

----------- 在 Debian/Ubuntu ----------- 
$ sudo apt-get install ruby gem
$ sudo gem install ssh_scan
----------- 在 CentOS/RHEL ----------- 
# yum install ruby rubygem
# gem install ssh_scan
Nach dem Login kopieren

Verwenden Sie zum Ausführen den Docker-Container wie folgt:

# docker pull mozilla/ssh_scan
# docker run -it mozilla/ssh_scan /app/bin/ssh_scan -t github.com
Nach dem Login kopieren

Verwenden Sie den Quellcode zum Installieren und Ausführen wie folgt:

# git clone https://github.com/mozilla/ssh_scan.git
# cd ssh_scan
# gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
# curl -sSL https://get.rvm.io | bash -s stable
# rvm install 2.3.1
# rvm use 2.3.1
# gem install bundler
# bundle install
# ./bin/ssh_scan
Nach dem Login kopieren
So verwenden Sie ssh_scan unter Linux

Die Syntax für die Verwendung von ssh_scan lautet wie folgt:

$ ssh_scan -t ip地址
$ ssh_scan -t 主机名
Nach dem Login kopieren

Um beispielsweise die SSH-Konfiguration und -Richtlinie von 192.168.43.198 zu scannen, geben Sie Folgendes ein:

$ ssh_scan -t 192.168.43.198
Nach dem Login kopieren

Beachten Sie, dass Sie auch eine [IP-Adresse/Adressbereich/Hostname] an die Option -t übergeben können, wie unten gezeigt:

$ ssh_scan -t 192.168.43.198,200,205
$ ssh_scan -t test.tecmint.lan
Nach dem Login kopieren

Ausgabebeispiel:

I, [2017-05-09T10:36:17.913644 #7145]  INFO -- : You're using the latest version of ssh_scan 0.0.19
[
  {
    "ssh_scan_version": "0.0.19",
    "ip": "192.168.43.198",
    "port": 22,
    "server_banner": "SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.1",
    "ssh_version": 2.0,
    "os": "ubuntu",
    "os_cpe": "o:canonical:ubuntu:16.04",
    "ssh_lib": "openssh",
    "ssh_lib_cpe": "a:openssh:openssh:7.2p2",
    "cookie": "68b17bcca652eeaf153ed18877770a38",
    "key_algorithms": [
      "[email protected]",
      "ecdh-sha2-nistp256",
      "ecdh-sha2-nistp384",
      "ecdh-sha2-nistp521",
      "diffie-hellman-group-exchange-sha256",
      "diffie-hellman-group14-sha1"
    ],
    "server_host_key_algorithms": [
      "ssh-rsa",
      "rsa-sha2-512",
      "rsa-sha2-256",
      "ecdsa-sha2-nistp256",
      "ssh-ed25519"
    ],
    "encryption_algorithms_client_to_server": [
      "[email protected]",
      "aes128-ctr",
      "aes192-ctr",
      "aes256-ctr",
      "[email protected]",
      "[email protected]"
    ],
    "encryption_algorithms_server_to_client": [
      "[email protected]",
      "aes128-ctr",
      "aes192-ctr",
      "aes256-ctr",
      "[email protected]",
      "[email protected]"
    ],
    "mac_algorithms_client_to_server": [
      "[email protected]",
      "[email protected]",
      "[email protected]",
      "[email protected]",
      "[email protected]",
      "[email protected]",
      "[email protected]",
      "hmac-sha2-256",
      "hmac-sha2-512",
      "hmac-sha1"
    ],
    "mac_algorithms_server_to_client": [
      "[email protected]",
      "[email protected]",
      "[email protected]",
      "[email protected]",
      "[email protected]",
      "[email protected]",
      "[email protected]",
      "hmac-sha2-256",
      "hmac-sha2-512",
      "hmac-sha1"
    ],
    "compression_algorithms_client_to_server": [
      "none",
      "[email protected]"
    ],
    "compression_algorithms_server_to_client": [
      "none",
      "[email protected]"
    ],
    "languages_client_to_server": [
    ],
    "languages_server_to_client": [
    ],
    "hostname": "tecmint",
    "auth_methods": [
      "publickey",
      "password"
    ],
    "fingerprints": {
      "rsa": {
        "known_bad": "false",
        "md5": "0e:d0:d7:11:f0:9b:f8:33:9c:ab:26:77:e5:66:9e:f4",
        "sha1": "fc:8d:d5:a1:bf:52:48:a6:7e:f9:a6:2f:af:ca:e2:f0:3a:9a:b7:fa",
        "sha256": "ff:00:b4:a4:40:05:19:27:7c:33:aa:db:a6:96:32:88:8e:bf:05:a1:81:c0:a4:a8:16:01:01:0b:20:37:81:11"
      }
    },
    "start_time": "2017-05-09 10:36:17 +0300",
    "end_time": "2017-05-09 10:36:18 +0300",
    "scan_duration_seconds": 0.221573169,
    "duplicate_host_key_ips": [
    ],
    "compliance": {
      "policy": "Mozilla Modern",
      "compliant": false,
      "recommendations": [
        "Remove these Key Exchange Algos: diffie-hellman-group14-sha1",
        "Remove these MAC Algos: [email protected], [email protected], [email protected], hmac-sha1",
        "Remove these Authentication Methods: password"
      ],
      "references": [
        "https://wiki.mozilla.org/Security/Guidelines/OpenSSH"
      ]
    }
  }
]
Nach dem Login kopieren

Sie können die Option -p verwenden, um verschiedene Ports anzugeben, die Option -L, um die Protokollierung zu aktivieren, und die Option -V, um die Protokollebene anzugeben:

$ ssh_scan -t 192.168.43.198 -p 22222 -L ssh-scan.log -V INFO
Nach dem Login kopieren

Alternativ kann eine Richtliniendatei mit der Option -P oder --policy angegeben werden (Standard ist Mozilla Modern):

$ ssh_scan -t 192.168.43.198 -L ssh-scan.log -V INFO -P /path/to/custom/policy/file
Nach dem Login kopieren

Hilfe zur Verwendung von ssh_scan und andere Beispiele:

$ ssh_scan -h
Nach dem Login kopieren

Ausgabebeispiel:

ssh_scan v0.0.17 (https://github.com/mozilla/ssh_scan)
Usage: ssh_scan [options]
-t, --target [IP/Range/Hostname] IP/Ranges/Hostname to scan
-f, --file [FilePath]            File Path of the file containing IP/Range/Hostnames to scan
-T, --timeout [seconds]          Timeout per connect after which ssh_scan gives up on the host
-L, --logger [Log File Path]     Enable logger
-O, --from_json [FilePath]       File to read JSON output from
-o, --output [FilePath]          File to write JSON output to
-p, --port [PORT]                Port (Default: 22)
-P, --policy [FILE]              Custom policy file (Default: Mozilla Modern)
--threads [NUMBER]           Number of worker threads (Default: 5)
--fingerprint-db [FILE]      File location of fingerprint database (Default: ./fingerprints.db)
--suppress-update-status     Do not check for updates
-u, --unit-test [FILE]           Throw appropriate exit codes based on compliance status
-V [STD_LOGGING_LEVEL],
--verbosity
-v, --version                    Display just version info
-h, --help                       Show this message
Examples:
ssh_scan -t 192.168.1.1
ssh_scan -t server.example.com
ssh_scan -t ::1
ssh_scan -t ::1 -T 5
ssh_scan -f hosts.txt
ssh_scan -o output.json
ssh_scan -O output.json -o rescan_output.json
ssh_scan -t 192.168.1.1 -p 22222
ssh_scan -t 192.168.1.1 -p 22222 -L output.log -V INFO
ssh_scan -t 192.168.1.1 -P custom_policy.yml
ssh_scan -t 192.168.1.1 --unit-test -P custom_policy.yml
Nach dem Login kopieren

SSH-Server-bezogene Referenzlektüre:

  1. Verwenden Sie SSH Keygen (ssh-keygen) in fünf Schritten, um eine passwortfreie SSH-Anmeldung zu erreichen
  2. 5 Best Practices für einen sicheren SSH-Server
  3. Verwenden Sie Chroot, um SSH-Benutzern den Zugriff auf bestimmte Verzeichnisse zu verwehren
  4. So konfigurieren Sie eine SSH-Verbindung, um die Remote-Anmeldung zu vereinfachen

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie die Konfiguration und Richtlinie des SSH-Dienstes aus der Ferne über ssh_scan. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:linuxprobe.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage