Preskoči na glavno vsebino

Bezpečnosť

Ochrana pred možnými útokmi

Avtor: Petr Pech

Tento článok zhŕňa, ako ABRA Flexi rieši najčastejšie bezpečnostné hrozby na strane servera a REST API, a čo si k tomu môžete nastaviť sami.


Man in the middle attack

Jedným z možných útokov na ABRA Flexi je Man in the middle — útočník sa vydáva za servery ABRA Flexi, používateľ mu poskytne autorizačné údaje a útočník sa nimi potom môže autorizovať proti skutočným serverom a analyzovať priebeh komunikácie.

Štandardne si ABRA Flexi vygeneruje takzvaný self-signed certifikát; SSL certifikát je možné vymeniť za vlastný. Proti tomuto typu útoku má ABRA Flexi dve opatrenia:

  • Pri spustení si ABRA Flexi stiahne certifikát a pri ďalšej práci so serverom ho overuje. Preto nie je možné vymeniť certifikát za behu.

  • DANE — uloženie odtlačku certifikátu do DNS.

Uloženie certifikátu do DNS (DANE)

Podklad pre DNS záznam je možné vygenerovať nástrojom SWEDE:

$ ./swede --insecure create --port 5434 --certificate certifikat.pem --selector 1 --output rfc demo.flexibee.eu
_5434._tcp.demo.flexibee.eu. IN TLSA 1 0 1 85b928d1cab396d8e632d15d57b3a97ebbc2769ab74a292040dc4fc340153973

Namiesto nástroja SWEDE je tiež možné získať konfiguráciu priamo z bežiaceho servera ABRA Flexi:

GET https://server:5434/certificate/tlsa

Endpoint vracia parametre TLSA záznamu a odtlačok certifikátu — teda hodnoty usage, selector, matching type a samotný odtlačok:

1 1 2 3419e6e0631325af64da1f064e7779f9…

Do DNS potom pridáte tento záznam:

_5434._tcp.demo.flexibee.eu. IN TXT TLSA 1 0 1 85b928d1cab396d8e632d15d57b3a97ebbc2769ab74a292040dc4fc340153973

Ako hodnota je teda uložené celé TLSA 1 0 1 85b928d1….

Hľadanie prebieha v tomto poradí:

_5434._tcp.demo.flexibee.eu.
_tcp.demo.flexibee.eu.
_5434._tcp.flexibee.eu.
_tcp.flexibee.eu.

🚨 Ak nepoužívate súčasne aj DNSSEC, nie je zaručená bezpečnosť odpovede DNS servera — a tým ani prínos DANE.

⚠️ Klient ABRA Flexi zatiaľ nepodporuje kompletné DANE, ale iba parametre --selector 1, --mtype 1 a --usage 0.

Ak vám klient hlási chybu pri vyhodnocovaní TLSA záznamu, pomôže článok Chyba TLSAException – Timeout while resolving TLSA.


CSRF

ABRA Flexi má integrovanú ochranu proti Cross Site Request Forgery a v tomto smere nie je nutné nič nastavovať.


SQL Injection a XSS

Pri návrhu sme venovali mnoho úsilia, aby sme zabránili SQL Injection a Cross Site Scriptingu (XSS). K týmto typom chýb preto nedochádza.


Ukladanie hesiel

Skôr ABRA Flexi používala na ukladanie hesiel funkciu MD5. Teraz sa používa SHA-256 so saltovaním. Staré heslá sa prekódujú až pri svojej zmene.

ℹ️ Odtlačok hesla sa počíta z reťazca salt + ":" + heslo. Podrobnosti a zoznam podporovaných funkcií nájdete v článkoch Batch API a Autentizácia kontaktu.


Súvisiace

Ste s tem dobili odgovor na svoje vprašanje?