Mantener al día con la seguridad en el desarrollo de aplicaciones web es una tarea bastante difícil, pero cuando usted comienza a aventurarse en el mundo del desarrollo de Internet es un nuevo juego de pelota. Al igual que en su día cuando empecé a desarrollar aplicaciones para Facebook, documentación estable para la construcción de sistemas de IoT es pocos y lejos entre, y mucha de la información que encontrarás será incorrecta o incompleta. Esto plantea una gran amenaza como los desarrolladores de IoT principiante estará creando sistemas inseguros que ponen en peligro la seguridad y dejar boquiabiertos los agujeros en los sistemas que podrían permitir el acceso a los datos muy privados e incluso controlar sistemas de seguridad hogar/negocio, aparatos y dispositivos.
Para aquellos que siguen mis artículos o me conoce, sabrá que la seguridad es mi principal preocupación en el desarrollo de cualquier tipo de sistema, ya sea web, móvil específica, IoT o inteligencia artificial. Algunas personas se deben sonreír ahora como recuerdan conversaciones que han tenido conmigo tratando de conseguir puntos en blanco rechazando con ningún remordimiento me Afloje para arriba en mis métodos de seguridad para hacer la vida más fácil y me. Si marca cualquiera de las sitios web y aplicaciones que he construido, verá que todos los sistemas están protegidos contra las últimas amenazas conocidas y que de hecho mi métodos de cifrado tienen un A + clasificación que es superior a cada uno de los servidores de Google según el informe de Qualys SSL que ha tope de seguridad de Google en grado B.
(https://www.ssllabs.com/ssltest/analyze.html?d=https :// www.techbubble.eu)
(https://www.ssllabs.com/ssltest/analyze.html?d=https :// www.google.com)
Habiendo dicho que, hay no un solo sistema o red de uncrackable, como sigo diciendo que no será posible hasta que seguir avanzando con la física cuántica y la seguridad es un constante aprendizaje, nunca nadie debe regodearse que su sistema es uncrackable ya sería una mentira.
Aunque apoyo personas aprender sobre tecnología, y soy plenamente consciente de que es una necesidad que muchas personas comiencen a realizar durante el próximo año más o menos, también me preocupa los reguladores micro y productos para el desarrollo de aplicaciones en dispositivos como el Galileo de Intel y la frambuesa PI son tan fácilmente obtenidos por y promueve a las personas que tienen poca o ninguna experiencia con el desarrollo y la seguridad. Personas se les da herramientas como Wordpress que permiten a la gente con absolutamente ninguna experiencia publicar sistemas en internet me ha dado un tic nervioso en los últimos años, y ahora estoy cerca de un ataque al corazón completo soplado leer sobre trabajos de remiendo de los sistemas que la gente está creando con no cuidar o comprensión de los sistemas.
Una manera de que he asegurado que mis sistemas se mantengan tan seguros como posiblemente puedo hacerlos es por cantidades fuertes de investigación, ayuda de dos personas que tienen bastante mucho me apoyo en los últimos años, y mantener mis códigos y métodos bloqueados, pero debido a la enorme cantidad de peligro que puede causar desarrollo de IoT he decidido documentar algunos de los fundamentos de la seguridad mínima que deben aplicarse en el desarrollo de sistemas de juntas de desarrollo de Intel Galileo y frambuesa PI.
PROTECCIÓN DE SISTEMAS ACCESIBLES DE INTERNET BASADOS EN INTEL GALILEO GEN 1:
La siguiente información le ayudará a asegurar su sistema de Intel Galileo accesible de internet que se basa en un sistema operativo Linux.
1. Asegure su ROUTER: Esta parte es que una necesidad absoluta! Mucho mi no me gusta la mayoría de routers son proporcionados sin alguna de las características de seguridad habilitadas. Asegurar su router está fuera del alcance de este artículo pero puedes leer un artículo que escribí el año pasado para obtener más información. (https://www.techbubble.info/blog/web/online-security/entry/Is-Your-Router-Secure)
2. cambiar contraseña de ROOT: La primera etapa con cualquier dispositivo nuevo debe cambiar la contraseña por defecto. Lista son fácilmente accesibles en el internet que le dan los hackers las contraseñas por defecto de prácticamente todo tipo de dispositivo y si no cambias tu contraseña a una contraseña segura que nadie puede acceder fácilmente a tu dispositivo si está conectado a internet. Una vez logueado en el Galileo de Intel a través de SSH, ejecute el siguiente comando de línea de comandos:
passwd
Usted será entonces pide que introduzca una contraseña de un mínimo de 5 caracteres e informó a usar una combinación de superior y letras minúsculas y números, debe utilizar símbolos así para asegurarse de que su contraseña es tan seguro como sea posible. Re ingrese su nueva contraseña y aparecerá una confirmación de que la contraseña ha sido cambiada.
3. regularmente actualizar su FIRMWARE: Otra importante tarea para llevar a cabo regularmente es actualizar el firmware. En el siguiente enlace que encontrará algunos software de actualización de firmware para su Galileo de Intel que se puede ejecutar desde Windows, Mac y Linux, se usa regularmente para actualizar el firmware de tableros. (https://downloadcenter.intel.com/download/24748/Intel-Galileo-Firmware-and-Drivers-1-0-4)
4. regularmente los paquetes de la actualización: También es importante actualizar y actualizar regularmente los paquetes. Desde el terminal emita los siguientes comandos:
actualización de OPKG (actualiza la lista de paquetes disponibles)
actualización de OPKG (actualiza todos los paquetes disponibles)
5. Agregue un nombre de dominio y SSL certificado a su Junta Directiva: Para ayudar a asegurar que los datos pasados entre el Galileo de Intel y cualquier conexión servicios web están encriptada una importante cosa a hacer es añadir el cifrado SSL a sus peticiones. Aquí le daré los conceptos básicos de esta tarea.
-Asegurar su red local tiene una dirección IP estática, usted será capaz de comprar uno de su ISP, usted puede utilizar el servicio como no-ip.com pero este no es el método preferido.
-Asegúrese de que están cerrados todos los puertos en tu router con la excepción de los que necesita para sus aplicaciones.
-Comprar su nombre de dominio e instalarlo en un servidor web, tengo mina de NameCheap.com.
-Comprar su certificado SSL, mina de NameCheap.com.
-Editar el archivo de zona de dominios para incluir un subdominio que utiliza un registro para que apunte a la IP estática de su red.
-Configurar su puerto hacia adelante de su router a su Galileo de Intel.
-Inicio de sesión a su Galileo a través de SSH y generar una clave RSA y un CSR que se utilizará para activar su certificado SSL.
Utilice el comando siguiente para generar su clave RSA:
OpenSSL genrsa-out ~/YOUR_CERT_FOLDER/YOUR_KEY_FILE.key 2048
Utilice el comando siguiente para generar su CSR:
openssl req-new - sha256-clave ~/YOUR_CERT_FOLDER/YOUR_KEY_FILE.key-a ~/YOUR_CERT_FOLDER/YOUR_CSR_FILE.csr
Se le pedirá introducir algunas preguntas en esta etapa, mas que todos ellos pero aseguran de no ingresar una contraseña cuando se le pida que acaba de salir.
-Dirígete a donde compraste el certificado SSL de y activar su certificado SSL utilizando el CSR generado en el Galileo de Intel, una vez verificado, recibirá los archivos de certificado SSL.
-Conectar a su Galileo mediante SFTP, para esto yo siempre WinSCP en Windows, pero puede utilizar FileZilla o el cliente FTP de su elección. Una vez conectado carga su certificado SSL archivos a la carpeta certs e incluirlos en su aplicación para tráfico cifrado desde el Galileo de Intel y.
6. cerrar todos los puertos excepto las necesarias para su aplicación: una vez que tienes la aplicación accesible desde internet y asegurado con SSL es el momento de comprobar si se ha instalado IPTables. IPTables permite especificar que puertos son accesibles a su Galileo Intel bloqueando a todos y permitiendo el acceso a solo los puertos te blanco listado. IPTables tiene muchas características y métodos se trata de los conceptos básicos:
-Compruebe que IPTables instalado mediante el comando siguiente, si es así, usted verá un mensaje que dice, si no lo es se instalará:
OPKG instalar iptables
-If/una vez instalado puedes comprobar tu configuración actual ejecutando el comando siguiente:
iptables -L o iptables -L - v
-Crear un nuevo archivo de configuración para IPTables y modificar el código a tu gusto. Esto bloqueará todo el tráfico a su Galileo excepto SSH y especificado puertos lista blanca. Para crear el nuevo archivo de configuración se ejecute el siguiente comando: (estoy usando nano pero usted puede utilizar su editor de texto favorito)
nano /etc/iptables.firewall.rules
Agregue el código siguiente y modificar según su preferencia:
<------> Inicio de código
* filtro
# Permitir todo el tráfico loopback (lo0) y soltar todo el tráfico que no lo0 127/8
ENTRADA de -A -i -j lo acepte
-A entrada -d 127.0.0.0/8 -j REJECT
# Aceptar que todos establecieron conexiones entrantes
-A INPUT -m estado--estado establecida, relacionada con -j ACCEPT
# Permitir todo el tráfico saliente - se puede modificar esto para sólo permitir cierto tráfico
-A salida -j ACCEPT
# Permitir conexiones HTTP y HTTPS desde cualquier lugar (los puertos normales de páginas web y SSL).
-A entrada -p tcp--dport 80 -j ACCEPT
-A entrada -p tcp--dport 443 -j ACCEPT
-A entrada -p tcp--dport 8080 -j ACCEPT
# Permitir conexiones SSH
#
# El número - dport debe ser el mismo número de puerto que se establece en sshd_config
#
-A estado en -p tcp -m--de entrada estado nuevo--dport 22 -j ACCEPT
# Permitir a ping
-A entrada -p icmp -j ACCEPT
# Log iptables negó llamadas
-A INPUT -m limit--limit 5/min - j LOG--log-prefix "iptables negadas:"--log-nivel 7
# Caer otros entrantes - denegación predeterminada a menos que explícitamente permitido política
-A INPUT -j DROP
-A FORWARD -j DROP
COMETER
<------> el código final
-Una vez haya modificado y guardado tu archivo de configuración puede cargar entonces las reglas del firewall mediante el comando:
iptables-restore < /etc/iptables.firewall.rules
-Para asegurar que el firewall se carga cada uno y cada vez arranque su Galileo de Intel te tendrá que crear un nuevo archivo en los ganchos del adaptador de red:
nano /etc/network/if-pre-up.d/firewall
-hacerlo ejecutable:
chmod + x /etc/network/if-pre-up.d/firewall
-Introduzca el código siguiente:
<------> Inicio de código
#! / bin/sh
/sbin/iptables-restore < /etc/iptables.firewall.rules
<------> el código final
-Reinicie su Galileo y su firewall debe arrancar en el inicio cada vez que ahora.
Estos son sólo los muy básicos de conseguir su accesible internet Intel Galileo seguro y si vas a los sistemas del programa para la IoT le debe 100% implementar estos métodos por lo menos o el riesgo de ser fulminado por un rayo :D Los pasos para asegurar un sistema construido en un Raspberry PI son muy similares a la tuerca de arriba incluyen eliminar el usuario predeterminado y reemplazarlo con otro usuario sudo. Los pasos para hacerlo son las siguientes:
1. CREAR EL SUPER USUARIO:
sudo useradd -m -G USERNAME sudo
2. CAMBIO SUPER USUARIO PASS:
sudo passwd USERNAME
3. VERIFIQUE EL SUDO EN SUPER USUARIO:
CUALQUIER COMANDO SUDO
ELIMINAR SUPER usuario predeterminado (pi):
sudo deluser pi (quitar usuario único)
sudo deluser-quitar-Inicio pi (quitar usuario y directorio home de usuario)
Espero gente útil esto, sin duda fue un gran trabajo para averiguar cómo hacer todo esto por lo que debe ahorrar mucho tiempo para que usted puede pasar más tiempo para el desarrollo. Como ya he mencionado que esto no es una guía de ser todos y final todos, hay más aspectos de seguridad a tener en cuenta pero esto debería empezar en su camino.
Si este artículo te ayudó por favor ayuda por compartir el artículo en mi sitio: