jueves, 30 de noviembre de 2017

2017-11-30 Jueves

Implementación de Aplicaciones Web

  • Análisis y Diseño de una AW básica:
    1. Definir el funcionamiento: Descripción en lenguaje natural de las funciones
    2. Definir los roles de usuarios en el sistema.
      • Rol:
        • Casos de uso.
        • ¿Qué hace? ¿Dónde lo hace?
    3. Creación del sistema de Base de Datos
      • Modelo E-R.
      • Paso a Tablas.
    4. Definir la estructura de directorios y ficheros.
Estructura de carpetas y archivos (Carpetas en amarillo, archivos en azul. No confundir directorio raíz con un archivo.)
    Roles en "anuncios". (4 y 7 serán el mismo)
Estructura de index.php y registro.php
Estructura de borrarUsuarios.php y borrarAnuncios.php
Estructura de cambiarPasswords.php y crearAnuncios.php

Administración de Sistemas Operativos

  • Visionado del vídeo "04 Manejo de sesiones remotas con tmux y SSH" del curso Administración de Servidores Linux.

Seguridad y Alta Disponibilidad

  • Continuación del tema de criptografía.

miércoles, 29 de noviembre de 2017

2017-11-29 Miércoles

Implementación de Aplicaciones Web

  • Framework de desarrollo: Django (resumen muy leve)
    • Conjunto de librerias y herramientas
      • Desarrollo rápido de aplicaciones
      • Reutilización de partes del código
  • Actualizar Django hasta la versión 1.11.7:
    • Ver versión actual de Django: (Si no está la 1.11.7 o superior, hacer lo siguiente. Si está en esa versión, obviar los siguientes pasos)
      • django-admin --version
    • Desinstalar la anterior:
      • sudo apt-get remove python-django
    • Instalar PIP:
      • sudo apt-get install python-pip
    • (opcional) Actualizar PIP:
      • sudo -H pip install --upgrade pip
    • Instalar Django:
      • sudo -H pip install django
    • (opcional) Actualizar Django si no está en la 1.11.7 o superior:
      • sudo -H pip install --upgrade django
  • Borrar el proyecto anterior.
  • Crear un proyecto (comenzamos de nuevo, recordad de cambiarle el idioma y eso):
    • django-admin startproject misitio
  • Migrar todas las apps instaladas y crea infraestructura necesaria:
    • python manage.py migrate
  • Crear encuestas:
    • python manage.py startapp encuestas

Seguid el maldito tutorial. Buenos días.

Administración de Sistemas Operativos

  • Generar claves privadas-publicas:
    • ssh-keygen
  • Conectar por ssh:
    • ssh [nombredeusuario]@[ipdelamaquina]
  • Crear el archivo con las claves autorizadas:
    • nano /home/[usuario]/.ssh/authorized_key (copiar la clave pública generada)
    • Al volver a intentar conectarse mediante ssh, podrá conectarse sin la contraseña. Ya que comprobará todas las claves públicas y, si consigue descifrar, dará acceso)
  • Desactivar la conexión con contraseña:
    • nano /etc/ssh/sshd_config
      • Descomentar 'passwordauthentication' y poner 'no'
    • sudo service ssh restart

Admon. Sistemas Gestores de Bases de Datos

  • Todo lo realizado por Antonio estará en este enlace.
  • Realizar 'Prácticas adaptadas a ebanca' y 'Ejercicios del libro', marcados como obligatorios, disponible en Moodle y Dropbox.
  • Se recomienda hacer 'Presentación con prácticas.
  • También se recomienda leer 'Ejercicios2'.

Servicios de Red e Internet

  • Crear un FTP en el que:
    • Los anónimos solo tendrán permisos de solo lectura.
    • Sobre los usuarios de sistema :
      • El usuario 'menta' sí estará enjaulado.
      • Los demás usuarios no estarán enjaulados.
    • La conexión será mediante línea de comandos:
      • Toda la info en la página 20 del Tema 4.

martes, 28 de noviembre de 2017

2017-11-28 Martes

Admon. Sistemas Gestores de Bases de Datos

  • Todas las consultas realizadas y ejercicios explicados hechos en clase aquí

Implementación de Aplicaciones Web

  • Comienzo de utilización de Django (7-8h)
    • Comprobar que tenemos python en versión 2.7
    • Instalar Django:
      • sudo apt-get install python-django
    • Crear un proyecto:
      • django-admin startproject misitio
    • Dentro de la carpeta misitio:
      • manage.py (fichero de ejecución de python)
      • misitio:
        • archivos py donde está la configuración, la urls, etc...
    • Lanzar servidor de prueba de misitio (modo local): (dentro del padre)
      • python manage.py runserver
    • Lanzar servidor de prueba de misitio (modo en red): (dentro del padre)
      • python manage.py runserver ip:puerto
    • Cambiar el idioma:
      • cd misitio/misitio
      • nano settings.py
      • Buscar "LANGUAGE_CODE" y cambiar por 'es-ES'
    • Panel de administración (en la web, no funcional todavía): 
      • http://ip:puerto/admin
    • Instalar el módulo 'encuestas':
      • python manage.py startapp encuestas

