Fórum Root.cz
Hlavní témata => Server => Téma založeno: majklfild 02. 06. 2020, 23:25:50
-
Zdravím,
Potřeboval bych poradit.
Chtěl bych udělat menší bezpečnostní opatření. Potřeboval bych zakázat na VPS všechny ip adresy.
Jedná se o přihlašování. Jak SSH, tak SFTP. I kdybych zadal správné heslo, tak by mě to nepustilo, protože bych nebyl napsán (moje ip) ve vytvořeném souboru.
Prosím o zaslání nějákého článku, nebo vaše rady.
Předem děkuji.
-
google: iptables
případně pokud chceš být moderní, tak https://www.root.cz/serialy/firewall-s-nftables/
-
Tohle muzes resit pres hosts.allow/hosts.deny proste das deny ALL a povolis jen svoje ip. Navod si uz najdi sam, pokud nepochopis, co delas, tak se akorat odstrihnes od vps kompletne.
-
Ne, tohle fungovat nebude, OpenSSH zrušilo podporu TCP Wrappers ve verzi 6.7, tedy v roce 2014. Bude fungovat konfigurace přímo v OpenSSH nebo už zmíněný firewall v iptables nebo nftables. Osobně bych doporučil tohle nedělat a přejít místo hesel na bezpečnější přihlašování pomocí klíčů (https://www.root.cz/clanky/pouzivani-klicu-v-openssh/). Pak se dá vypnout přihlašování heslem (což také vřele doporučuji) a pak není možné žádné heslo hádat a uhádnout.
-
je možné naistalovat fail2ban, nastavit striktní blokování při prvním pokusu a svoje IP dát do whitelistu. Jak ale píšou ostatní, můžeš si snadno odříznout přístup od vps i pro sebe.
-
Taky mám VPS a taky řeším omezení přístupu, na jedné VPSce mám Fail2ban a logy jsou hodně dlouhý (mám nastaveno že po 5 pokusu dám ban na hodinu). Na nové VPS mám nastaveno povolení SSH pouze z domácí IP adresy a je to jednodušší. Jen potřebuješ veřejnou adresu která se ti nemění a pak VPNku domu aby ses na server dostal i když jsi někde na cestách. Anebo si vytvoř VPNku na server a až přes vpnku jdi do SSH. A to co píše kolega tj. místo hesla příhlašování klíčem je také dobrá varianta. A určitě nezapomeň zakázat přihlašování uživatele root přes SSH. Pokud půjdeš do VPN tak doporučuju použít Wireguard (velice jednouchá konfigurace oproti OpenVPN).
-
Taky mám VPS a taky řeším omezení přístupu, na jedné VPSce mám Fail2ban a logy jsou hodně dlouhý (mám nastaveno že po 5 pokusu dám ban na hodinu). Na nové VPS mám nastaveno povolení SSH pouze z domácí IP adresy a je to jednodušší. Jen potřebuješ veřejnou adresu která se ti nemění a pak VPNku domu aby ses na server dostal i když jsi někde na cestách. Anebo si vytvoř VPNku na server a až přes vpnku jdi do SSH. A to co píše kolega tj. místo hesla příhlašování klíčem je také dobrá varianta. A určitě nezapomeň zakázat přihlašování uživatele root přes SSH. Pokud půjdeš do VPN tak doporučuju použít Wireguard (velice jednouchá konfigurace oproti OpenVPN).
Nakonfigurovat přihlašování klíčem a zakázat přihlašování heslem je to nejdůležitější – to je potřeba vyřešit na prvním místě. Fail2ban nebo povolení jen určitých IP adres je dvousečná zbraň, snadno tak můžete odříznout sám sebe. Pro mne je to už za hranou, kdy nevýhody převažují nad výhodami. Zakázat přihlašování roota přes SSH nedává vůbec žádný smysl, pokud je na daném serveru jediný správce. Pokud je na serveru více správců, jde jen o to, zda chcete konkrétního uživatele logovat na základě klíče použitého pro přihlášení nebo na základě toho, přes jakého uživatele se přihlásil.
-
pokud je možnost před to strčit nějaký router, pak je nejlepší to očistit hned na tom routeru
-
Taky mám VPS a taky řeším omezení přístupu, na jedné VPSce mám Fail2ban a logy jsou hodně dlouhý (mám nastaveno že po 5 pokusu dám ban na hodinu). Na nové VPS mám nastaveno povolení SSH pouze z domácí IP adresy a je to jednodušší. Jen potřebuješ veřejnou adresu která se ti nemění a pak VPNku domu aby ses na server dostal i když jsi někde na cestách. Anebo si vytvoř VPNku na server a až přes vpnku jdi do SSH. A to co píše kolega tj. místo hesla příhlašování klíčem je také dobrá varianta. A určitě nezapomeň zakázat přihlašování uživatele root přes SSH. Pokud půjdeš do VPN tak doporučuju použít Wireguard (velice jednouchá konfigurace oproti OpenVPN).
Nakonfigurovat přihlašování klíčem a zakázat přihlašování heslem je to nejdůležitější – to je potřeba vyřešit na prvním místě. Fail2ban nebo povolení jen určitých IP adres je dvousečná zbraň, snadno tak můžete odříznout sám sebe. Pro mne je to už za hranou, kdy nevýhody převažují nad výhodami. Zakázat přihlašování roota přes SSH nedává vůbec žádný smysl, pokud je na daném serveru jediný správce. Pokud je na serveru více správců, jde jen o to, zda chcete konkrétního uživatele logovat na základě klíče použitého pro přihlášení nebo na základě toho, přes jakého uživatele se přihlásil.
Pokud nemám/nemohu mít přihlášení jen klíčem, tak zakázat přihlášení pro uživatele root je podle mě důležitý bod. Když kouknu na mou statistiku fail2ban tak cca 300 pokusů denně zkouší právě root a vedle toho pár dalších jmen. Fail2ban mám s Whitelistem abych si neblokl domácí spojení ;). A pokud by se povedlo bloknout se někde z venku, tak mám vždy možnost použít admin konzoli od poskytovatele VPS.
-
Pokud nemám/nemohu mít přihlášení jen klíčem, tak zakázat přihlášení pro uživatele root je podle mě důležitý bod. Když kouknu na mou statistiku fail2ban tak cca 300 pokusů denně zkouší právě root a vedle toho pár dalších jmen. Fail2ban mám s Whitelistem abych si neblokl domácí spojení ;). A pokud by se povedlo bloknout se někde z venku, tak mám vždy možnost použít admin konzoli od poskytovatele VPS.
Pokud nemáte přihlášení jen klíčem, změňte to. Pokud nemůžete mít přihlášení jen klíčem, vyřešte důvod, proč to nemůžete mít, a změňte to. Zákaz přihlášení na roota nic neřeší, akorát to odvádí pozornost správce od toho skutečného problému (kterým je povolené přihlášení heslem).
-
pro SSH se v /etc/ssh/sshd_config dá omezení na uživatele+IP ve stylu:
allowusers user1@1.2.3.4 user1@5.6.7.8 user2@1.2.3.4
-
Zakazat prihlaseni heslem a zakazat prihlaseni roota je naprosty zaklad. I kdyby byl spravce jen jeden.
-
Zakazat prihlaseni heslem a zakazat prihlaseni roota je naprosty zaklad. I kdyby byl spravce jen jeden.
Jak řešíš zálohování? Já zálohuju tak, že zkopíruju / (rsyncem nebo rdiff-backupem), ale k tomu je potřeba root. Máš nějaký wrapper? (teď mě napadlo, že rsyncu/rdiff-backupu se dá vrazit jako parametr příkaz, který spustí na vzdáleném stroji, a ten příkaz by mohlo být sudo)
-
- / mi řeší zfs snapshoty za poslední dva týdny (vpsfree.cz)
- /etc a /home dělá cron na té masine a odesílá to do NASu
- projektová data dokážu z domu stahovat pod běžným uživatelem
Nevidím důvod zálohovat rootem
-
zakazat prihlaseni roota je naprosty zaklad
Ano, stejně jako vynucení pravidelné změny hesla nebo používání fail2ban. Všechno to má jedno společné – bezpečnost to nezvyšuje spíš naopak, ale objevuje se to mezi radami často. Protože to radí ti lidé, kterých je nejvíce – tedy ti, kteří problému nerozum, jenom si někde něco přečetli a tak to opakují. Lidé, kteří problematice rozumí, nic z toho neradí – protože vědí, že je to hloupost.
-
- / mi řeší zfs snapshoty za poslední dva týdny (vpsfree.cz)
Jeden z důvodů, proč zálohuju, je, že se bojím, že se něco stane celému providerovi. Ale je pravda, že / není moc cenné, protože typicky stačí nainstalovat balíčky a je to.
- /etc a /home dělá cron na té masine a odesílá to do NASu
Z toho NASu to pak někam stahuješ, nebo tam je append-only přístup, aby to případný ransomware nemohl přepsat?
...
Možná by bylo dobré, kdyby lidé, co doporučují zákaz roota, současně uvedli scénáře nějakých útoků, které to může odvrátit. Já vím o jednom, CVE-2008-0166. Jak moc je to relevantní dnes (jako že se objeví podobná chyba) nedokážu posoudit, IMHO trochu jo. Ale teda roota nezakazuju.
-
Možná by bylo dobré, kdyby lidé, co doporučují zákaz roota, současně uvedli scénáře nějakých útoků, které to může odvrátit. Já vím o jednom, CVE-2008-0166. Jak moc je to relevantní dnes (jako že se objeví podobná chyba) nedokážu posoudit, IMHO trochu jo. Ale teda roota nezakazuju.
Zároveň je ale potřeba na druhou misku vah dát to, že se pak dotyčný bude neustále přihlašovat na roota. Buď bude mít povolené su na roota bez hesla, nebo bude heslo kopírovat ze správce hesel, nebo bude dokonce heslo psát ručně.
-
Nemám rád následování takovýhle rad aniž by k tomu byl řečený důvod a útok, kterému to zabrání. Vede to pak k domnění, že root s ssh klíčem je bezpečný, také není (nešifrovaný klíč v home složce je čitelný skoro i pro internetové stránky). Heslo na root je špatné kvůli brute force (či za pomocí slovníku) útoku na server, uhádnout konkrétní neznámý ssh klíč je dnes nemožné, uhádnout párznaké heslo je reálné. Notifikace, pravidelné sledování, nástroje jako fail2ban či pokročilejší mohou nevýhodu hesla smazat.
Je to až s podivem, ale třeba v některých bankách se setkávám pouze s přihlašováním na roota a pouze s doménovým heslem, protože věci jako cyberark, Microsoft AD a nulová podpora ssh klíče při SSO.
-
Vede to pak k domnění, že root s ssh klíčem je bezpečný, také není (nešifrovaný klíč v home složce je čitelný skoro i pro internetové stránky).
To je nesmysl. Bezpečnost je vždy skládačka a bezpečné musí být všechny díly. Pokud si někdo myslí, že když nastaví přihlášení na SSH klíčem, zabezpečil tím vše včetně domu a auta, nic mu nepomůže.
Notifikace, pravidelné sledování, nástroje jako fail2ban či pokročilejší mohou nevýhodu hesla smazat.
Ne, nic z uvedeného nevýhodu hesla smazat nemůže. Protože heslo je možné hádat distribuovaně a také ze stejného místa, odkud se přihlašuje i správce.
Je to až s podivem, ale třeba v některých bankách se setkávám pouze s přihlašováním na roota a pouze s doménovým heslem, protože věci jako cyberark, Microsoft AD a nulová podpora ssh klíče při SSO.
Na tom, že je někde přihlášení jen na roota, není nic s podivem. A to přihlašování doménovým heslem k SSH v bankách – předpokládám, že ten SSH není jen tak vystrčený do internetu, aby se k němu mohl připojovat kdokoli. Pokud je ten server v chráněné síti a jakmile detekujete pokusy hádat hesla, můžete zasáhnout přímo proti zdroji (protože je ve vaší správě), je situace úplně jiná – tohle může smazat nevýhodu hesel.