Jak zabezpečit klíče na serveru?

mise

Jak zabezpečit klíče na serveru?
« kdy: 10. 04. 2017, 10:10:12 »
Ahoj,
jak mám zabezpečit klíče na serveru? Ptám se zatím jen obecně a jako laik. Nejsem paranoik a stačí normální zabezpečení pro tyto účely. Mám PHP server, který komunikuje přes API s burzou a bankou. Chtěl bych k tomu využít jednoduchou krabičku typu RasPI.

Asi bych se měl zeptat na komplexnější zabezpečení systému?


lojzak

Re:Jak zabezpečit klíče na serveru?
« Odpověď #1 kdy: 10. 04. 2017, 14:47:43 »
Základ je fyzické zabezpečení serveru. Další level pak je HSM.

Šifrování klíčů a nebo celých disků je nepraktické, protože při každém rebootu musíš zadat heslo.

Re:Jak zabezpečit klíče na serveru?
« Odpověď #2 kdy: 10. 04. 2017, 15:10:27 »
Základ je fyzické zabezpečení serveru. Další level pak je HSM.

Šifrování klíčů a nebo celých disků je nepraktické, protože při každém rebootu musíš zadat heslo.

vytvoris si USB stick s klicem? kdo by zadaval hesla na necem jinem nez desktop / nb..

j

Re:Jak zabezpečit klíče na serveru?
« Odpověď #3 kdy: 10. 04. 2017, 17:53:03 »
vytvoris si USB stick s klicem? kdo by zadaval hesla na necem jinem nez desktop / nb..
Jo, to je urcite bezpecny ... asi tak stejne, jako kdyz ten klic na tom serveru proste nechas valet na nesifrovanym disku.

2mise: pokud to myslis vazne, tak jak bylo receno, predevsim musis zajistit ze se fyzicky k tomu serveru nikdo nedostane = mit ho nekde pod zamkem (tzn nikoli nekde v datacentru kam ma pristup hromada lidi). Pokud by to melo jit do extremu, tak se pouziva samostatna krabice, ze ktery ten klic nejde v idealnim pripade nijak dostat a muze obsahovat i neco na tema autodestrukce pri otevreni.

jeniceek

Re:Jak zabezpečit klíče na serveru?
« Odpověď #4 kdy: 10. 04. 2017, 21:14:40 »
Na téma autodestrukce po otevření by mohli vyprávět na syrské ambasádě v Praze, no vlastně už nemohli :)

Jinak určitě se mrkni na hardwarové tokeny, případně TREZOR.io, jde do toho uložit snad všechno normálně používané.


romanz

Re:Jak zabezpečit klíče na serveru?
« Odpověď #5 kdy: 10. 04. 2017, 21:58:28 »
Na téma autodestrukce po otevření by mohli vyprávět na syrské ambasádě v Praze, no vlastně už nemohli :)

Nebyla to spíš Palestinská ambasáda ?  :)

Trupik

Re:Jak zabezpečit klíče na serveru?
« Odpověď #6 kdy: 10. 04. 2017, 22:34:05 »
Ahoj,
jak mám zabezpečit klíče na serveru? Ptám se zatím jen obecně a jako laik. Nejsem paranoik a stačí normální zabezpečení pro tyto účely. Mám PHP server, který komunikuje přes API s burzou a bankou. Chtěl bych k tomu využít jednoduchou krabičku typu RasPI.

Asi bych se měl zeptat na komplexnější zabezpečení systému?
Závisí od toho, proti čomu chceš kľúče chrániť. Ak proti fyzickej krádeži celého servera, šifrovaný oddiel je celkom účinný. Pozri napríklad LUKS.

Ak to chceš zabezpečiť proti hacknutiu a vykradnutiu "zvnútra", to je rozhodne ťažšie. Tam Ti šifrovaný oddiel príliš platný nebude. Zabezpečenie proti hacku je na celú knihu, ale vo všeobecnosti:
1. správne nakonfigurovať démony
2. pravidelne aktualizovať
3. orezať prístup cez firewall len na nutné služby a nutné IP adresy
4. oddeliť jednotlivé služby a aplikácie aspoň pod rozdielnych používateľov, ak už nie do kontajnerov (a nastaviť im oprávnenia tak, aby si navzájom nevideli súbory, ktoré nemusia, ani na čítanie)
5. nasadiť monitoring
6. mať nejaký plán čo budeš robiť potom až Ťa hacknú (zamedzenie ďalšieho zneužitia, obnova zo záloh, a pod.)

100% ochrana neexistuje, takže admini sa delia na tých, ktorých server už nabúrali, a na tých, ktorých to ešte len čaká.

Tomas2

  • ****
  • 310
    • Zobrazit profil
    • E-mail
Re:Jak zabezpečit klíče na serveru?
« Odpověď #7 kdy: 10. 04. 2017, 23:17:30 »
pokud k tomu HP serverů máš i jejich řadič SmartArray, je možné za cca 10t dokoupit licenci na šifrování přímo na něm, umí si lokálně u sebe  a nemá tolik omezení jako luks. jako luks a nemusíš při každém startu zadávat heslo. https://www.hpe.com/us/en/product-catalog/detail/pip.6532260.html

Jinak samozřejmost je fyzické zabezpečení serveru (co vím nejméně lze pronajmout housing 4U na zámek), monitoring a alerting přístup a ti paranoidní mažou klíče pokud zjistí neoprávněný zásah :).

CryptoGuru

