Web

Sécurité

La sécurité, c'est la paranoïa.

La non validation des données d'entrées est la cause majeure de faille.

XSS = Cross Site Scripting.

Point de vue sécurité, les firewalls, ou SSL, n'assurent qu'une petite partie. Des attaques de type XSS ou SQL injections passent à travers ca. SSL ne sert qu'à crypter le transit des informations, mais pas à s'assurer de la destination de ces informations. Et les firewalls comme déja dit sont nécessairement ouverts, via le port 80 en général, pour assurer le service.

Validation des données d'entrées, base de données, configuration du serveur web, proxies, firewalls, cryptage de données, administration du système d'exploitation …

Il est nécessaire aussi de tester fréquemment la sécurité de chaque couche, ceci réduit fortement les risques.

10 Points de sécurité

Developpez.com securité web

http://fr.wikipedia.org/wiki/Portail:S%C3%A9curit%C3%A9_informatique

Linux en mode SELinux…
http://fr.wikipedia.org/wiki/SELinux

Qubes OS.

AES = Advanced Encryption Standard = Rijndael = 2 belges = Agréé NSA 128,192,256 bits tailles des clefs.
AES/ECB/PKCS5Padding
chiffrement symétrique
Rotation de matrices 4x4 (10,12 14 fois) puis xor…
http://www.developpez.net/forums/d402843/securite/cryptage-aes-java-cle-256bits/

AES-Two Fish-Serpent

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6
Sinon les clés sont limitées en taille, tu peux le trouver là :
http://java.sun.com/javase/downloads/index.jsp(other downloads, en bas de la page)
http://www.javamex.com/tutorials/cryptography/aes_block_ciphers.shtml
http://www.javamex.com/tutorials/cryptography/block_modes.shtml
Counter mode pour faire un xor a chaque chiffrement de bloc de 16 octets pour ne pas avoir le meme resultat si 2 blocs sont identiques.
Le xor est un generateur aleatoire SecuredRandom → Parallelisation possible du chiffrement.
http://www.javamex.com/tutorials/cryptography/initialisation_vector.shtml
iv en clair ok.

chiffrement asymétrique: RSA
clé publique/clé privée.
clé de 2048 bits
http://www.javamex.com/tutorials/cryptography/rsa_encryption.shtml

Architecture Moderne

http://fr.slideshare.net/mraible/the-modern-java-web-developer-denver-jug-2013

Cote Client: http://blog.nicolargo.com/2013/02/bootstrap-pas-a-pas.html

Tomcat vs Jboss
http://www.mastertheboss.com/jboss-stuff/jboss-vs-tomcat-and-spring-the-never-ending-battle

PrimeFaces
http://www.primefaces.org/showcase/ui/dndGrid.jsf

Ajax basé sur XMLHttpRequest - demande asynchrone au serveur. Pas de plug in Silverlight ou adobe flash
http://fr.wikipedia.org/wiki/Ajax_(informatique)

Langages

http://www.jmdoudoux.fr/divers/syntheses%20langages.htm