Programación Web (Libre Configuración)

  • Estructura de la aplicación web:
    • Directorio 'anuncios'
      • index.php
      • Directorio 'config'
        • config.php
      • Directorio 'admin'
      • Directorio 'registrados'
  • Casos de uso: definir las posibles acciones que puede realizar un rol en la aplicación.
    • Rol público (no registrado)
      • Registro
      • Loguearse
      • Ver los anuncios
        • Ordenados por fecha.
    • Rol (registrado)
      • Cambiar contraseña.
      • Publicar anuncios.
    • Rol (administrador):
      • Borrar usuarios.
      • Borrar anuncios.
  • Entidades:
    • USUARIOS:
      • login
      • password
      • nombre
      • apellidos
      • dni
    • ANUNCIOS:
      • anuncio
      • fecha-hora
  • Base de datos: Anuncios
    • Usuarios: login, nombre, apellidos, dni, password, rol
    • Anuncios: fecha+hora, login (fk), anuncio

lunes, 27 de noviembre de 2017

2017-11-27 Lunes

Seguridad y Alta Disponibilidad

Admon. Sistemas Gestores de Bases de Datos

  • Todas las consultas en MySQL Workbech realizadas por Antonio aquí.
  • Pregunta de examen: Dos usuarios con el mismo nombre pero con diferentes permisos de acceso (uno desde cualquier sitio % y otro en localhost)
    • Si ejecutáramos mysql y no le indicamos exactamente donde tiene que conectarse, se conectaría por defecto al usuario con localhost, porque se conectaría al primero que tenga menos permisos (elegido como medida de seguridad, siempre sería el que menos permiso tiene).

viernes, 24 de noviembre de 2017

2017-11-24 Viernes

Administración de Sistemas Operativos

  • Comienzo del visionado del curso "Introducción de Servidores en Linux".

Seguridad y Alta Disponibilidad

jueves, 23 de noviembre de 2017

2017-11-23 Jueves

Servicios de Red e Internet

  • Teoría que entra del libro de RA-MA: leerse la página 91 al completo. Es prácticamente la teoría que entra más la práctica (que preguntará algo en teoría). Saber explicar la práctica porque hará preguntas teóricas sobre la práctica.
  • Servidor FTP:
    • Crear carpeta para los anónimos:
      • chmod 755 /srv/ftp
      • mkdir /svr/ftp/anonymous

martes, 21 de noviembre de 2017

2017-11-21 Martes

Administración de Sistemas Gestores de Bases de Datos

  • Ejercicio a realizar:
    1. Comprobar los usuarios que hay en la tabla user.
    2. Crear usuario LucasGrijander
    3. Comprobar sus permisos en la tabla user.
      1. Conectarse a un B.D.
    4. Poner que si tiene los permisos select_priv, insert_priv...
    5. Comprobar los permisos de LucasGrijander.

Implementación de Aplicaciones Web

  • Tiempo para trabajar en el trabajo de aplicaciones web.

Servicios de Red e Internet

  • Demostraciones sobre protección de sitios web y redireccionamiento.
  • Servicio FTP:
    • Instalación:
      • sudo apt-get install vsftpd 
    • Archivo de configuración:
      • /etc/vsftpd.conf

lunes, 20 de noviembre de 2017

2017-11-20 Lunes

Seguridad y Alta Disponibilidad

  • Continuación con la teoría y demostración de archivos de AUTORUN y keyloggers.

Administración de Sistemas Gestores de Bases de Datos

  • Continuación de la presentación y demostración de creación de usuarios con privilegios mediante shell y phpMyAdmin.

viernes, 17 de noviembre de 2017

2017-11-17 Viernes

