SSH_SCAN - Verifica sua configuração e política do SSH Server no Linux

SSH_SCAN - Verifica sua configuração e política do SSH Server no Linux

ssh_scan é um protótipo de fáceis de usar o scanner de configuração e políticas SSH para servidores Linux e Unix, inspirado no Mozilla OpenSsh Security Guide, que fornece uma recomendação de política de linha de base razoável para parâmetros de configuração SSH, como cifras, Macs e Kexalgos e muito mais.

Tem alguns dos seguintes benefícios:

  • Possui dependências mínimas, o SSH_SCAN emprega apenas Ruby e Bindata nativos para fazer seu trabalho, sem dependências pesadas.
  • É portátil, você pode usar o ssh_scan em outro projeto ou para automação de tarefas.
  • É fácil de usar, basta apontar para um serviço SSH e obter um relatório JSON do que ele suporta e seu status de política.
  • Também é configurável, você pode criar suas próprias políticas personalizadas que atendam aos seus requisitos de política específicos.

Leia sugerida: Como instalar e configurar o servidor OpenSsh no Linux

Como instalar SSH_Scan no Linux

Existem três maneiras de instalar ssh_scan e eles são:

Para instalar e executar como uma jóia, digite:

----------- No Debian/Ubuntu ----------- $ sudo apt-get install ruby ​​gem $ sudo gem install ssh_scan ----------- No CentOS/Rhel ----------- # yum instalar rubygem # gem install ssh_scan 

Para correr de um recipiente do docker, digite:

# Docker Pull Mozilla/SSH_SCAN # Docker Run -it Mozilla/SSH_SCAN/APP/BIN/SSH_SCAN -T GitHub.com 

Para instalar e executar da fonte, digite:

# clone git https: // github.com/mozilla/ssh_scan.git # cd ssh_scan # gpg2 --keyServer hkp: // chaves.gnupg.NET - -RECV -KEYS 409B6B1796C275462A1703113804BB82D39DC0E3 # CURL -SSL https: // Get.rvm.io | Bash -s estável # rvm install 2.3.1 # RVM Use 2.3.1 # gem Install Bundler # pacote de instalação # ./bin/ssh_scan 

Como usar o SSH_SCAN no Linux

A sintaxe para usar SSH_SCAN é a seguinte:

$ ssh_scan -t ip -address $ ssh_scan -t server -hostname 

Por exemplo, para digitalizar configurações SSH e política de servidor 92.168.43.198, digitar:

$ ssh_scan -t 192.168.43.198 

Nota você também pode passar um [IP/Range/HostName] para o -t opção como mostrado nas opções abaixo:

$ ssh_scan -t 192.168.43.198.200.205 $ ssh_scan -t teste.Tecmint.LAN 
Saída de amostra
I, [2017-05-09T10: 36: 17.913644 #7145] Informações -: Você está usando a versão mais recente do 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 protegido], "aes128-ctr", "AES192-CTR", "AES256-CTR", "[email protegido]" "," [email protegido] "]," Encryption_algorithms_server_to_client ": [" [email protegido] "," AES128-CTR "," AES192-CTR "," AES256-CTR "," [email protegido], "protegido em email]" " ], "mac_algorithms_client_to_server": ["[email protegido]", "[email protegido]", "[email protegido]", "[email protegido]", "[email protegido]", "[email protegido]", " [email protegido] "," hmac-sha2-256 "," hmac-sha2-512 "," hmac-sha1 "],"mac_algorithms_server_to_client": ["[email protegido]", "[email protegido]", "[email protegido]", "[email protegido]", "[email protegido]", "[email protegido]", "[email protegido] "," hmac-sha2-256 "," hmac-sha2-512 "," hmac-sha1 "]," compression_algorithms_client_to_server ": [" nenhum "," [email protegido]], "compressivo_algorithms_server_to_client": [": nenhum "," [email protegido] "]," linguagens_client_to_server ": []," linguagens_server_to_client ": []," hostname ":" tecmint "," auth_methods ": [" publicKey "," senha "]," fingerprints ", : "rsa": "conhecida_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", "Compatiant": False, "Recomendações": ["Remova esses algos de troca-chave: Diffie-Hellman-Group14-Sha1", "Remova estes algos Mac: [email protegido], [email protegido], [email protegido], hmac-sha1", "remova estes métodos de autenticação: senha"], "referências": ["https: // wiki.Mozilla.org/segurança/diretrizes/openssh "]] 

Você pode usar -p Para especificar uma porta diferente, -eu Para ativar o madeireiro e -V Para definir o nível de verbosidade, como mostrado abaixo:

$ ssh_scan -t 192.168.43.198 -P 22222 -L SSH -SCAN.LOG -V INFO 

Além disso, use um arquivo de política personalizado (o padrão é Mozilla moderno) com o -P ou --Política [arquivo] igual a:

$ ssh_scan -t 192.168.43.198 -l ssh -scan.Log -v info -p/path/to/personaliza/policy/arquivo 

Digite isso para visualizar todas as opções de uso do SSH_SCAN e mais exemplos:

$ ssh_scan -h 
Saída de amostra
ssh_scan v0.0.17 (https: // github.com/mozilla/ssh_scan) Uso: ssh_scan [options] -t, - -Target [ip/range/hostname] ip/ranges/hostname para scan -f, --File [filepath] caminho do arquivo do arquivo contendo IP/intervalo /HostNames para scan -t, - -timeout [segundos] Tempo limite por conexão após o que SSH_SCAN desiste do host -l, - -Logger [Caminho do arquivo de log] Enable Logger -o, - -from_json [filepath] Arquivo para ler JSON Saída do arquivo -o, - -output [filepath] para gravar a saída JSON para -p, --port [porta] porta (padrão: 22) -p, - -policy [arquivo] arquivo de política personalizado (padrão: mozilla modern) --Threads [número] Número de threads de trabalhadores (padrão: 5)-Fingerprint-db [arquivo] Localização do arquivo de impressão digital (padrão: ./impressões digitais.db) - -suprim -update status não verifica as atualizações -u, --unit -test [arquivo] lançar códigos de saída apropriados com base no status da conformidade -v [std_logging_level], --verbosidade -v, -Exibição Versão info -h, --help Mostrar esta mensagem Exemplos: ssh_scan -t 192.168.1.1 servidor ssh_scan -t.exemplo.com ssh_scan -t :: 1 ssh_scan -t :: 1 -t 5 ssh_scan -f hosts.saída txt ssh_scan -o.JSON SSH_SCAN -O SAÍDA.JSON -O Rescan_Output.json ssh_scan -t 192.168.1.1 -P 22222 SSH_SCAN -T 192.168.1.1 -P 22222 -l Saída.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 

Confira algumas artilhas úteis no SSH Server:

  1. Login sem senha do SSH usando o SSH Keygen em 5 etapas fáceis
  2. 5 práticas recomendadas para proteger o servidor SSH
  3. Restrinja o acesso ao usuário do SSH a um determinado diretório usando a prisão de chrootas
  4. Como configurar conexões SSH personalizadas para simplificar o acesso remoto

Para mais detalhes, visite ssh_scan github repositório: https: // github.com/mozilla/ssh_scan

Neste artigo, mostramos como configurar e usar ssh_scan no Linux. Você conhece alguma ferramenta semelhante por aí? Informe -nos através do formulário de feedback abaixo, incluindo outros pensamentos sobre este guia.