Bezpečnosť by nemala byť dodatočnou myšlienkou - musí byť súčasťou každého riadku kódu. OWASP Top 10 je štandardný prehľad najkritickejších bezpečnostných rizík.

Najčastejšie zraniteľnosti

1. Injection (SQL, NoSQL, OS)

Injection útoky nastávajú, keď nedôveryhodné dáta sú odoslané do interpretéra ako súčasť príkazu.

Zlý príklad:

const query = `SELECT * FROM users WHERE id = ${userId}`

Správne:

const query = 'SELECT * FROM users WHERE id = ?'
db.query(query, [userId])

2. Broken Authentication

Slabé heslá, chýbajúce rate limiting, nezabezpečené session tokeny - to všetko vedie k kompromitácii účtov.

Riešenia:

  • Multi-factor autentifikácia
  • Silné hashované heslá (bcrypt, Argon2)
  • Bezpečné session management

3. Cross-Site Scripting (XSS)

XSS umožňuje útočníkom vkladať škodlivé skripty do stránok, ktoré vidia ostatní používatelia.

Prevencia:

  • Escapovanie výstupu
  • Content Security Policy (CSP)
  • Použitie moderných frameworkov s auto-escapingom

4. Broken Access Control

Používatelia môžu pristupovať k dátam alebo funkciám, ku ktorým nemajú oprávnenie.

5. Security Misconfiguration

Predvolené nastavenia, chýbajúce aktualizácie, verbose error messages.

Praktické kroky

  1. Používajte bezpečnostné hlavičky - CSP, HSTS, X-Frame-Options
  2. Validujte všetky vstupy - nikdy nedôverujte dátam od používateľa
  3. Aktualizujte závislosti - npm audit by mal byť súčasťou CI/CD
  4. Logujte bezpečnostné udalosti - pre audit a detekciu
  5. Penetračné testovanie - pravidelne testujte svoju aplikáciu

Záver

Bezpečnosť je kontinuálny proces, nie jednorazová úloha. Investícia do bezpečnosti sa vždy vráti - úniky dát stoja oveľa viac než prevencia.