PEC3-Bocanegra Gomez Alejandro AAL

9
Administración Avanzada del Sistema Operativo Gnu/Linux PEC3 – Q1 2011-12 Alumno/a: ALEJANDRO BOCANEGRA GÓMEZ Observaciones Generales: Las PEC se deben entregar en formato pdf (p.e. generado por el OpenOffice directamente) o en formato odt. Si hay más de un archivo se deberá poner todo junto en un archivo comprimido (recomendado un tar y luego gz). Las entregas se deben hacer en la herramienta de Entrega y Registro de EC, verificando que luego de subido vuestro archivo se puede bajar y leer sin problemas. La PEC solo podrá ser evaluada por la documentación aportada y se deben evitar los listados exhaustivos de directorios/archivos/configuraciones poniendo solo aquellas que sean necesarias para el ejercicio. Además la PEC es un informe de trabajo por lo cual debe ser ordenado, explicativo, con dibujos y esquemas siempre que sean aclaratorios y con conclusiones del alumno sobre la realización de cada ejercicio. El tamaño máximo de hojas para esta PEC será de 18 páginas A4 con letra de 10 puntos si es helvética o verdana (12 puntos si es times o equivalente) y interlineado simple. NO se corregirán trabajos más allá de este límite . Recordar que la PEC además que es un trabajo personal e individual y no serán evaluadas aquellas que sean copias (de cualquier fuente) o similares a otras PECs. Todos los ejercicios deberán mostrar (al menos) una captura de pantalla donde se identifique la máquina del usuario (uname -a) y de muestras de la funcionalidad del ejercicio propuesto. 1. (25 puntos) Analizar la configuración de acceso al sistema describiendo como trabaja el entorno PAM. a) Analizar configuraciones totalmente seguras -conocidas como paranoicaso aceptables - conocidas como kinder- y discutir los efectos y posibilidades que p resenta. En Configuraciones Paranoicas se corren Scripts que cambial todo el sistema en nivel de permisos e ingresos al mismo. Establecer permisos para conexión remota con usuario Root, configurar los servicios que se inician automáticamente cuando ocurre algo con el sistema. Tareas programadas que entregan informes de todo lo ocurrido con el servidor, instrucción, fallos cambios hecho pro los usuarios. Los efectos positivos de un sistema totalmente seguro, un sistema que le informa al administrador todos los sucesos ocurridos en el sistema. Los efectos negativos se ven debido a que no hay ninguna posibilidad de ingresar al server de forma remota ni siquiera siendo root. Una configuración Kinder es más permisiva con los usuarios y con las conexiones remotas hacia el sistema.

Transcript of PEC3-Bocanegra Gomez Alejandro AAL

Page 1: PEC3-Bocanegra Gomez Alejandro AAL

8/3/2019 PEC3-Bocanegra Gomez Alejandro AAL

http://slidepdf.com/reader/full/pec3-bocanegra-gomez-alejandro-aal 1/9

Administración Avanzada del Sistema Operativo Gnu/LinuxPEC3 – Q1 2011-12Alumno/a: ALEJANDRO BOCANEGRA GÓMEZObservaciones Generales:• Las PEC se deben entregar en formato pdf (p.e. generado por el OpenOffice directamente)o en formato odt. Si hay más de un archivo se deberá poner todo junto en un archivo

comprimido (recomendado un tar y luego gz).• Las entregas se deben hacer en la herramienta de Entrega y Registro de EC, verificandoque luego de subido vuestro archivo se puede bajar y leer sin problemas.• La PEC solo podrá ser evaluada por la documentación aportada y se deben evitar loslistados exhaustivos de directorios/archivos/configuraciones poniendo solo aquellas quesean necesarias para el ejercicio. Además la PEC es un informe de trabajo por lo cualdebe ser ordenado, explicativo, con dibujos y esquemas siempre que sean aclaratorios ycon conclusiones del alumno sobre la realización de cada ejercicio.• El tamaño máximo de hojas para esta PEC será de 18 páginas A4 con letra de 10 puntossi es helvética o verdana (12 puntos si es times o equivalente) y interlineado simple. NO

