Na serveru linuxexpres.cz jsem našel pěkný seriál o správě linuxového serveru. Jedna kapitola se věnuje zabezpečení ssh. Stručné shrnutí obsahu:
- zkontrolovat zda v souboru /etc/ssh/sshd_config je povolen pouze protokol 2. Verze 1 je zranitelná
- Protocol 2
- zakázat X11Forwarding
- X11Forwarding no
- vypnutí přístupu hesle. Využívá privátního a veřejného klíče. Postup pro klienta přihlašujícího se z linuxového stroje je následující
- ssh-keygen -b 4096
- ssh-copy-id -i .ssh/id_rsa.pub login_uzivate@ip_adresa_serveru
- test zda to funguje
- ssh ‚login_uzivatele@ip_adresa_serveru‘
- Z prostředí windows je vhodné použít putty. Pomocí nástroje PuTTYgen se vygeneruje potřebný veřejný a privátní klíč. Veřejný klíč se přidá do souboru
- ~/.ssh/authorized_keys
- vygenerovaný privátní ppk klíč se přidá v sekci ssh programu putty
- pokud vše funguje, je možné na serveru zakázat přihlášení pomocí hesla (v souboru /etc/ssh/sshd_config)
- PasswordAuthentication no
- po restartu ssh se bude možné přilásit pouze s rsa klíčem. To samozřejmě znamená, že v případě ztráty máme smůlu…
Omezit přístup na ftp přes ssh se mi z různých důvodů nechtělo, tak jsem použil metodu přes TCP-WRAPPERS
- sudo nano /etc/hosts.vsftpd:ALLallow
- vsftpd: aa1.bb1.cc1.dd1 aa2.bb2.cc2.dd2
- sudo nano /etc/hosts.deny
- vsftpd: ALL
- sudo nano /etc/vsftpd.conf
- #TCP wrappers
- tcp_wrappers=YES
- sudo service vsftpd restart