Seguridad y Alta Disponibilidad

  • Instalar antivirus y firewall (Linux)
    • Recomendación: usar Synaptics para instalarlo si no estás familiarizado con las dependencias que hay que instalar a parte de esos.
    • Instalar el antivirus con los paquetes clamav y clamtk (instalar si falta alguna dependencia)
    • Instalar el firewall ufw y gufw.
  • Actualizar la base de virus de ClamAV (solo de forma manual)
    •  sudo freshclam
      • Si nos os actualiza porque os sale el siguiente error:
            ERROR: /var/log/clamav/freshclam.log is locked by another process
            ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log)

        Se debe de ejecutar un "sudo killall freshclam" y, luego, realizar el "sudo freshclam". Reiniciar después de realizarlo.
  • Configurar el cortafuegos:
    • Añadir una regla para Samba:
      • Habría que añadir el puerto 137, 8080 y el 8447 para poder conectarse a la conexión Bitnami.
      • Se podría añadir una regla para evitar el envío mailto o spam desde tu máquina rechazando los salientes y añadiendo una regla que bloquee el puerto 25. Podrías seguir enviando correos desde el navegador (que usa el puerto seguro y desde la conexión del servidor.)

jueves, 16 de noviembre de 2017

2017-11-16 Jueves

Servicios de Red e Internet

  • Demostración de instalación de certificados SSL para poder acceder a nuestra web por https en Windows Server.

Implementación de Aplicaciones Web

  • Conexión al servidor con MySQL:
    • $conexion = mysqli_connect (host, user, password, puerto, BD);
  • Realizar consultas:
    • mysqli_query($conexion, $consulta);
  •  Consulta SELECT con datos asociativos:
    • mysql_fetch_array($resultado, MYSQLI_ASSOC);

miércoles, 15 de noviembre de 2017

2017-11-15 Miércoles

Implementación de Aplicaciones Web

  • Dos horas más para trabajar en la aplicación web asignada. 

Administración de Sistemas Operativos

  • Se han visto los Bits especiales en permisos.
  • Se ha programado la entrega de práctica sobre todo lo que hemos visto. Está en la plataforma Moodle. La entrega se hará el lunes 27 de Noviembre antes de las 8:15 de la mañana.

Administración de Sistemas Gestores de Bases de Datos

  •  Gestión de usuarios. (Hay una presentación con todo resumido) 

Servicios de Red e Internet

  • Resumen básico de Windows Server:
    • Instalar IIS.
    • Comprobar DNS.
    • Crear una carpeta con index.html (dándole permisos a IUSR y IIS_IUSRS)
    • Crear sitio web nuevo
    • Nombre del sitio -> lo que veremos en IIS.
    • Ruta de acceso física -> donde esta la página web.
    • Nombre del host -> lo que pondremos en el navegador y estará en el DNS
      • mipagina.tropical.es
    • Cuando ya está creado mi sitio web
      • Habilitar "examen de directorios" en ese sitio.
    • Para modificar el sitio:
      • Pinchar en "Enlaces" y cambiar algunas cosa
        • Por ejemplo: cambiar el nombre de la página web
      • Pinchar en "Configuración básica" y cambiamos la ruta física y el nombre del sitio.

martes, 14 de noviembre de 2017

2017-11-14 Martes

Implementación de Aplicaciones Web

  • Hora de trabajo en la aplicación Web asignada.

Servicios de Red e Internet

  • Servidor Web en Windows Server:
    • Cosas a destacar:
      • Permisos de lectura a la carpeta de la web (botón derecho > propiedades > pestaña Seguridad > botón Editar > botón Agregar > Escribir el nombre en el recuadro uno por uno > botón Comprobar nombres > (si sale subrayado) Seleccionar el permiso de lectura > Aceptar hasta el fin de propiedades):
        • Añadir a los usuarios:
          • IUSR -> anónimo
          • IIS_IUSRS -> usuario IIS
      • Tener un listado de directorios y archivos dentro de una web:
        • Agregar un directorio virtual como indica en la teoría. La carpeta estará dentro de nuestra web que, por defecto, está desactivada para que no muestre ninguna carpeta. (por seguridad)
        • Una vez añadido el directorio virtual, lo seleccionamos y en Vista Características abrimos IIS > Examen de directorios. Una vez allí, veremos las opciones que queremos mostrar. Ahora bien, para habilitar este directorio, a la derecha podemos activar el listado de directorios dándole a Activar.

lunes, 13 de noviembre de 2017

2017-11-13 Lunes

Seguridad y Alta Disponibilidad

  • Continuación con el tema 4 de Malware.
  • Comienzo de práctica de limpieza de una máquina virtual.

Servicios de Red e Internet

  • Realización del servicio Web en Windows.

viernes, 10 de noviembre de 2017

2017-11-10 Viernes

Administración de Sistemas Operativos

  • Corregido el examen en clase.
  • Continuación de los vídeos de terminal y línea de comandos

Servicios de Red e Internet

  • Realizar el redireccionamiento de http a https. (Por ejemplo, el redireccionamiento que hace Google de http a https)
  • Realizar el redireccionamiento de una página a otra página. (Por ejemplo, una empresa que cambia de nombre y su página antigua tiene que redireccionar a su nueva página.)

