OpenSSH (Otevřete Secure Shell) je sada aplikací, které umožňují šifrovanou komunikaci přes síť pomocí protokol SSH. Byl vytvořen jako bezplatná a otevřená alternativa k programu Secure Shell, což je proprietární software. « Wikipedia.
Někteří uživatelé si mohou myslet, že osvědčené postupy by se měly používat pouze na serverech, a nejsou tomu tak. Mnoho distribucí GNU / Linux standardně obsahuje OpenSSH a je třeba mít na paměti několik věcí.
Index
zabezpečení
Toto je 6 nejdůležitějších bodů, které byste měli mít na paměti při konfiguraci SSH:
- Použijte silné heslo.
- Změňte výchozí port SSH.
- Vždy používejte verzi 2 protokolu SSH.
- Zakázat přístup root.
- Omezit přístup uživatelů.
- Použijte ověřování pomocí klíče.
- Další možnosti
Silné heslo
Dobré heslo je heslo, které obsahuje alfanumerické nebo speciální znaky, mezery, velká a malá písmena ... atd. Tady v DesdeLinuxu jsme si ukázali několik metod pro generování dobrých hesel. Může navštívit Tento článek y toto druhé.
Změňte výchozí port
Výchozí port pro SSH je 22. Chcete-li jej změnit, musíme pouze upravit soubor / etc / ssh / sshd_config. Hledáme řádek, který říká:
#Port 22
odkomentujeme to a změníme 22 na jiné číslo .. například:
Port 7022
Chcete-li znát porty, které nepoužíváme v našem počítači / serveru, můžeme provést v terminálu:
$ netstat -ntap
Nyní pro přístup k našemu počítači nebo serveru to musíme udělat s volbou -p takto:
$ ssh -p 7022 usuario@servidor
Použijte protokol 2
Abychom se ujistili, že používáme verzi 2 protokolu SSH, musíme soubor upravit / etc / ssh / sshd_config a podívejte se na řádek, který říká:
# Protokol 2
Odkomentujeme to a restartujeme službu SSH.
Nepovolit přístup jako root
Abychom zabránili tomu, aby uživatel root mohl vzdáleně přistupovat přes SSH, podíváme se do souboru/ etc / ssh / sshd_config linie:
#PermitRootLogin no
a odkomentujeme to. Myslím, že stojí za to objasnit, že než to uděláme, musíme se ujistit, že náš uživatel má potřebná oprávnění k provádění administrativních úkolů.
Omezit přístup uživatelů
Rovněž neškodí povolit přístup přes SSH pouze některým důvěryhodným uživatelům, takže se vrátíme do souboru / etc / ssh / sshd_config a přidáme řádek:
Povolit uživatelům elav usemoslinux kzkggaara
Pokud je zřejmé, že uživatelé elav, usemoslinux a kzkggaara jsou ti, kteří mají přístup.
Použijte ověřování pomocí klíče
I když je tato metoda nejvíce doporučená, musíme věnovat zvláštní pozornost, protože na server přistoupíme bez zadání hesla. To znamená, že pokud se uživateli podaří vstoupit do naší relace nebo nám dojde ke krádeži počítače, můžeme mít potíže. Uvidíme však, jak na to.
První věcí je vytvořit pár klíčů (veřejný a soukromý):
ssh-keygen -t rsa -b 4096
Poté předáme klíč do počítače / serveru:
ssh-copy-id -i ~/.ssh/id_rsa.pub elav@200.8.200.7
Nakonec musíme mít ve složce nekomentované / etc / ssh / sshd_config linie:
AuthorizedKeysFile .ssh/authorized_keys
Další možnosti
Můžeme zkrátit čekací dobu, ve které se uživatel může úspěšně přihlásit do systému, na 30 sekund
LoginGraceTime 30
Abychom se vyhnuli útokům ssh prostřednictvím spoofingu TCP a ponechali šifrování naživu na straně ssh aktivní po dobu maximálně 3 minut, můžeme aktivovat tyto 3 možnosti.
TCPKeepAlive no ClientAliveInterval 60 ClientAliveCountMax 3
Zakažte použití souborů rhosts nebo shosts, které z bezpečnostních důvodů naléhají, aby nebyly použity.
IgnoreRhosts ano IgnoreUserKnownHosts ano RhostsAuthentication ne RhostsRSAAuthentication ne
Během přihlášení zkontrolujte účinná oprávnění uživatele.
StrictModes yes
Povolit oddělení oprávnění.
UsePrivilegeSeparation yes
Závěry:
Provedením těchto kroků můžeme našim počítačům a serverům přidat další zabezpečení, ale nikdy nesmíme zapomenout na důležitý faktor: co je mezi židlí a klávesnicí. Proto doporučuji přečíst Tento článek.
zdroj: HowToForge
8 komentářů, nechte svůj
Vynikající příspěvek @elav a přidávám několik zajímavých věcí:
PřihlášeníGraceTime 30
To nám umožňuje zkrátit čekací dobu, během níž se uživatel může úspěšně přihlásit do systému, na 30 sekund
TCPKeepAlive č
ClientAliveInterval 60
ClientAliveCountMax 3
Tyto tři možnosti jsou docela užitečné, aby se zabránilo útokům ssh pomocí TCP Spoofing, přičemž šifrování zůstane živé na straně ssh aktivní po dobu maximálně 3 minut.
IgnoreRhosts ano
IgnoreUserKnownHosts ano
RhostsAuthentication č
RhostsRSAAuthentication č
Zakazuje použití souborů rhosts nebo shosts, které se z bezpečnostních důvodů naléhavě nepoužívají.
StrictModes ano
Tato možnost se používá ke kontrole účinných oprávnění uživatele během přihlášení.
UsePrivilegeSeparation ano
Povolit oddělení oprávnění.
Za chvíli příspěvek upravím a přidám do příspěvku 😀
Odkomentování, aby nedošlo ke změně řádku, je nadbytečné. Komentované řádky zobrazují výchozí hodnotu každé možnosti (přečtěte si vysvětlení na začátku samotného souboru). Kořenový přístup je ve výchozím nastavení zakázán atd. Proto jeho odkomentování nemá absolutně žádný účinek.
Ano, ale například, jak víme, že používáme pouze verzi 2 protokolu? Protože bychom mohli současně používat 1 a 2. Jak říká poslední řádek, například odkomentování této možnosti přepíše výchozí možnost. Pokud ve výchozím nastavení používáme verzi 2, je v pořádku, pokud ne, použijeme ji ANO nebo ANO 😀
Děkuji za komentář
Velmi dobrý článek, věděl jsem několik věcí, ale jedna věc, která mi nikdy není jasná, je použití klíčů, opravdu to, jaké jsou a jaké výhody to má, když používám klíče, mohu použít hesla ??? Pokud ano, proč to zvyšuje zabezpečení, a pokud ne, jak získám přístup z jiného počítače?
Zdravím, nainstaloval jsem debian 8.1 a nemohu se připojit z mého Windows PC k debianu pomocí WINSCP, budu muset použít protokol 1? jakákoli pomoc .. díky
sbohem
Toto video o openssh by vás mohlo zajímat https://m.youtube.com/watch?v=uyMb8uq6L54
Chci zde vyzkoušet některé věci, některé jsem již vyzkoušel díky Arch Wiki, jiné kvůli lenosti nebo nevědomosti. Uložím si to, když spustím RPi