Sunteți pe pagina 1din 9

Administracin Avanzada del Sistema Operativo Gnu/Linux PEC3 Q1 2011-12 Alumno/a: ALEJANDRO BOCANEGRA GMEZ

Observaciones Generales: Las PEC se deben entregar en formato pdf (p.e. generado por el OpenOffice directamente) o en formato odt. Si hay ms 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 documentacin aportada y se deben evitar los listados exhaustivos de directorios/archivos/configuraciones poniendo solo aquellas que sean necesarias para el ejercicio. Adems 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 realizacin de cada ejercicio. El tamao mximo de hojas para esta PEC ser de 18 pginas A4 con letra de 10 puntos si es helvtica o verdana (12 puntos si es times o equivalente) y interlineado simple. NO se corregirn trabajos ms all de este lmite. Recordar que la PEC adems que es un trabajo personal e individual y no sern evaluadas aquellas que sean copias (de cualquier fuente) o similares a otras PECs. Todos los ejercicios debern mostrar (al menos) una captura de pantalla donde se identifique la mquina del usuario (uname -a) y de muestras de la funcionalidad del ejercicio propuesto. 1. (25 puntos) Analizar la configuracin 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 presenta. En Configuraciones Paranoicas se corren Scripts que cambial todo el sistema en nivel de permisos e ingresos al mismo. Establecer permisos para conexin remota con usuario Root, configurar los servicios que se inician automticamente cuando ocurre algo con el sistema. Tareas programadas que entregan informes de todo lo ocurrido con el servidor, instruccin, 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 configuracin Kinder es ms permisiva con los usuarios y con las conexiones remotas hacia el sistema.

b) Realizar la configuracin adecuada del sistema para que el acceso a sistema sea seguro y no permita usuarios con passwd nulos y que tengan un mnimo de 5 caracteres y un mximo de 8. Instale los paquetes libpam-passwdqc y libpam-cracklib Y edite el archivo /etc/pam.d/common-passwd Colocando la siguiente informacin: password required pam_cracklib.so retry=3 password required pam_unix.so use_authtok nullock min=5 max=8 md5 c) Realizar la configuracin de Apache para que la autentificacin al directorio /var/www/privado se realice a travs de PAM y mostrar evidencias del resultado. Ir con cuidado sobre las configuraciones de este servicio y hacer una copia de la configuracin actual ya que esto puede generar problemas de acceso sobre el sistema. 2. (25 puntos) Hacer una anlisis de intrusin instalando, configurando y utilizando la herramienta Snort. a) configurar Snort como Network Intrusion Detection System y que enve las alertas al sistema de syslog. b) generar la configuracin adecuada para detectar las alertas de un scan realizado desde otra mquina (puede ser virtual) cuando se ejecuta un nmap -A -T4 IP.mquina.con.Snort. Instale los paquetes necesarios: #aptitude install snort-mysql snort-doc acidbase

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 configuracin 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 configuracin 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

Inicie el aplicativo por el navegador, pero no pude capturar informacin. 3. (20 puntos) Considerando los datos del Banco Mundial de datos y concretamente el nmero de usuarios de Internet por cada 100 personas [http://datos.bancomundial.org/indicador/IT.NET.USER.P2] crear una base de datos (en PostgreSQL o en MySQL -slo una de las dos-) para importar estos datos (recomendamos usar CSV, campos separados por comas). En la memoria se deben incluir las sentencias y el trabajo realizado en la BD y los listados y la propia base de datos en archivos adjuntos a la memoria. Baje el archivo de la pgina indicada, lo organice. Teniendo en cuenta que solo exigen datos desde el ao 2000 quite las columnas de los aos 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 pas a partir del ao 2000 (se debe tener cuidado con los aos que no se dispone de datos),

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

Y la media anual (todos los pases), 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 (ordenacin) de mayor a menor nmero 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 pases que en los ltimos 3 aos tienen mayor nmero de usuarios de internet select PAIS,((fechah+fechai+fechaj)/3) as promedio from pectable where code in (select code from pectable) order by promedio DESC limit 10;

4. (15 puntos) Crear un repositorio pblico con Git y los paquetes necesarios para poder visualizarlo con Apache. Demostrar su funcionamiento agregando dos archivos y mostrando los registros (log) que se van obteniendo. Demostrar su funcionamiento que es posible clonar el repositorio desde la mquina local y desde otra mquina (virtual). Instale Linux Debian en una maquina virtual e ingrese por putty para realziar todo lo indicado 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 configuracin de apache para el git: # nano /etc/apache2/conf.d/git Lo edite con la siguiente informacin: <Directory /var/www/git> Allow from all AllowOverride all Order allow,deny Options ExecCGI <Files gitweb.cgi> SetHandler cgi-script </Files> </Directory> DirectoryIndex gitweb.cgi SetEnv 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

Clonado un proyecto Externo:

Revisando el proyecto en el navegador web:

Revisando los logs:

5. (15 puntos) Implementar un firewall por iptables que slo permita acceso a Apache y SSH desde una IP de la red local determinada descartando (DROP) todos los paquetes restantes (no est permitido el uso de herramientas grficas de configuracin). Verificar desde una mquina externa (puede ser virtual pero configurada en otro segmento de red) que el firewall funciona analizando qu puertos permanecen abiertos utilizando alguna de las herramientas propuestas, como nmap. Tambin se puede probar el firewall des de lugares web que permiten verificar el acceso, como por ejemplo GRC (http://grc.com) a travs de ShieldsUP! Se debe tener en cuenta en este caso que muchas veces el router bloquea el acceso a la mquina porque ya est haciendo de FW. Las reglas generadas deben ser permanentes, es decir se deben volver a activar despus de un arranque de la mquina. Como resultado del ejercicio se debe incluir que pasos se han seguido en la configuracin, una descripcin de cada regla y las verificaciones realizadas de funcionamiento. Cree un archivo que se llama firewall.sh y agregue la siguiente informacin:

################ #!/bin/sh # FLUSH de reglas iptables F iptables X iptables Z iptables t nat F # Configuramos la polticas: DROP iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #permito el ingreso de la ip de un host al puerto 80 iptables -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 22 iptables -A INPUT -p tcp -m state --state NEW --source 192.168.0.65 --dport 22 -j ACCEPT #Cierro el puerto 80 para todos los dems. 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.sh Lo ejecute con el comando: sh firewall.sh Para que quedara ejecutndose cada vez que se inicie el sistema edite el siguiente archivo: # vim /etc/rc.local Agregue la lnea: sh /etc/firewall.sh

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

S-ar putea să vă placă și