Bezpečnost

Man in the middle attack

Jedním z možných útoků na FlexiBee je Man In The Middle Attack, kdy se útočník vydává za servery FlexiBee a uživatel mu poskytne autorizační údaje, kterými se pak útočník může autorizovat proti skutečným serverům a tak analyzovat průběh komunikace.

Standardně si FlexiBee vygeneruje tzv. Self-Signed Certificate. SSL certifikát lze vyměnit.

Abychom tomu zabránili, má FlexiBee několik funkcí, které tento problém eliminují:

  • Při spuštění si FlexiBee stáhne certifikát a při práci se serverem jej pak ověřuje. Proto není možné vyměnit certifikát za běhu.
  • DANE – uložení certifikátu do DNS
$ ./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

Místo nástroje SWEDE je také možné získat konfiguraci z běžícího serveru FlexiBee na adrese /certificate/tlsa.

do DNS pak přidáme tento záznam:

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

Tj. jako hodnota je uloženo celé „TLSA 1 0 1 85b928d1cab396d8e632d15d57b3a97ebbc2769ab74a292040dc4fc340153973“

Hledání probíhá v tomto pořáadí:

5434._tcp.demo.flexibee.eu.
_tcp.demo.flexibee.eu.
5434._tcp.flexibee.eu.
_tcp.flexibee.eu.

Pozor: pokud nepoužíváte současně i DNSSec, není zaručena bezpečnost odpovědi DNS serveru.

Pozor: FlexiBee client také v tuto chvíli nepodporuje kompletní DANE, ale pouze tyto parametry: –selector 1, –mtype 1, –usage 0

CSRF

FlexiBee má integrovanou ochranu proti Cross Site Request Forgery a v tomto směru není nutné nic nastavovat.

SQL Injection a XSS

Při návrhu jsme věnovali mnoho úsilí, abychom zabránili SQL Injection Cross Site Scripting (XSS). Proto k těmto typům chyb nedochází.

Ukládání hesel

Dříve FlexiBee používalo pro ukládání hesel šifru MD5. Nyní je použita SHA256 a je použito saltování (salt). Stará hesla jsou překódována až při změně.