se corregirán trabajos más allá de este límite.• Recordar que la PEC además que es un trabajo personal e individual y no serán

evaluadas aquellas que sean copias (de cualquier fuente) o similares a otras PECs. Todoslos ejercicios deberán mostrar (al menos) una captura de pantalla donde se identifique lamáquina del usuario (uname -a) y de muestras de la funcionalidad del ejerciciopropuesto.1. (25 puntos) Analizar la configuración de acceso al sistema describiendo como trabajael entorno PAM.a) Analizar configuraciones totalmente seguras -conocidas como paranoicaso aceptables -conocidas como kinder- y discutir los efectos y posibilidades que presenta.

En Configuraciones Paranoicas se corren Scripts que cambial todo el sistema en nivel depermisos e ingresos al mismo. Establecer permisos para conexión remota con usuarioRoot, configurar los servicios que se inician automáticamente cuando ocurre algo con elsistema. Tareas programadas que entregan informes de todo lo ocurrido con el servidor,

instrucción, fallos cambios hecho pro los usuarios.

Los efectos positivos de un sistema totalmente seguro, un sistema que le informa aladministrador todos los sucesos ocurridos en el sistema. Los efectos negativos se vendebido a que no hay ninguna posibilidad de ingresar al server de forma remota nisiquiera siendo root.

Una configuración Kinder es más permisiva con los usuarios y con las conexionesremotas hacia el sistema.

Page 2: PEC3-Bocanegra Gomez Alejandro AAL

8/3/2019 PEC3-Bocanegra Gomez Alejandro AAL

http://slidepdf.com/reader/full/pec3-bocanegra-gomez-alejandro-aal 2/9

b) Realizar la configuración adecuada del sistema para que el acceso a sistema seaseguro y no permita usuarios con passwd nulos y que tengan un mínimo de 5 caracteresy un máximo de 8.

Instale los paquetes libpam-passwdqc y libpam-cracklib

Y edite el archivo /etc/pam.d/common-passwd

Colocando la siguiente información:password required pam_cracklib.so retry=3password required pam_unix.so use_authtok nullock min=5 max=8 md5

c) Realizar la configuración de Apache para que la autentificación al directorio /var/www/privado se realice a través de PAM y mostrar evidencias del resultado.Ir con cuidado sobre las configuraciones de este servicio y hacer una copia de laconfiguración actual ya que esto puede generar problemas de acceso sobre el sistema.

2. (25 puntos) Hacer una análisis de intrusión instalando, configurando y utilizando laherramienta Snort. a) configurar Snort como Network Intrusion Detection System y que

envíe las alertas al sistema de syslog. b) generar la configuración adecuada para detectarlas alertas de un scan realizado desde otra máquina (puede ser virtual) cuando seejecuta un nmap -A -T4 IP.máquina.con.Snort.

Instale los paquetes necesarios:

#aptitude install snort-mysql snort-doc acidbase

Page 3: PEC3-Bocanegra Gomez Alejandro AAL

8/3/2019 PEC3-Bocanegra Gomez Alejandro AAL

http://slidepdf.com/reader/full/pec3-bocanegra-gomez-alejandro-aal 3/9

Configure la base de datos para snort.

$ mysql -uroot -p mysql mysql> CREATE USER'snort'@'localhost' IDENTIFIED BY 'snort';mysql> GRANT ALL PRIVILEGES ON *.* TO 'snort'@'localhost' IDENTIFIED BY 'snort';mysql> CREATE DATABASE IF NOT EXISTS `snort`;mysql> GRANT ALL PRIVILEGES ON `snort`.* TO 'snort'@'localhost';mysql> flush privileges;mysql> quit 

Cree la estructura de la base de datos:# cd /usr/share/doc/snort-mysql/ # zcat create_mysql.gz | mysql -u snort -h localhost -p snort 

Edite el archivo de configuración de snort.conf 

# vim /etc/snort/snort.conf 

var HOME_NET 192.168.0.0/28

output database: log, mysql, user=snort password=12345 dbname=snort host=localhost 

