Archivo de la categoría: Seguridad

OAuth

Open Authorization (OAuth) es un estándar abierto que permite flujos simples de autorización para sitios web o aplicaciones informáticas. Se trata de un protocolo propuesto por Blaine Cook y Chris Messina, que permite autorización segura de una API de modo estándar y simple para aplicaciones de escritorio, móviles y web.

OAuth permite a un usuario del sitio A compartir su información en el sitio A (proveedor de servicio) con el sitio B (llamado consumidor) sin compartir toda su identidad. Para desarrolladores de consumidores, OAuth es un método de interactuar con datos protegidos y publicarlos. Para desarrolladores de proveedores de servicio, OAuth proporciona a los usuarios un acceso a sus datos al mismo tiempo que protege las credenciales de su cuenta.

Flujo OAuth típico:

  1. Redireccionar  al cliente al «Authorization endpoint». En este punto es donde el usuario autoriza al cliente.
    Dependiendo de la API, se le envian los siguientes datos: client id, redirect url, scopes (permisos) que queremos autorizar.
  2. La api redirecciona a una url que nosotros le enviamos en el paso anterior, aceptando o denegando el acceso. Si nos brinda el acceso nos devuelve un código, el que deberemos usar, junto con el client secret, para obtener el access token.
  3. Utilizando este código que nos enviaron, junto con el client secret, enviamos una petición para obtener el access token.
  4. Si obtenemos el access token, podemos empezar a hacer peticiones a la API.

Recursos:
https://es.wikipedia.org/wiki/OAuth
https://www.digitalocean.com/community/tutorials/una-introduccion-a-oauth-2-es

 

Proteger directorio mediante contraseña con .htaccess

Crear el archivo .htaccess en el directorio que deseamos proteger y agregar las siguientes lineas

AuthName "Restricted Area"
AuthType Basic
AuthUserFile /var/www/TUDOMINIO.COM/.htpasswd
AuthGroupFile /dev/null
require valid-user

Luego creamos el archivo .htpasswd en donde indicamos en la linea «/var/www/TUDOMINIO.COM/.htpasswd»
con la siguiente información.

nombredeusuario:clavehash

donde nombredeusuario debe ser reemplazado con el nombre de usuario elegido y clavehash con el hash obtenido de la contraseña. Para obtener el hash podemos usar este link http://www.htaccesstools.com/htpasswd-generator/

Backups automáticos de bases de datos MySql

Para realizar BackUps automáticos nos descargamos este script:  https://gist.github.com/servergrove/1670895

Sustituimos la linea que dice bk_dest=’/var/archives/mysql’  y ponemos el directorio donde queremos que guarde nuestro respaldo. O dejamos el mismo.

Sustituimos las siguientes lineas por los valores correspondientes
dbuser=root
dbpass=`cat /etc/.mysqlpasswd`

Luego agregamos esta archivo en /etc/cron.daily/ o creamos un trabajo cron que lo ejecute con la periodicidad que queremos.

Luego le damos permisos de ejecución.
chmod +x backup_mysql.sh