Seguridad

Bloquear IP con Apache

Bloquear IP con Apache server

En este artículo te muestro cómo denegar el acceso completo a tu sitio web a un usuario con el solo hecho de saber su IP, utilizando el servidor web apache o apache web server.

Bloquear el acceso a un sitio web según la IP del cliente permite bloquear visitantes maliciosos o bots. Eso sí, recuerda que pueden cambiar su IP así que puedes combinar esto con un captcha.

Bueno, veamos cómo usar apache y el archivo .htaccess para degenar el acceso a determinada ip.

Continue reading…

Demostración de reCAPTCHA v2 con PHP

reCAPTCHA v2 con PHP – Ejemplo de integración

Integrar reCAPTCHA v2 con PHP en formulario

En este post te enseñaré a integrar el servicio llamado reCAPTCHA v2 con PHP, el cual es un simple captcha o checkbox de “no soy un robot” en un formulario HTML.

También te enseñaré a verificarlo con PHP del lado del servidor.

El servicio que vamos a integrar es reCAPTCHA v2, el cual funciona en varios lenguajes de servidor, pues se consume usando HTTP; hoy veremos cómo hacerlo en PHP.

Veremos un ejemplo del formulario y de la comprobación en el lado del servidor.

También dejaré una demostración. Al final tendremos algo como lo del gif:

Demostración de reCAPTCHA v2 con PHP

Formulario de Bootstrap 4 con reCAPTCHA v2 y PHP

Continue reading…

Validación en PHP, usando Valitron

En este post te mostraré a validar los datos que el usuario ingresa en PHP ya sea a través de un formulario o de otras fuentes; usando la librería Valitron, que funciona muy bien para validar en PHP.

El repositorio de esta librería está aquí, y su uso es simple, además de que no requiere ningún framework o dependencia externa.

Un extra que tiene esta librería de validación de PHP es que permite mostrar los mensajes en idioma español.

Nota: el código que se expone aquí, es decir, la demostración, está en mi GitHub.

Continue reading…

Cifrar archivos con PHP

Resumen

Vamos a cifrar y descifrar archivos con PHP de dos maneras; la primera usando una clave “general” y otra con una contraseña.

Para cifrar y descifrar vamos a usar la librería php-encryption.

La diferencia es que con el segundo ejemplo podremos hacer que los usuarios tengan sus archivos cifrados con una contraseña que solo ellos sepan, y cada uno tendrá una clave distinta.

Continue reading…

Cifrar y descifrar información con PHP

En este artículo te voy a mostrar cómo encriptar y desencriptar datos usando PHP, para mantener los datos seguros. Veremos cómo:

  • Cifrar datos
  • Descifrar datos
  • Cifrar datos usando la contraseña de un usuario
  • Descifrar datos usando la contraseña de un usuario

Estos dos últimos ejemplos funcionan muy bien para cuando queremos asegurar la información incluso para los desarrolladores de la aplicación.

Recuerda que encriptar es distinto a hashear; porque cuando encriptamos un valor con PHP lo hacemos de esa manera para desencriptarlo más tarde. En cambio, al hashear una contraseña, su valor no es reversible.

La librería que vamos a usar para encriptar y desencriptar datos en PHP se llama php-encryption y su repositorio en GitHub lo puedes ver aquí.

Nota: voy a usar encriptar y cifrar como sinónimos para este post, al igual que desencriptar y descifrar.

Continue reading…

3 - Elegir root

Resetar contraseña de Ubuntu

Hoy, al intentar iniciar una máquina virtual con Linux Ubuntu que usé hace tiempo para unos ejercicios de la escuela me di cuenta de que había olvidado la contraseña.

No me costaba nada reinstalar el sistema, pues solo lo usaba para fines didácticos, pero la pereza pudo conmigo y preferí resetear la contraseña del usuario, además de documentar el proceso.

Recomendado: mira la administración de usuarios en Ubuntu para que entiendas cómo obtenemos la lista de usuarios y reseteamos la contraseña.