Edite el archivo de configuración de acidbase.conf # vi /etc/acidbase/database.php

$alert_user='snort';$alert_password='12345';$basepath='';$alert_dbname='snort';$alert_host='localhost';$alert_port='3306';$DBtype='mysql';

Reinicie Apache y Snort:# /etc/init.d/apache2 restart # /etc/init.d/snort restart 

Page 4: PEC3-Bocanegra Gomez Alejandro AAL

8/3/2019 PEC3-Bocanegra Gomez Alejandro AAL

http://slidepdf.com/reader/full/pec3-bocanegra-gomez-alejandro-aal 4/9

 

Inicie el aplicativo por el navegador, pero no pude capturar información.

3. (20 puntos) Considerando los datos del Banco Mundial de datos y concretamente el

número de usuarios de Internet por cada 100 personas[http://datos.bancomundial.org/indicador/IT.NET.USER.P2] crear una base de datos (enPostgreSQL o en MySQL -sólo una de las dos-) para importar estos datos (recomendamosusar CSV, campos separados por comas). En la memoria se deben incluir las sentencias yel trabajo realizado en la BD y los listados y la propia base de datos en archivos adjuntosa la memoria.

Baje el archivo de la página indicada, lo organice. Teniendo en cuenta que solo exigendatos desde el año 2000 quite las columnas de los años anteriores.

Monte Ubuntu e ingrese por el putty instale mysql:

#apt-get install mysql-server mysql-client#mysql –u root –p#mysql>CREATE DATABASE prueba;#mysql>USE prueba;

Cree la tabla e ingrese los datos del archivo plano:

Generar los listados que calculen la media por país a partir del año 2000 (se debe tenercuidado con los años que no se dispone de datos),

Page 5: PEC3-Bocanegra Gomez Alejandro AAL

8/3/2019 PEC3-Bocanegra Gomez Alejandro AAL

http://slidepdf.com/reader/full/pec3-bocanegra-gomez-alejandro-aal 5/9

#Select PAIS, ((fecha + fechab + fechac + fechad + fechae + fechaf + fechag + fechah+ fechai + fechaj)/10) as promedio from pectable where code in (select code frompectable);

Y la media anual (todos los países),

select AVG(fechaa), AVG(fechab), AVG(fechac), AVG(fechad), AVG(fechae), AVG(fechaf),AVG(fechag), AVG(fechah), AVG(fechai), AVG(fechaj) from pectable;

Un “ranking” (ordenación) de mayor a menor número de usuarios,

select pais, code, fechaa, fechab, fechac, fechad, fechae, fechaf, fechag, fechah, fechai,fechaj from pectable order by 3,4,5,6,7,8,9,10,11,12;

Y un listado de los 10 países que en los últimos 3 años tienen mayor número de usuariosde internet

select PAIS,((fechah+fechai+fechaj)/3) as promedio from pectable where code in (select

code from pectable) order by promedio DESC limit 10;

Page 6: PEC3-Bocanegra Gomez Alejandro AAL

8/3/2019 PEC3-Bocanegra Gomez Alejandro AAL

http://slidepdf.com/reader/full/pec3-bocanegra-gomez-alejandro-aal 6/9

 4. (15 puntos) Crear un repositorio público con Git y los paquetes necesarios para podervisualizarlo con Apache. Demostrar su funcionamiento agregando dos archivos ymostrando los registros (log) que se van obteniendo. Demostrar su funcionamiento quees posible clonar el repositorio desde la máquina local y desde otra máquina (virtual).

Instale Linux Debian en una maquina virtual e ingrese por putty para realziar todo loindicado en la actividad propuesta.

Instale los paquetes necesarios:#apt-get install apache2 git-core gitweb openssh-server 

Cree las carpetas del git y el gui:# mkdir /var/www/git # [ -d "/var/cache/git" ] || sudo mkdir /var/cache/git 

Cree el archivo de configuración de apache para el git:# nano /etc/apache2/conf.d/git 

Lo edite con la siguiente información:<Directory /var/www/git> Allow from all  AllowOverride all Order allow,deny Options ExecCGI <Files gitweb.cgi>SetHandler cgi-script </Files>

</Directory>DirectoryIndex gitweb.cgiSetEnv GITWEB_CONFIG /etc/gitweb.conf 

Realizamos los movimientos de los archivos a la carpeta del servidor:# mv -v /usr/share/gitweb/* /var/www/git # mv -v /usr/lib/cgi-bin/gitweb.cgi /var/www/git 

Con el movimiento de estas carpetas debemos hacer los cambios de gitweb.conf:$projectroot = '/var/cache/git/';$git_temp = "/tmp";#$home_link = $my_uri || "/";$home_text = "indextext.html";$projects_list = $projectroot;$stylesheet = "/git/gitweb.css";$logo = "/git/git-logo.png";$favicon = "/git/git-favicon.png";

Reiniciamos el servicio de apache:# /etc/init.d/apache2 reload 

Crear un proyecto en Git# cd /var/cache/git/ # mkdir pec33.git # cd pec33.git 

Page 7: PEC3-Bocanegra Gomez Alejandro AAL

8/3/2019 PEC3-Bocanegra Gomez Alejandro AAL

http://slidepdf.com/reader/full/pec3-bocanegra-gomez-alejandro-aal 7/9

 

Clonado un proyecto Externo:

Revisando el proyecto en el navegador web:

Revisando los logs: 

Page 8: PEC3-Bocanegra Gomez Alejandro AAL

8/3/2019 PEC3-Bocanegra Gomez Alejandro AAL

http://slidepdf.com/reader/full/pec3-bocanegra-gomez-alejandro-aal 8/9

5. (15 puntos) Implementar un firewall por iptables que sólo permita acceso a Apache ySSH desde una IP de la red local determinada descartando (DROP) todos los paquetesrestantes (no está permitido el uso de herramientas gráficas de configuración). Verificardesde una máquina externa (puede ser virtual pero configurada en otro segmento dered) que el firewall funciona analizando qué puertos permanecen abiertos utilizandoalguna de las herramientas propuestas, como nmap. También se puede probar el firewall

des de lugares web que permiten verificar el acceso, como por ejemplo GRC(http://grc.com) a través de ShieldsUP! Se debe tener en cuenta en este caso quemuchas veces el router bloquea el acceso a la máquina porque ya está haciendo de FW.

Las reglas generadas deben ser permanentes, es decir se deben volver a activar despuésde un arranque de la máquina.Como resultado del ejercicio se debe incluir que pasos se han seguido en laconfiguración, una descripción de cada regla y las verificaciones realizadas defuncionamiento.

Cree un archivo que se llama firewall.sh y agregue la siguiente información:#################!/bin/sh

# FLUSH de reglasiptables −Fiptables −Xiptables −Ziptables −t nat –F

# Configuramos la políticas: DROPiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP

#permito el ingreso de la ip de un host al puerto 80iptables -A INPUT -p tcp -m state --state NEW --source 192.168.0.65 --dport 80 -j ACCEPT

#permito el ingreso de la ip de un host a SSH el puerto 22iptables -A INPUT -p tcp -m state --state NEW --source 192.168.0.65 --dport 22 -j ACCEPT

#Cierro el puerto 80 para todos los demás.iptables -A INPUT -p tcp --dport 80 -j DROP

#Cierro el puerto 22 para todos los demas.iptables -A INPUT -p tcp --dport 22 -j DROP

###################################################

Grabe el archivo en la carpeta etc/firewall.shLo ejecute con el comando: sh firewall.shPara que quedara ejecutándose cada vez que se inicie el sistema edite el siguiente archivo:

# vim /etc/rc.local 

Agregue la línea: sh /etc/firewall.sh

Page 9: PEC3-Bocanegra Gomez Alejandro AAL

8/3/2019 PEC3-Bocanegra Gomez Alejandro AAL

http://slidepdf.com/reader/full/pec3-bocanegra-gomez-alejandro-aal 9/9

 El ingreso desde el host de ip 192.168.0.64 no me fue permitido.