Toon posts:

Hoe maak je een veilige webapplicatie

Pagina: 1
Acties:
  • 304 views

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Welke maatregelen nemen jullie, zouden jullie willen nemen als er genoeg tijd was om een webapplicatie veilig te bouwen. Het topic staat ook bij beveiliging maar ik wil even kijken of ik hier meer response krijg

Structuur

site\index.php
modules

Je included alles vanuit de map modules maar geeft de webgebruiker hierop geen rechten. Enkel op index.php Zo geef je niks over je structuur prijs en kan je je rechten vanuit je index pagina regelen.

Invoervalidatie

Alle informatie wordt met htmspecialchars() en addslashes() behandt. Mocht de informatie door moeten naar de database dan gebruik ik nog extra: mysql_real_escape_string()

Outputvalidatie

Alles wat naar de site wordt geschreven wordt zowiezo met htmlspecialchars behandled

Rechten

De webserver draait onder een appart hiervoor gemaakt account

Database

Er worden apparte accounts aangemaakt om te lezen en te updaten,schrijven. Daarnaast wordt er een account voorkant aangemaakt. Deze mag enkele Stored procedure's aanroepen maar heeft verder geen rechten.

Error handling
Standaard geef ik zo min mogelijk informatie prijs. Alle 400, 401,402,403,404,405 worden naar de homepage doorgestuurd. Daarnaast staat error_reporting altijd op 0. Behalve op test servers.

Hashing
Het lieft gebruik ik geen Md5 of sha1 maar RIPEMD-320 omdat de scriptkiddie dit algoritme hopelijk niet herkent en er nog niet zoveel crackers voor zijn. Daarnaast Salt ik wachtwoorden dus hash(wachtwoord + salt) = (dit wordt opgeslagen in de database).

SSL
Dit gebruik ik zelfden (eigenlijk te weinig). Voornamelijk omdat klanten het teveel sores vinden om de certificaten aan te vragen.

Sessions
Om sessi hijacking te voorkomen geef ik ze niet mee aan de url parameters. Tenzij dit onvermijdelijk is. Daarnaast koppel ik een sessie aan

- Het ipadres (dus mocht de sessie gekaapt worden kan deze niet zonder spoofing worden overgenomen)
- Een timestamp (zodat deze sneller verloopt als er niks mee gebeurt).


Hebben jullie nog aanvullingen om (web)applicatie beveiliging verder uit te breiden?
Ook de paranoid opties zijn welkom en interessant ;)

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:37

Creepy

Tactical Espionage Splatterer

Topic dubbel openen is niet de bedoeling. Als het echt nodig is dan kunnen we een altijd een alias maken. Aangezien een veilige web applicatie meer omzeilt dan de daadwerkelijke implementatie (in PHP blijkbaar?) zelf behelst sluit ik deze.

Wel een tip: omdat het zoveel omvat, maak geen gebruik van directe functienamen in PHP. In andere omgevingen zijn er andere mogelijkheden om dit soort zaken op te pakken. Het feit dat je zelf domweg mysql_real_escape_string aan het invoeren bent zou moeten aangeven dat je iets verkeerd aan het doen bent ;) Tegenwoordig kent het gros van de ontwikkelomgevingen wel een optie om parameters los door te geven zodat je databaselaag het zelf op de juiste manier kan aanpassen indien nodig.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.