La seguridad es un tema de suma importancia en la actualidad, si has llegado a este práctico tutorial seguramente sea porque te preocupa el nivel de seguridad y fiabilidad de tus programas. Sigue leyendo para que aprendas a aumentar la seguridad de tu propia AppliConcepto de APP¿Qué es una APP?Una App es todo aquel programa que se ejecuta desde una interfaz teléfono celular, es decir, desde un móvil o una tablet. Consiste en la herramienta principal para cualquier usuario que tenga un teléfono teléfono celular, de todo el software que se mueve en tiendas digitales como Google Play Store o la App Store y que tanto se adentra en cualquier terminal moderno.Es un concepto Suite.
Commençons et sécurisons notre application avec Node.js en utilisant un codage, des outils et des habitudes de trading appropriés!
1. Application de formulaires de cryptage sécurisé
-
Premièrement: évitez d'utiliser évaluer
Vous ne connaissez peut-être pas ces informations, mais évaluer il peut ouvrir votre application pour les attaques par injection de code. Essayez de ne pas l'utiliser, mais si vous devez le faire, n'injectez jamais d'entrée utilisateur non validée dans évaluer.
Eval n'est pas le seul à éviter pour cela: au fond, chacune des expressions suivantes utilise eval:
setInterval (Chaîne, 2)setTimeout (Chaîne, 2)nouvelle fonction (chaîne)
-
Deuxièmement: essayez de toujours utiliser l'instruction 'utiliser strict'
Avec 'utiliser strict' tu puedes optar por usar una «variable» restringida de JavaScriptJavaScript es un lenguaje de programación que funciona en el lado del cliente y con el que las webs pueden ser más funcionales. Incorporación en código HTML El código JavaScript puede ser incrustado en las páginas HTML, para que adquieran funcionalidad. Existen varias opciones. Puede estar entre las etiquetas <SCRIPT> y </SCRIPT>, puede estar contenido en un archivo externo, puede ser un parámetro de las etiquetas HTML, y puede estar Suite. Esta variable, elimina algunos errores silenciosos y los desecha todo el tiempo.
'use strict' delete Object.prototype // TypeError var obj = {a: 1, a: 2} // erreur de syntaxe
-
Troisièmement: essayez de gérer les erreurs avec soin extrême
Au cours de différents scénarios d'erreur, votre application peut perdre des données sensibles sur l'infrastructure sous-jacente, telles que: X-Powered-By: Express.
Les traces de pile ne sont pas traitées comme des vulnérabilités en elles-mêmes, mais elles révèlent souvent des informations susceptibles d'intéresser un attaquant. Fournir des informations de débogage suite à des opérations qui échouent est considéré comme une mauvaise pratique. Vous devez toujours les enregistrer, mais ne jamais les montrer aux utilisateurs.
-
Quatrièmement: essayez de faire un analyse statique de votre base de données
L'analyse statique du code de la base de données de votre application peut détecter de nombreuses erreurs. Pour cela, nous vous suggérons d'utiliser ESLint avec le style de code standard.
Exécution de vos services en production en toute sécurité
L'utilisation du style de code approprié ne suffit pas pour protéger efficacement les applications Node.js.Vous devez également faire attention à la manière dont vous exécutez vos services en production.
-
Cinquième: évitez d'exécuter vos processus avec les droits de superutilisateur
Malheureusement, nous constatons que ce cas se produit souvent: les développeurs exécutent leur application Node.js avec des droits sur Super utilisateurcomme ils veulent qu'il soit entendu sur le port 80 ou 443.
Esto está muy mal. En el caso de un error o bugLos bugs son errores en los programas de PC que hacen que el software no funcione como debería. Por lo general, los bugs son causados por un error en el código que usualmente sólo es descubierto por los usuarios cuando usan el programa. Información general El nombre bug viene de la época en que se desarrollaron los primeros ordenadores. Las enormes máquinas calculadoras trabajaban con grandes circuitos, relés y items Suite, su proceso puede hacer caer todo el sistema, ya que tiene credenciales para hacer cualquier cosa.
En lugar de esto, lo que puedes hacer es configurar un serveurLos servidores son ordenadores centrales y potentes dentro del campo de la tecnología de la información que procesan y proporcionan software y archivos en una red. Desde el punto de vista de un cliente, varios ordenadores en una red pueden ponerse en contacto con el servidor central para conseguir la información solicitada. En la arquitectura cliente-servidor, el servidor puede ser un software que proporciona un servicio y se ejecuta en Suite o proxy HTTPEl HTTP (Hyper Text Transfer Protocol) es un protocolo que se usa para transmitir datos en redes. HTTP es un estándar técnico generalmente aceptado que establece cómo un cliente web se comunica con un servidor para que los datos solicitados por el cliente puedan ser cargados y mostrados. Información general Junto con el URL y el HTML, HTTP es uno de los conceptos más importantes de Internet (www). Fue desarrollado Suite para reenviar las solicitudes. Puede ser nginx o Apache Concepto de Apache ¿Qué es y qué hace Apache? Apache es un software especializado en ofrecer servicios de servidor web. Es versátil, ligero y muy útil, al mismo tiempo de ser absolutamente sin costes y de código abierto. Su popularidad es tal que, hoy en día, cerca del 50% de las páginas web de todas partes se ejecutan en un servidor de este tipo. Aún cuando se le conoce Suite.
-
Sixième: configurer les en-têtes HTTP requis
Votre site doit définir certains en-têtes HTTP liés à la sécurité. Ces en-têtes sont:
- Sécurité de transport stricte: este refuerza las conexiones seguras (HTTP sobre SSLLa encriptación SSL (Secure Socket Layer) proporciona una conexión segura entre el cliente y el servidor. Consiste en un protocolo de Internet que permite encriptar datos sensibles (como información de pago, datos de tarjetas de crédito) y hacerlos ilegibles a terceros. Al mismo tiempo, un certificado confirma que el servidor es fiable. En este momento, además se le llama TLS (Transport Layer Security). Relevancia SSL es un método de cifrado Suite/TLS) al servidor.
- Options de X-Frame: vous offre une protection contre le détournement de clic
- Protection X-XSS: puede habilitar el filtro XSS (cross-site scripting) integrado en los navigateursConcepto de Navegadores¿Qué son los Navegadores?Los Navegadores son herramientas informáticas que utilizamos para, normalmente, navegar por Internet y visitar cualquier página web, al mismo tiempo de para hacer otras tareas como ver documentos, observar vídeos o reproducir contenido multimedia de cualquier tipo. Son un tipo de software sencillamente usual y bastante utilizado hoy en día.Insistimos en que es algo que se utiliza con mucha frecuencia, puesto que moverse por Internet Suite web más recientes.
- Options de type de contenu X: este evita que los navegadores olfateen una respuesta alejada del type de contenuEl tipo de contenido se refiere al contenido de un archivo que se transfiere mediante de HTTP y se clasifica según una estructura de dos partes. Esta clasificación está estandarizada y publicada por la IANA (Internet Assigned Numbers Authority, que supervisa la asignación global de direcciones IP). Una definición alternativo es MIME. En esta circunstancia, el contenido de los datos se especifica según el MIME (Multipurpose Internet Mail Extensions). El Suite declarado.
- La política de seguridad de ContenuEl contenido puede ser muy difícil de definir con precisión. Es una definición que se refiere a las declaraciones contenidas en un documento o publicación de cualquier tipo y puede incluir las tecnologías de la información y la comunicación. Esto cubre todos los tipos de medios como imágenes y texto. A parte de esto, en el campo de la optimización de motores de búsqueda, los términos duplicar contenido, contenido único, Suite previene una amplia gama de ataques, incluyendo secuencias de comandos entre sitios y otras inyecciones entre sitios.
Dans Node.js, il est facile de les configurer à l'aide du module Casque:
var express = require ('express') var casque = require ('casque') var app = express () app.use (casque ())
Le casque est également disponible pour Koa: casque koa.
-
Septième: effectuer une bonne gestion de session
La siguiente lista de marcas debe ser establecida para cada cookieUna cookie es un registro que es almacenado por un servidor web en el disco duro del usuario. El archivo recibido es una combinación de caracteres formada por números y letras, que asigna una cierta identidad al usuario (cliente). No podrán exceder un tamaño máximo de 4 KB y contendrán, por ejemplo, información sobre la extensión de la visita o sobre lo que el usuario haya pulsado. Cuando el cliente Suite:
- sécurise: cette attributAtributo es una definición que se usa en varios campos de IT. Generalmente, un atributo se usa para describir un fichero o un campo de datos con más detalle. En la programación orientada a objetos, los atributos son una propiedad o característica que se puede asignar a un objeto (elemento). A través el uso de atributos se pueden asignar valores específicos a ciertos items. Áreas de aplicación Las tres áreas Suite le dice al le navigateurUn navegador (además: browser) es una herramienta informática que te permite ver documentos y datos y navegar por la red. Los navegadores pueden mostrar distintos tipos de recursos de información; principalmente documentos HTML, a pesar de todo, además son posibles otros tipos de archivos y contenido multimedia, como PDF, JPEG, MPEG, GIF o el lenguaje de meta marcado. A través el uso de complementos especiales y la configuración respectivo, los Suite que sólo envíe la cookie si la petición se está enviando a través de HTTPSHTTPS (protocolo de Transferencia de Hiper-Texto) es un protocolo que permite determinar una conexión segura entre el servidor y el cliente, que no puede ser interceptada por personas no autorizadas. En resumidas cuentas, es la versión segura de el http (Hyper Text Transfer Protocol) Cómo funciona Una conexión HTTP estándar en Internet puede ser fácilmente secuestrada por partes no autorizadas. El propósito de una conexión HTTPS es evitar esto: encriptar Suite.
- HttpOnlyly: este atributo se utiliza para ayudar a prevenir ataques tales como scriptsConcepto de Scripts¿Qué son los Scripts?Los Scripts son fragmentos de código que se usan para dar forma a herramientas tanto en Internet como en el sector de la informática en general. Son una parte crucial del software, puesto que se trata exactamente del código que conforma a una aplicación en su totalidad o a una de sus funciones, como además el que puedes hallar explorando cómo está hecha una web.Desde Suite cruzados, ya que no permite el acceso a la cookie a través de JavaScript.
-
Huitième: Création de environnement d'application des cookies
- domaine: este atributo se utiliza para comparar con el domaineUn dominio es una sección de Internet con direcciones que comparten un sufijo común o están bajo el control de una organización o individuo en particular. Está organizado jerárquicamente. Tanto los objetos físicos como los virtuales pueden ser direccionados con el nombre de dominio. Estos objetos pueden ser webs, ordenadores en red o servicios, como impresoras, faxes o servidores de correo. Cada objeto está referenciado por una dirección IP única, Suite del servidor en el que se está solicitando la URLEl URL (Localizador Uniforme de Recursos), es una dirección definida que apunta a la posición de un archivo en un servidor y lo recupera. Las URL se introducen en un navegador web para ingresar a documentos en la web o se incrustan como hipervínculos dentro de un documento. Se puede usar un Permalink para que una URL esté disponible de forma permanente. Componentes de una URL • prefijo de protocolo Suite. Si el dominio coincide o es un sous-domaineConcepto de Subdominio¿Qué es un Subdominio?Un Subdominio es una extensión que se añade al nombre de un dominio para organizar las distintos secciones que pueda tener su web, aún cuando funcionando de forma totalmente independiente a esta. Por lo general, generalmente son palabras que lo preceden y que se separan de él utilizando un punto para remarcar tanto su independencia como la idea de que son algo desligado del contenido Suite, el atributo de ruta se comprobará a continuación.
- chemin: En plus du domaine, vous pouvez spécifier le chemin d'URL pour lequel le cookie est valide. Si le domaine et le chemin correspondent, le cookie sera envoyé sur demande.
- expire: Cet attribut est utilisé pour définir des cookies persistants car le cookie n'expire pas tant que la date définie n'est pas dépassée.
Dans Node.js, vous pouvez facilement créer ce cookie à l'aide du package de cookies. Encore une fois, c'est assez bas, donc vous finirez probablement par utiliser un wrapper, comme la session de cookies.
var cookieSession = require ('cookie-session') var express = require ('express') var app = express () app.use (cookieSession ({nom: 'session', clés: [process.env.COOKIE_KEY1, process. env.COOKIE_KEY2]})) app.use (function (req, res, next) {var n = req.session.views || 0 req.session.views = n ++ res.end (n + 'vues') }) app.listen (3000)
Considérez les outils à utiliser
Félicitations, vous êtes presque à la fin de l'article! Si vous avez suivi ce didacticiel et effectué les étapes ci-dessus à fond et à la lettre, vous n'avez qu'un seul domaine à couvrir en termes de sécurité Node.js. Plongeons-nous dans l'utilisation des bons outils pour rechercher les vulnérabilités des modules!
-
Neuvième: recherche vulnérabilités avec Retire.js
le objectif¿Qué es un objetivo?En marketing, un objetivo es el resultado que se pretende alcanzar en un periodo de tiempo, a través el uso de los recursos disponibles. Por tanto, se debe formular de una forma clara y hace falta que sea accesible y medible. Suite de Remove.js est de vous aider à détecter l'utilisation de versions de modules présentant des vulnérabilités connues.
Installez simplement avec:
npm install -g supprimer
Après cela, exécutez-le avec la commande retirer recherchera des vulnérabilités dans le répertoire node_modules. (Notez également que remove.js fonctionne non seulement avec les modules de nœuds mais aussi avec les bibliothèques frontales).
-
Dixième: auditez vos modules avec le Plateforme de sécurité Node CLI
nsp est l'interface de ligne de commande principale de la plate-forme de sécurité Node. Vous permet d'auditer un fichier package.json ou npm-shrinkwrap.json contra la APIConcepto de API¿Qué es una API?Una API, siglas de Application Programming Interface o Interfaz de Programación de Apps, es un recopilatorio de código que se puede emplear para que varias apps se comuniquen entre ellas. Es algo que realiza una tarea equivalente a la interfaz de usuario al momento de promover la interacción entre persona y programa, solo que aplicado única y exclusivamente dentro del entorno del software.Aún cuando suene Suite del NSP para comprobar si hay módulos vulnerables.
npm install nsp --global # Depuis le répertoire de votre projet nsp check
La sécurité de Node.js n'est pas un gros problème après tout, non? J'espère que vous avez trouvé ces règles utiles et nécessaires pour sécuriser vos applications Node.js, et que vous les suivrez à l'avenir car la sécurité fait partie de votre travail. Toutes nos félicitations!





