GNU/Linux >> Linux Esercitazione >  >> Linux

Impedisci a SSH di pubblicizzare il proprio numero di versione

Soluzione 1:

Sebbene sia proibitivamente difficile nascondere il numero di versione del tuo demone SSH, puoi facilmente nascondere la versione di Linux (Debian-3ubuntu4)

Aggiungi la riga seguente a /etc/ssh/sshd_config

DebianBanner no

E riavvia il tuo demone SSH:/etc/init.d/ssh restart o service ssh restart

Soluzione 2:

Nascondere quelli non proteggerà il tuo server. Ci sono molti altri modi per rilevare ciò che il tuo sistema sta eseguendo. Per SSH in particolare, l'annuncio della versione fa parte del protocollo ed è obbligatorio.

http://www.snailbook.com/faq/version-string.auto.html

Soluzione 3:

Quasi universalmente, i banner identificativi fanno parte del codice compilato e non hanno opzioni di configurazione per alterarli o sopprimerli. Dovrai ricompilare quei pezzi di software.

Soluzione 4:

Sono abbastanza sicuro che non puoi cambiare l'annuncio della versione.

I modi migliori per proteggere sshd sono:

  1. Modifica il numero di porta predefinito.
  2. Vieta accessi root.
  3. Forza il protocollo 2 (supponendo che non sia eseguito per impostazione predefinita).
  4. Autorizza i server a cui è consentito l'accesso tramite SSH.

I primi tre possono essere eseguiti modificando /etc/sshd_config

Il quarto dipende dal software firewall che stai utilizzando.

Soluzione 5:

Come detto sopra, cambiare un numero di versione è

  1. Difficile da fare
  2. Sicurezza attraverso l'oscurità
  3. Non flessibile

Quello che suggerisco è implementare il Port Knocking. È una tecnica abbastanza semplice per nascondere tutto ciò che è in esecuzione sul tuo server.

Ecco una buona implementazione:http://www.zeroflux.org/projects/knock

Ecco come l'ho implementato sui miei server (altri numeri) per aprire SSH solo alle persone che conoscono "il bussare segreto":

[openSSH]
    sequence = 300,4000,32
    seq_timeout = 5
    command = /opencloseport.sh %IP% 2305
    tcpflags = syn

Questo darà una finestra di 5 secondi in cui i 3 pacchetti SYN devono essere ricevuti nel giusto ordine. Scegli porte distanti tra loro e non sequenziali. In questo modo, un portscanner non può aprire la porta per sbaglio. Queste porte non devono essere aperte da iptables.

Lo script che chiamo è questo. Apre una porta particolare per 5 secondi per l'IP che invia i pacchetti SYN.

#!/bin/bash
/sbin/iptables -I INPUT -s $1 -p tcp --dport $2  -j ACCEPT
sleep 5
/sbin/iptables -D INPUT -s $1 -p tcp --dport $2  -j ACCEPT

Può essere una vera seccatura inviare i pacchetti SYN, quindi utilizzo lo script per connettermi all'SSH dei miei server:

#!/bin/bash
knock $1 $2
knock $1 $3
knock $1 $4
ssh [email protected]$1 -p $6

(È abbastanza ovvio cosa sta succedendo qui...)

Una volta stabilita la connessione, la porta può essere chiusa. Suggerimento:utilizzare l'autenticazione tramite chiave. Altrimenti devi essere molto veloce per digitare la tua password.


Linux
  1. Impedisci che l'attività Linux attualmente in esecuzione venga terminata dopo la disconnessione da SSH

  2. Come impedire a un processo di scrivere file

  3. Quale versione di RHEL sto usando?

  4. Come impedire a un utente di accedere, ma consentire a su - user in Linux?

  5. Inoltra SSH attraverso il tunnel SSH

Come prevenire il timeout di SSH

Ubuntu:come impedire a Firefox di aggiornarsi alla versione 57 su Ubuntu 16.04?

Come impedire la disconnessione delle connessioni SSH a causa dell'inattività quando si utilizza MobaXterm

Come impedire a SSH di disconnettersi se è rimasto inattivo per un po'

SSH - Come includere il comando -t nel file ~/.ssh/config

Come installo 2 diverse versioni di Java sulla stessa macchina da EPEL