Mentre può essere bello poter accedere al tuo sistema da posizioni arbitrarie su Internet, ci sono sistemi automatici di attacco password che si bloccheranno su una porta ssh aperta e applicheranno vari account joe e attacchi al dizionario contro il tuo sistema. Questo può essere aggravante da leggere nel riepilogo del registro notturno ed è uno spreco della larghezza di banda.
Se si dispone di un server Web sullo stesso sistema, è possibile utilizzare wrapper php e tcp per limitare il traffico in entrata ssh a sistemi noti, oltre a fornire una chiave back-door per consentire l'accesso da sistemi arbitrari su Internet.
Ecco come lo fai:
negare tutte le connessioni ssh in /etc/hosts.deny:
# /etc/hosts.deny fragment
sshd: all
Consenti sistemi noti tramite IP in /etc/hosts.allow, oltre ad aggiungere un file per l'accesso temporaneo:
# /etc/hosts.allow fragment
sshd: 10.0.10.2 # some system
sshd: 172.99.99.99 # some other system
sshd: /etc/hosts.allow.temporary-sshd-access
Crea un file php nel tuo server web e assegnagli un nome non ovvio come my-sshd-access.php:
<?php
function get_ip()
{
return getenv("REMOTE_ADDR");
}
?>
<?php
$out='/etc/hosts.allow.temporary-sshd-access';
$log='/var/log/sshd-access-addition-log';
print "Was:";
readfile($out);
print "<br>";
$ip=get_ip();
$fp=fopen($out,"w");
fputs($fp,$ip);
fclose($fp);
$lfp=fopen($log,"a");
fputs($lfp,$ip);
fputs($lfp,"n");
fclose($lfp);
print "Wrote: ";
readfile($out);
?>
Perdonate il codice php - l'ho fatto scorrere da qualche altra parte, quindi probabilmente potrebbe sopportare di essere ripulito un sacco. Tutto ciò che fa è aggiungere l'indirizzo IP del sistema accedendo al file /etc/hosts.allow.temporary-sshd-access, che viene letto da sshd (a causa della sua inclusione da /etc/hosts.allow) al momento della connessione .
Ora, quando ti trovi in un sistema arbitrario sul web e vuoi usare ssh su questo sistema, usa prima un browser web e premi questo file (o usa wget o equivalenti):
$ wget http://your.system.name/my-sshd-access.php
Ora dovresti essere in grado di accedere al tuo sistema. Se questo è un posto in cui verrai spesso inviato, sarebbe banale leggere il contenuto del file /etc/hosts.allow.temporary-sshd-access e aggiungere in modo permanente l'indirizzo IP a / etc / hosts. permettere.