Jak maksymalnie bezpiecznie dodać SSH do VPS?

0

Cześć.
Tak się składa, że pro bono będę stawiał jedną aplikację na vpsie (no może dwie, nie jest to istotne). Z racji potrzeb administracyjnych oraz działania CI (najpewniej GitHub Actions) oraz kwestii budżetowych VPS będzie musiał mieć otwarte ssha do zewnątrz.
Na obecną chwilę widzę następujące kroki:

  • Wyciąć w iptables wszystkie inne porty poza używanymi
  • Stworzyć dodatkowego użytkownika a ssha deploy
  • Przekierować port ssh z domyślnego na coś innego
  • Wywalić odpowiedź na nieudane logowanie

To jednak nie wyczerpuje mojej definicji dobrych zabezpieczeń. Stąd dwa pytania, czy są jakieś dodatkowe kroki (poza np. cloudflare itd.) które mogę podjąć oraz jakie narzędzia polecacie do blokady powtarzających zapytań ssh? Netfilter? fail2ban?
Tak, trochę wykorzystam wiedze szanownych forumowiczów aby sobie research skrócić :)

1

Ja bym zrobił tak:

Na swoim serwerze wystawiasz na zewnątrz port: 80 i/lub 443. SSH natomiast ustawiasz aby dopuszczała logowanie TYLKO ze wskazanego adresu IP (np Twój domowy adres). W przypadku dynamicnzego IP możesz spróbować skonfigurować sobie DDNS. Teraz ja u Siebie mam np postawionego postgresql i w putty normalnie zrobiłem sobie tunelowanie portu więc łącząc się po SSH tuneluję port 5432 i loguję się na localhost'a. Na zewnątrz skanując porty nie zobaczysz 5432 natomiast po zalogowaniu do SSH działa localhost:5432

Mało tego widziałem skrypt na jednym serwerze, gdzie SSH jest domyślnie zamknięte i trzeba "zapukać" na odpowiednie porty w odpowiednim przedziale czasowym w odpowiedniej kolejności, a po takim "zapukaniu" uruchamia się skrypt, który czasowo podnosi SSH aby umożliwić logowanie. Czy to potrzebne ... nie wiem ale niektórzy admini mają swojego rodzaju obsesje :D

1

zmiana defaultowego portu
disable root login
używanie kluczy a nie haseł
wylaczyc opcje logowania sie po ssh dla wszytkich innych userow

można też:
ssh honeypot
2FA

0

Dodam, że jeśli apki będą miały możliwość logowania jako admin celem zarządzania nimi (coś w stylu wp-admin na wordpresie na przykład) to warto też wywalić możliwość wjazdu tam spoza jakiegoś wybranego (zbioru) IP.

1 użytkowników online, w tym zalogowanych: 0, gości: 1