Limita l'accesso ssh per un utente specifico in base all'indirizzo IP

Aug 20 2020

Come posso limitare l' sshaccesso per un utente specifico da un solo indirizzo IP?

Ho un utente denominato foonel server con ad es. Indirizzo IP 127.0.0.5(il mio primo server) e ho lasciato il suo login sshsolo tramite chiave pubblica. Voglio solo concedere l'accesso all'accesso a questo utente da un IP specifico (che è il mio altro server), ad esempio IP 127.0.0.6.

Come è possibile?

Risposte

2 GiacomoCatenazzi Aug 20 2020 at 20:50

Puoi cambiare la configurazione di sshd, in /etc/ssh/sshd_config:

AllowUsers [email protected] [email protected] ....

Puoi anche selezionare che alcuni utenti possano utilizzare solo alcuni metodi di autenticazione:

Match User my_login
AuthenticationMethods publickey

Ma attenzione su entrambi i punti: dovresti avere il controllo fisico o essere molto attento prima di modificare qualsiasi impostazione. E ti consiglio anche di guardare la pagina di manuale per le opzioni AllowUsersans AuthenticationMethods, al fine di comprendere meglio le implicazioni, ed eventualmente anche le opzioni ei metodi di cui hai bisogno.

dirdi Aug 20 2020 at 20:27

È possibile configurare un firewall e consentire solo a un determinato IP di connettersi alla porta 22:

/etc/nftables.conf

#!/usr/sbin/nft -f

flush ruleset

table inet firewall {

    chain inbound {
        # By default, drop all traffic unless it meets a filter
        # criteria specified by the rules that follow below.
        type filter hook input priority 0; policy drop;

        # Allow traffic from established and related packets.
        ct state established,related accept

        # Drop invalid packets.
        ct state invalid drop

        # Allow loopback traffic.
        iifname lo accept

        # Allow all ICMP and IGMP traffic, but enforce a rate limit
        # to help prevent some types of flood attacks.
        ip protocol icmp limit rate 4/second accept
        ip6 nexthdr ipv6-icmp limit rate 4/second accept
        ip protocol igmp limit rate 4/second accept

        # Allow SSH on port 22 but only from 127.0.0.6
        ip saddr 127.0.0.6 tcp dport 22 accept
    }

    chain forward {
        # Drop everything (assumes this device is not a router)
        type filter hook forward priority 0; policy drop;
    }

    chain outbound {
        # Allow all outbound traffic
        type filter hook output priority 0; policy accept;
    }
}