Continue reading…

Java: Calcular hash MD5 de archivo

En este post te voy a mostrar cómo puedes calcular la suma de verificación MD5 de un archivo en Java, sin usar dependencias externas ni paquetes extraños, solo usaremos código nativo de Java.

El Hash MD5 de un archivo funciona para verificar la integridad del mismo, ya que, por ejemplo, al descargar un archivo, alguien podría corromperlo mientras se transmite.

La suma de verificación comprueba que el archivo original y el que tenemos son exactamente el mismo.

Continue reading…

Respaldar instalación de WordPress periódicamente en Google Drive

WordPress es un popular CMS que usan muchísimos sitios en internet, ya sea para sitios de noticias, blogs, tiendas, etcétera.

Este CMS se compone de archivos para funcionar, además de los archivos que el usuario sube, plugins, temas y finalmente una base de datos en donde están los artículos, páginas y configuraciones del sitio.

En este post voy a mostrarte cómo respaldar toda la instalación de WordPress junto con su base de datos en un archivo que será subido a Google Drive.

Como extra, te mostraré cómo hacer que estos respaldos sean automáticos usando cron.

Continue reading…

Respaldar carpeta de Linux en Google Drive, periódicamente

En este post voy a hacer una guía y mostrar un script para respaldar todo el contenido de una carpeta de Linux y subir la misma a nuestra cuenta de Google Drive.

También voy a mostrar cómo podemos hacer estos respaldos automáticos y periódicos usando cron para ejecutar el archivo cada cierto tiempo y realizar la subida del archivo a Google Drive.

No sé si va contra las políticas de Google (cosa que no creo, ya que estás usando el almacenamiento para cosas personales) así que hazlo bajo tu propio riesgo.

Continue reading…

Hackear cuenta de Facebook con Phishing | Ejemplo de código

En este artículo voy a mostrarte cómo se puede hackear una cuenta de Facebook de prácticamente cualquier persona, usando una técnica llamada phishing.

Vamos a ver cómo:

  • Crear una página idéntica a Facebook
  • Programar el botón para que envíe los datos al servidor
  • Redirigir a otra página

Ejemplo de Facebook Phishing con PHP

Usaremos PHP como lenguaje para guardar los datos.

Continue reading…

Identificar correos electrónicos falsos que hablan sobre hackeos

Seguramente a muchos de nosotros nos han llegado correos que dicen cosas como:

Importante: la direccion [correo] fue hackeada.

O mensajes que:

  • Dicen que nos han grabado con la cámara web
  • Han visto nuestro historial
  • Amenazan con enviar un vídeo nuestro a nuestros contactos

La mayoría de ocasiones estos mensajes son falsos y aunque cosas como esas son totalmente posibles (si no, pregunten a la NSA) ya sea por gobiernos o por hackers especializados, la mayoría de estos mensajes son por gente no tan especializada que solo quiere dinero fácil.

Continue reading…

Un ransomware para Linux usando GPG

Hoy vamos a ver cómo crear un ransomware programado para Linux (será un shell script) utilizando GPG y el cifrado asimétrico; será más que nada un ejercicio didáctico pero claro que se puede llevar a la práctica (cosa que no recomiendo, en serio),

Si no sabes qué es un ransomware veamos lo que dice la wikipedia:

Un ransomware (del inglés ransom, «rescate», y ware, acortamiento de software) o “secuestro de datos” en español, es un tipo de programa dañino que restringe el acceso a determinadas partes o archivos del sistema operativo infectado, y pide un rescate a cambio de quitar esta restricción.

El ransomware que vamos a programar va a cifrar archivos con nuestra clave pública (que se va a descarga en la PC de la víctima), los cuales solo vamos a descifrar con nuestra clave privada (la cual solo posee el atacante).

Ransomware en Linux

Será un script de bash muy sencillo pero poderoso, con la única dependencia de GPG.

Continue reading…