Zabezpečení přístupu přes SSH

ssh

Zabezpečení přístupu přes SSH
« kdy: 09. 10. 2018, 07:01:48 »
ahoj.

pod clankom o deravom HP ILO sa riesilo zabezpecenie pristupu k serveru cez ILO, rad by som na tuto temu naviazal v diskusii.

moja situacia: mam vlastny server v datacentre (housing), bezi na nom posta, LAMP a samozrejme ssh. Do interenetu mam otvorene len porty (http, https, smtp a ssh). Po par hodinach ako bol server pripojeny na internet som uz videl v logu pokusy o prihlasenie na ssh port pod "typickymi" usermi (root, test, cisco a pod) . Nastastie som sa z diskusii tu na ROOT-e dozvedel hint, ze je lepsie ten port 22 premapovat na iny. to som urobil  a uz bolo pokusov znacne menej:) - ano, viem security by obscurity ale ma to vyznam. Dalej som sa tu dozvedel, ze je moznost sa prihlasovat na ssh pomocou certifikatu, to je velmi user friendly, netreba buchat stale heslo pri prihlaseni.  Shh je ale nastaveny tak, ze akceptuje certifikat, ale aj username/pass.
ak ssh nastavim na akceptaciu IBA certifikatu, pridem o moznost prihlasit sa z ineho klienta, alebo mam problem ked stratim private key certifikatu. napadlo ma zalohovat ich niekde na verejny email, alebo podobne. - ale s tym mam nejaky psychicky problem, mate lepsi napad?

co doporucujete? resp. ako inak este viac zabezpecit pristup na ssh? ma zmysel tam instalovat (ubuntu na bare metal) nejaky SW firevall?


dakujem za kazdy tip, niekedy sa tu da najst naozaj dost uzitocnych veci. (Peto K, stale ma toto forum zmysel)
« Poslední změna: 09. 10. 2018, 12:37:04 od Petr Krčmář »


epico

Re:Zabezpecenie pristupu cez ssh
« Odpověď #1 kdy: 09. 10. 2018, 07:46:42 »
Hele základy zabezpečení ssh si najdes na internetu během jednoho dotazu, ale obecně:

- private key zálohovat, ale určitě né někam na veřejný mail
- certifikát přenes na všechny klienty ze kterých se hodláš přihlašovat
- certifikát je vhodné chránit heslem
- v configu kde jsi měnil port zakaž přihlašení pomocí jmena + hesla

Ale fakt si o tom radši něco přečti, materiálu je hromada, i tady na rootu kdysi vyšla serie článků


Re:Zabezpecenie pristupu cez ssh
« Odpověď #2 kdy: 09. 10. 2018, 08:08:04 »
Přesouvat SSH na jiný port je k ničemu, maximálně si tak odříznete přístup ze sítě, kde budou povolené jen vybrané porty a ten váš mezi nimi nebude.

Nejpodstatnější je zakázat na SSH globálně přihlášení jménem a heslem.

K jednomu účtu si můžete zaregistrovat kolik klíčů chcete. Takže není problém si pro každé přístupové zařízení vygenerovat jiný klíč a další třeba jako záložní, kdybyste o všechny ostatní klíče přišel.

Používat veřejný e-mail k zálohování souborů není dobrý nápad, e-mail slouží k zasílání zpráv a ne k ukládání souborů. K ukládání souborů do cloudu existuje spousta služeb, mnoho z nich má nějakou kapacitu zdarma, kam se vám případně klíč k SSH určitě vejde – např. Dropbox, Box, Google Drive atd. Pokud ten záložní klíč vyexportujete se silným heslem, nebál bych se ho uložit do nějakého cloudového úložiště. Případně pokud jste zvyklý soubory šifrovat, je to ještě bezpečnější (ale nezprovozňoval bych to jenom kvůli tomu, když to nebudete používat průběžně, v případě krize budete mít problém se k tomu klíči dostat, protože co nepoužíváte, to se v průběhu času samo rozbije).

Víc než klíčem nemá smysl to SSH zabezpečovat, ve vašem případě se soustřeďte spíš na ten poštovní server a pak na ten web a databázi, abyste díry neměl tam.

Shrek

Re:Zabezpecenie pristupu cez ssh
« Odpověď #3 kdy: 09. 10. 2018, 09:00:53 »
Ja som danú situáciu riešil inštaláciou a nastavením fail2ban. Fail2ban zažne postupne tieto adresy blokovať a výrazne klesol počet útokov z cca 500 za hod. na 3 za hod. V IPTABLES je momentalne blokovaných cca 550 IP adries.

Jenda

Re:Zabezpecenie pristupu cez ssh
« Odpověď #4 kdy: 09. 10. 2018, 10:56:25 »
- certifikát přenes na všechny klienty ze kterých se hodláš přihlašovat

Osobně mi přijde lepší vygenerovat na každém klientovi speciální klíč a naopak všechny jejich veřejné části nahrát na server. Klienta pak můžeš snadno zahodit a nemusíš řešit výměnu klíčů všude. (pozn. možná jsi to takhle i myslel, ale kvůli použití chybného pojmu „certifikát“ jsem to špatně interpretoval)

V IPTABLES je momentalne blokovaných cca 550 IP adries.

Tak to doufám že alespoň používáš ipset a ne tu konfiguraci co bývala defaultní, protože jinak ti teď každé spojení co ti přijde na server musí propadnout 550 pravidly ;)


MP

Re:Zabezpecenie pristupu cez ssh
« Odpověď #5 kdy: 09. 10. 2018, 11:50:30 »
Tak to doufám že alespoň používáš ipset a ne tu konfiguraci co bývala defaultní, protože jinak ti teď každé spojení co ti přijde na server musí propadnout 550 pravidly ;)

Nebylo by lepsi pouzit port-knocking na outside iface?

Lol Phirae

Re:Zabezpecenie pristupu cez ssh
« Odpověď #6 kdy: 09. 10. 2018, 12:01:58 »
Tak to doufám že alespoň používáš ipset a ne tu konfiguraci co bývala defaultní, protože jinak ti teď každé spojení co ti přijde na server musí propadnout 550 pravidly ;)

Nebylo by lepsi pouzit port-knocking na outside iface?

Normální člověk místo obskurních pitomostí (port knocking) a věcí rozbitých by design (fail2ban) použije VPN.

m.a

Re:Zabezpecenie pristupu cez ssh
« Odpověď #7 kdy: 09. 10. 2018, 12:20:14 »
SSH private key sa da preniest aj na HW kluc (Yubikey, Nitrokey, a ine) a dokonca aj na viac klucov a tie drzat oddelene.

Jenda

Re:Zabezpecenie pristupu cez ssh
« Odpověď #8 kdy: 09. 10. 2018, 12:22:06 »
Normální člověk místo obskurních pitomostí (port knocking) a věcí rozbitých by design (fail2ban) použije VPN.

Nevím, jestli to pomůže. 1) automatizované útoky mi chodí i na VPN:
Kód: [Vybrat]
Oct  9 06:56:25 coralmyn ovpn-server[664]: 142.44.223.234:443 TLS: Initial packet from [AF_INET]142.44.223.234:443, sid=6a22eb44 5adb63fe
Oct  9 06:57:25 coralmyn ovpn-server[664]: 142.44.223.234:443 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivi
ty)
Oct  9 06:57:25 coralmyn ovpn-server[664]: 142.44.223.234:443 TLS Error: TLS handshake failed
Oct  9 06:57:25 coralmyn ovpn-server[664]: 142.44.223.234:443 SIGUSR1[soft,tls-error] received, client-instance restarting
2) nepřijde mi, že by pravděpodobnost vzdáleně zneužitelné chyby byla v OpenVPN menší než v SSH. Možná až začlení WireGuard, tak tomu by se dalo věřit víc.


Lol Phirae

Re:Zabezpecenie pristupu cez ssh
« Odpověď #10 kdy: 09. 10. 2018, 12:53:20 »
Nevím, jestli to pomůže. 1) automatizované útoky mi chodí i na VPN:

No jistěže to pomůže. Protože např. tu OpenVPN s certifikátem a heslem bude asi někdo dost blbě lámat, narozdíl od SSH s jménem a heslem "zabezpečeného" nějakou kravinou typu fail2ban.

https://www.fail2ban.org/wiki/index.php/HOWTO_fail2ban_with_OpenVPN

Ano, děkujeme za rozšíření blbého nápadu i na OpenVPN. K čemu to je jako dobré (krom toho, že vás nebudou "obtěžovat" záznamy v logu, který si soudný člověk odfiltruje jinak)? FYI, ta VPN je k tomu, abych se mohl připojit odkudkoliv a přitom nevystavoval do internetu služby typu SSH. Banovat IP adresy, za kterými můžou být tisíce zaNATovaných klientů, je v tomto ohledu úplně padlé na hlavu.

Vilith

  • *****
  • 660
    • Zobrazit profil
Re:Zabezpečení přístupu přes SSH
« Odpověď #11 kdy: 09. 10. 2018, 12:57:58 »
Ono fail2ban ma automaticke blokace, ale i deblokace po zadanem case - nevim, co se ti na nem nelibi

Jenda

Re:Zabezpecenie pristupu cez ssh
« Odpověď #12 kdy: 09. 10. 2018, 13:01:36 »
Nevím, jestli to pomůže. 1) automatizované útoky mi chodí i na VPN:

No jistěže to pomůže. Protože např. tu OpenVPN s certifikátem a heslem bude asi někdo dost blbě lámat, narozdíl od SSH s jménem a heslem "zabezpečeného" nějakou kravinou typu fail2ban.

OpenVPN zabezpečná certifikátem a SSH zabezpečené tím stejným certifikátem se podle mě moc neliší.

FYI, ta VPN je k tomu, abych se mohl připojit odkudkoliv a přitom nevystavoval do internetu služby typu SSH.

Tak místo toho vystavuješ do internetu VPN…

Vilith

  • *****
  • 660
    • Zobrazit profil
Re:Zabezpečení přístupu přes SSH
« Odpověď #13 kdy: 09. 10. 2018, 13:06:11 »
Hlavne se jedna o to, ze prolomenim VPNky se jeste nikam nedostanu.
Mel bych az pote jit pres ssh dal dovnitr. Cili zlomit dalsi uroven zabezpeceni

ssh

Re:Zabezpečení přístupu přes SSH
« Odpověď #14 kdy: 09. 10. 2018, 13:29:14 »
zdar,

nastavil som prihlasovanie na SSH vyhradne iba certifikatom, tym padom mi odpadaju fake prihlasenia username/passwd. Ak by som to(napr. OpenVPN) este nastavil tak, ze SSH sa bude dat pouzit vyhradni iba cez VPN, ktora potrebuje na prihlasenie opat certifikat, tak by to uz hadam bolo dostatocne zabezpecene. co myslite?