Re:Jak zabezpečit klíče na serveru?
« Odpověď #8 kdy: 11. 04. 2017, 13:38:34 »
At uz SSH klice ci jine je zaklad sifrovat, pokud to jde. Napr. ssh klice jsou sifrovany AES256. Heslo musi byt dostatecne silne. Proti kameram a odkoukani je lepsi cast hesla napsat a cast hesla pomoci copy-paste zadat (kopirovany retezec samozrejme musi byt dobre ukryty).

Dale pak sifrovat systemovy disk + home, a pokud to jde, tak zastavit v biosu heslo.

Kazde heslo musi byt jine a vsechna dostatecne silna.

Pomuze i whitelistIP, ze kterych na server pristupujes (jine IP nepovoli). Jde nastavit napr. v IP tables.

To by pro beznou praxi melo byt vice nez dostacujici.

CryptoGuru

Re:Jak zabezpečit klíče na serveru?
« Odpověď #9 kdy: 11. 04. 2017, 13:42:40 »
Základ je fyzické zabezpečení serveru. Další level pak je HSM.

Šifrování klíčů a nebo celých disků je nepraktické, protože při každém rebootu musíš zadat heslo.

Si delas srandu ?
Kazdy zamek jde otevrit (picking, bumping, flexa, autogen). Nebo utocnik si rovnou sezene klice (at uz legalne nebo ne).

Sifrovani disku je samozrejmost.

lojzak

Re:Jak zabezpečit klíče na serveru?
« Odpověď #10 kdy: 11. 04. 2017, 14:34:22 »
To je dobrý, naprostej dutohlav a tupoň si dá nick CryptoGuru a přitom tu o cryptování píše bludy.

Četl jsi vůbec původní dotaz? Má jít o zabezpečení klíčů na serveru, tudíž šifrování disků dost dobře použít nejde. A nebo si myslíš, že někdo bude po každém reloadu jezdit do datacentra zadávat heslo?

A ty tvoje ostatní výblitky, to je opravdu něco:
"Proti kameram a odkoukani je lepsi cast hesla napsat a cast hesla pomoci copy-paste zadat (kopirovany retezec samozrejme musi byt dobre ukryty)."
Jasně, takže ty bys chtěl všechno šifrovat, ale potom si část hesla necháš válet někde v texťáku. A místo toho, aby útočník pozoroval co píšeš na klávesnici, tak to jednoduše uvidí na monitoru při kopírování, to je naprosto geniální.

lojzak

Re:Jak zabezpečit klíče na serveru?
« Odpověď #11 kdy: 11. 04. 2017, 14:37:59 »
@Tomas2

"umí si lokálně u sebe  a nemá tolik omezení jako luks. jako luks a nemusíš při každém startu zadávat heslo."

A v čem pak spočívá ta výhoda šifrování, když to po tobě nechce při bootu heslo?

mise

Re:Jak zabezpečit klíče na serveru?
« Odpověď #12 kdy: 11. 04. 2017, 18:15:58 »
Díky Trupík:
Server bude fyzicky pod zámkem - pro mě dostačující. Jen bych nechtěl, aby mi to někdo hacknul na první pokus. Udělat takové normální zabezpečení. A na co si dát pozor, alespoň obecně. Vím, že by to bylo na několik knih. Spíše mi šlo o to oddělení klíčů od jednotlivých služeb. Ale na druhou stranu chci, aby to po výpadku napájení opět normálně najelo (tady je asi šifrování disku zbytečné).

Trupik

Re:Jak zabezpečit klíče na serveru?
« Odpověď #13 kdy: 11. 04. 2017, 18:46:36 »
Díky Trupík:
Server bude fyzicky pod zámkem - pro mě dostačující. Jen bych nechtěl, aby mi to někdo hacknul na první pokus. Udělat takové normální zabezpečení. A na co si dát pozor, alespoň obecně. Vím, že by to bylo na několik knih. Spíše mi šlo o to oddělení klíčů od jednotlivých služeb. Ale na druhou stranu chci, aby to po výpadku napájení opět normálně najelo (tady je asi šifrování disku zbytečné).
Ak to vie prečítať ten PHP skript, bude to vedieť prečítať aj útočník až sa tam dostane. Ako základné opatrenie by si mohol začať s tým, že súbor s kľúčom bude vlastniť iný používateľ (vytvorený len pre túto jednu vec) a budú na ňom práva -r--------. Potom musíš zabezpečiť (napr. cez apache MPM peruser), aby tento používateľ bol použitý len na túto jednu vec a na nič iné, tzn. aby ďalšie weby bežali pod inými používateľmi. Ak je kód projektu zložitejší, dá sa kritická časť skyť do nejakého API a nechať ju prístupnú len na localhoste a z webového rozhrania sa pripájať k tomuto API (cez curl a pod.). Tak môže byť kód, ktorý narába s kľúčmi relatívne jednoduchý a bezpečný, a webové rozhranie postavené hoci aj na wordpresse ak niekto hackne, tak sa dostane len k tomu, že bude vedieť volať toto API, ale už nie ku samotnému kľúču.

Chechták

Re:Jak zabezpečit klíče na serveru?
« Odpověď #14 kdy: 11. 04. 2017, 18:49:26 »
@Tomas2

"umí si lokálně u sebe  a nemá tolik omezení jako luks. jako luks a nemusíš při každém startu zadávat heslo."

A v čem pak spočívá ta výhoda šifrování, když to po tobě nechce při bootu heslo?

No je to sice na hovno, ale budeš compliant a o pár tisícovek chudší. Fakt terno. Navíc dotazující hledá HSM a ne šifrování disků.