GNU/Linux >> Znalost Linux >  >> Linux

Omezte přístup SSH podle IP adresy

Tento článek popisuje, jak zabezpečit přístup SSH k vašemu serveru provedením následujících akcí:

  • Zabránit pokusům o přihlášení pro konkrétní IP adresy v povolené konfiguraci
  • Povolit přístup pro konkrétní IP adresy v restriktivní konfiguraci

Povolená konfigurace

Povolená konfigurace umožňuje přístup všem kromě odepřené IP adresy. Přístup ke specifickým IP adresám můžete odepřít následujícími způsoby:

Obálky TCP

Tuto konfiguraci proveďte v souboru /etc/hosts.deny přidáním následujícího pravidla:

# vi /etc/host.deny

Nastavte pravidlo odmítnutí jedním z následujících způsobů:

sshd: Bad_IP_address
sshd: 192.168.0.8

sshd: Bad_Segment/CIDR
sshd: 192.168.0.0/24

sshd: Bad_IP_address, Bad_IP_address
sshd: 192.168.0.3, 192.168.0.4

iptables

Tato konfigurace se nachází v konfiguraci pravidel brány firewall OS.

# iptables -A INPUT -s "BAD_IP" -p tcp --dport SSH_Port -j DROP

Blokovat IP adresu :

# iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j DROP

Blokovat segment :

# iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j DROP

Omezující konfigurace

Tato konfigurace umožňuje přístup pouze ke konkrétním IP adresám a snižuje další příchozí provoz.

Obálky TCP

Nejprve zakažte veškerý provoz přicházející do SSH v /etc/hosts.deny soubor:

# vi /etc/hosts.deny
sshd: ALL

Poté povolte přístup důvěryhodným adresám IP:

# vi /etc/hosts.allow
sshd: Trusted_IP_address
sshd: 192.168.0.8

sshd: Trusted_Segment/CIDR
sshd: 192.168.0.0/24

sshd: Trusted_IP_address, Trusted_IP_address
sshd: 192.168.0.3, 192.168.0.4

iptables

U tabulek IP je velmi důležité pořadí, ve kterém pravidla umístíte. Proto musíte nejprve nakonfigurovat povolovací pravidla a poté pravidlo odepření.

# iptables -A INPUT --source Trusted_IP -p tcp --dport SSH_PORT  -j ACCEPT

Přijetí provozu z IP:

# iptables -A INPUT --source 192.168.0.8 -p tcp --dport 22 -j ACCEPT

Přijetí návštěvnosti ze segmentu:

# iptables -A INPUT --source 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT

Nastavení pravidla blokování:

iptables -A INPUT -p tcp --dport 22 -j DROP

Jak zlepšit změny

Své změny můžete zkontrolovat provedením následujících příkazů v závislosti na omezující nebo povolující konfiguraci:

# cat /etc/hosts.deny
# cat /etc/hosts.allow
# iptables -L

Poznámka: Některé distribuce zahrnují výchozí firewallový software, jako je UFW pro Debian® a operační systém Ubuntu® a odvozený, Firewalld pro Red Hat® Enterprise Linux® 7 a odvozený.

Nakonfigurujte ufw, aby odmítal konkrétní IP, číslo portu a protokol

Pro blokování IP adresy na TCP portu 22:

# ufw deny proto tcp from 192.168.0.8 to any port 22

Pro blokování podsítě:

# ufw deny proto tcp from 192.168.0.0/24 to any port 22

Pro výpis nakonfigurovaných pravidel:

# ufw status numbered

Nakonfigurujte firewall tak, aby odmítal konkrétní IP adresu, číslo portu a protokol

Na firewallu můžete zakázat IP adresu nebo segment, ale neumožní to žádný druh připojení:

Blokovat IP adresu:

# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.0.8' reject"

Blokování segmentu:

# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.0.0/24' reject"

Proto se můžete rozhodnout přidat důvěryhodné IP adresy na seznam povolených pro připojení k portu SSH:

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.0.20" port protocol="tcp" port="22" accept'

Musíte znovu načíst konfiguraci brány firewall:

# firewall-cmd --reload

Seznam pravidel nakonfigurovaných na bráně firewall:

# firewall-cmd --list-all

Linux
  1. Osm způsobů, jak chránit přístup SSH ve vašem systému

  2. Ssh – Omezení uživatele Ssh/scp/sftp na adresář?

  3. Jak vytvořit nového uživatele s přístupem Ssh?

  1. Jak používat tunelování SSH pro přístup k omezeným serverům

  2. Najděte IP adresu klienta v relaci SSH

  3. Vpn tunel pro vzdálený přístup SSH

  1. Jak číst IP adresu pozpátku?

  2. Ssh – protokolování pokusů o přístup Ssh?

  3. Povolit vzdálený přístup Ssh?