Při spouštění webových aplikací se nevyhnete vzdálenému přihlašovaní přes SSH. Jelikož se některé činnosti stále opakují, např. při přesunu serveru, tak jsem si i pro sebe připravil příspěvek, do kterého budu připínat jednotlivé tutoriály.
Zákaz přihlašování přes SSH pro uživatele root a změna portu
..vede ke zvýšení bezpečnosti. Pokud byste měli povolenou možnost přihlášení uživatele root, tak už někomu stačí zkoušet heslo hrubou silou.
Tady je odkaz na návod: http://mediatemple.net/community/products/dv/204643810/how-do-i-disable-ssh-login-for-the-root-user
Osobně nedoporučuji dávat uživatele admin do skupiny sudoers, ale používat uživatele admin jen pro připojení přes ssh a dále se pak su root přepnout.
Dále doporučuji změnit port v /etc/ssh/sshd_config z původního 22.
Zablokování IP adresy po několika neúspěšných pokusech o přihlášení -fail2Ban
Útok hrubou silou lze jednoduše blokovat pomocí nástroje fail2ban, který není určen jen pro SSH, ale i pro jiné služby nebo aplikace.
Návod v češtině lze najít na http://www.root.cz/clanky/fail2ban-konec-hadani-hesel-na-serveru/.
Přihlašování veřejným a privátním klíčem
Linux
Klíč si vygenerujeme pomocí příkazu ssh-keygen
Vyplníme název klíče a passphrase (můžeme ponechat passphrase prázdný).
Obsah souboru končící .pub
vložíme v cílovém počítači do ~/.ssh/authorized_keys
na nový řádek. Tedy např.
cat remoteuser.pub >> /root/.ssh/authorized_keys
Obsah souboru remoteuser zkopírujeme do libovolného souboru (např. remoteuser) v uživatelksém adresáři – např. C:\Users\remoteuser\.ssh nebo ~/.ssh/ na Linuxu.
Na našem počítači v souboru ~/.ssh/config
vytvoříme konfiguraci daného SSH klíče
Host martinkokes.cz # název hosta - libovolný
HostName 192.168.0.2 # IP adresa nebo FQDN vzdáleného počítače
Port 22
IdentityFile ~/.ssh/remoteuser # lokace privátního SSH klíče
# IdentityFile C:\Users\remoteuser\.ssh\remoteuser # konfigurace pro Windows
User admin # Uživatel, za kterého se budeme připojovat - musí mít public SSH klíč
IdentitiesOnly yes # Tímto řekneme SSH klientovi, aby se pokoušel připojit JEN pomocí klíče, a ne hesla
Do vzdáleného počítače se připojíme pomocí ssh HOST
kde HOST je název hosta z konfigu.
Windows
Abyste nemuseli zadávat stále dokola uživatelské jméno a heslo, můžete si vytvořit pár klíčů a využít je v Putty.
Tady je návod: http://www.howtoforge.com/how-to-configure-ssh-keys-authentication-with-putty-and-linux-server-in-5-quick-steps
Znáte ještě nějaké další tipy? Podělte se o ně v komentářích. :-)
2 komentáře
hmm to zní jako námět na další článek ! :D
Zrovna jsem tento skvělý balíček objevil, zajímavý je ve spojení se Slack notifikací, pak máš v merku každý pochybný login. :-)