Seguridad y Alta Disponibilidad

  • Comienzo del tema 4 - Malware. Dará el tema en una presentación, hay que completar teoría con lo del libro.

jueves, 9 de noviembre de 2017

2017-11-09 Jueves

Servicios de Red e Internet

  • Poner un servicio en otro puerto diferente al 80:
    • Creamos un VirtualHost específico para ese puerto.
    • Añadimos la línea siguiente en /etc/apache2/ports.conf:
      • Listen <puerto elegido>
    • Añadimos un alias a una nuestra dirección con nuestro servidor como nombre real.
    • Reiniciamos Apache y BIND.
  • Crear un certificado y añadir una conexión segura a la web
    • <Está todo en la teoría>

Programación Web (Libre configuración)

  • Hacer que detecte <? como <?php:
    • Entrar en lampstack[version]/php/etc/php.ini
    • Buscar el tag shot_open_tag y poner en on (por defecto estará en off)
    • Reiniciar apache.

Seguridad y Alta Disponibilidad

miércoles, 8 de noviembre de 2017

2017-11-08 Miércoles

Implantación de Aplicaciones Web

  • Trabajo sobre aplicaciones web asignadas al azar.

martes, 7 de noviembre de 2017

2017-11-07 Martes

Implantación de Aplicaciones Web

  • Instalación de XAMP. Instalación y algo de configuración.

Servicios de Red e Internet

  • Configurar una carpeta privada para que solicite un usuario y contraseña para acceder a ella.

Programación Web (Libre Configuración)

  • Introducción a JQuery y PHP.

lunes, 6 de noviembre de 2017

2017-11-06 Lunes

Seguridad y Alta Disponibilidad

  • Auditoria de passwords:
    • Ejercicio de seguridad de contraseñas en una empresa.

Administración de Sistemas Operativos

  • Corrección de ACL.

Administración de Sistemas Gestores de Bases de Datos

  • Contenido que entra en el examen:
    • Comandos
      • mysqld
      • mysql
      • mysqladmin
      • net start/stop
    • Diccionario Datos
    • Ficheros Log
    • Principales Variables
    • Fichero ini

viernes, 3 de noviembre de 2017

2017-11-03 Viernes

Administración de Sistemas Operativos

Servicios de Red e Internet

  • Crear un nuevo VirtualHost de Apache2 (todo a mano).

Seguridad y Alta Disponibilidad

  • Permisos de usuarios y grupos
  • Congelación de máquinas.

jueves, 2 de noviembre de 2017

2017-11-02 Jueves

Servicios de Red e Internet

  • Añadir un nombre a nuestro servicio:
    • BIND tiene que estar operativo.
    • Configurar una entrada para que el DNS nos mande a la web de queremos (ej: gazpacho.servidor.com a nuestro server)
  • Configurar un virtual host manual:
    • cd /etc/apache2/sites-availables
    • Crear un archivo con el nombre de nuestro servicio seguido de .conf (gazpacho.conf en el ejemplo).
    • Archivo gazpacho.conf:
      • <VirtualHost *:80>  (IPServer:Puerto)
        • ServerName gazpacho.servidor.com (el alias que hemos dado en BIND)
        • DocumentRoot /var/www/html/gazpacho (nombre de la ruta donde está)
      • </VirtualHost>
    • Activar el archivo conf:
      • a2ensite gazpacho.conf
    • Recargar los archivos que han cambiando:
      • service apache2 reload

Programación Web (Libre configuración)

  • Continuación del ejercicio de validación (añadir notas en el ejercicio).

Administración de Sistemas Operativos

  • Listas los discos y las particiones en un sistema linux:
    • sudo fdisk -l
  • Dar formato a la partición:
    • sudo fdisk /dev/sdx (donde se muestre en fdisk)
      • n (nueva partición) -> p (tipo de partición) -> (numero de partición)
      • t (cambiar partición)  -> (elegir partición) -> añadir código
      • w (guardar todos los cambios)
  • Formatear la partición:
    • sudo mke2fs -t ext4 -L SEGUNDO /dev/sdb
  • Montar el disco duro:
    • Crear el directorio donde montar la partición:
      • sudo mkdir carpeta (ej. sudo mkdir /var/segundo)
      • sudo mount [disco a montar] [ruta donde montarlo] (ej. sudo mount /dev/sdb /var/segundo)
  • Enlace simbólico
    • sudo ln -s /var/segundo/pruebat.txt
  • Enlace duros (no se permiten entre dispositivos diferentes)
  • Montar automáticamente:
    • sudo blkid (para obtener el UID de la partición)
    • sudo nano /etc/fstab
      • UUID=uuid [punto de montaje]