Universisdad Nacional de Quilmes

De m1w1k1
Ir a la navegaciónIr a la búsqueda

Laboratorio de Redes y Sistemas Operativos - Tecnología en redes II

16 reuniones, 4 horas cada una = 64 horas - clases
2 reuniones,  4 horas cada uno = 8  horas - evaluaciones
Pruebas en Laboratorio 5 de agosto
Clases Empiezan 12 de agosto

Lista de la materia: tpi-est-red2@listas.unq.edu.ar

Bibliografía

Libro y guíass

  • Administración de Sistemas Linux - Oreilly
  • Linux Servers - Los mejores Trucos - Oreilly

Listas de correo

  • Enumerar las listas de los diversos servicios a tratar


Foros/Sitios


otros

Posible temas para evaluación

Guia paso a paso con licencia Libre.

  • Ulteo
  • Ebox
  • Clientes livianos: LTSP/ TCOS
  • Streaming Audio ( icecast2, darkice)
  • Microblogging ( Statusnet ), con servidor jabber
  • ¿Streaming video?
  • VoIP ( freeswitch, elastix, debswitch)
  • Turnkey
  • Red Social tipo Facebook ( diaspora, gnusocial, elgg, gnewbook etc)

2do Semestre de 2010

Redes Sociales

  • Statusnet
  • Diaspora

Streamming de audio

  • Icecast2, darkice
  • Ancho de banda necesario para N clientes
  • Diferentes tipo de escenarios de audio en vivo (local y remoto)

Automatización de radio




Clase 1

  1. Presentción de la materia
    1. ¿Que vamos a hacer durante las clases?
    2. Forma de evaluación
  2. ¿Porque usamos Software Libre?
  3. Nuestros amigos (Bibliografía)
    1. Libros
    2. Listas de Correos
    3. Foros
  4. Instalación de GNU/Linux (varias formas de instalación cd,dvd,usb,red)
    1. Diferentes Distribuciones: ¿Porque usamos Debian y/o Ubuntu?
    2. Diferentes Filesystems
    3. Particionado de disco (/home /var swap, lvm, raid, crypto)
    4. Administrador de arranque
  5. Concepttos básicos
    1. Directorios ( /etc , /proc, /home, etc).
    2. Archivos ( ocultos, passwd, groups, etc)
    3. Permisos
    4. Comandos básicos: ls, cat, cd, man, apropos


Que no puede faltar comentar

  • Todo es un archivo
  • Solo se instala lo que se va a utilizar, no se deja el compilador, ni código fuente
  • Paciencia
  • Nombre del Host


Mis aplicaciones preferidas

  • Editor de textos: vim
  • Explorador de archivos: mc
  • Terminal Quake: Tilda

Clase 2

  1. Administración de paquetes: https://help.ubuntu.com/10.04/serverguide/C/package-management.html
    1. Bajar: http://sourceforge.net/projects/geeqie/
    2. Comprimir/descomprimir: ( bzip2, gzip, tar, rar, zip) ej: tar zxvf archivo, tar zcvf , tar jxvf, tar jcvf
    3. Compilar un software en c ( descomprimir, configure, make, make install )
    4. Archivos comunes ( LICENSE, README, INSTALL )
    5. Empaquetamiento (dpkg, rpm, etc), dependencias.( apt-get, install, update, upgrade, dist-upgrade, apt-cache search , apt-cache search, depends, showpkg, show, policy)
    6. ¿Qué son los repositorios? Instalar desde los Repositorios (/etc/apt/sources.list, Ubuntu ppa, Agregar debian-multimedia)
    7. Synaptic
  2. Ajustando entorno de trabajo
    1. Aplicaciones preferidas
    2. Línea de comando (terminal/consola/shell) vs. Entorno gráfico (ej: synaptic(gui grafica), apt-get(no gui), aptitude(gui txt))
  3. Configuracion de red de la maquina cliente (IP, GW, DNS, HOSTNAME)
    1. Usando la configuración automatizada de debian ( /etc/network/interfaces y comando ifup, ifdown)
    2. Usando ip, ifconfig, route, resolv.conf, hostname, hosts )
  4. Instalamos SSH (forma común de administración de servidores): https://help.ubuntu.com/10.04/serverguide/C/openssh-server.html
    1. ¿Donde puedo configurarlo? /etc/ssh
    2. Como se ejecuta desde el inicio, como lo ejectuo ( invoke-rc.d, update-rc.d, service )
    3. Generamos y copiamos claves (herramientas ssh-copy-id, ssh-key-gen )
    4. cambiamos de maquinas y administramos
    5. Diferentes clientes: ssh, putty, winscp
    6. Usamos scp
    7. ssh -X (levantar X en otro maquina )
    8. Diferentes opciones de ssh (ej -t, socks, forward port, scp ):http://blog.rodrigorega.es/proxy-socks-via-tunel-ssh-para-navegar-seguro/
    9. Ej: ssh -N -C -D 9999 NOMBRE_USUARIO@IP_SERVIDODR_SSH -p PUERTO

Clase 3

  1. Instalación y configuración de un servidor DHCP: http://www.tldp.org/HOWTO/DHCP/x369.html, https://help.ubuntu.com/8.04/serverguide/C/dhcp.html
    1. Probamos el cliente desde la linea de comandos ( dhclient )
  2. Instalación y configuración de un servidor DNS: http://wiki.xtech.com.ar/index.php/Servidor_de_nombres_DNS , https://help.ubuntu.com/8.04/serverguide/C/dns.html
    1. Usamos dig ( ej: dig ar ns )
    2. Por cada tipo de servicio existen varias opciones: dnsmasq, bind9, ISC, etc.
  3. Firewall https://help.ubuntu.com/8.04/serverguide/C/firewall.html
    1. Conceptos básicos ( filtrado de paquetes, Masquerading, port forward, logs, etc)
    2. Otras Herramientas (ufw, pfsense, firestarter, sistemas embebidos: ddwrt, tomatoe, openwrt, coyote etc)
  4. Cliente de DNS Dinamico (ddclient)
  5. NFS

Clase 4

  1. Comunicación con Windows: Samba
  2. Servidor FTP: Vsftpd
  3. Servicios de impresión:
    1. Cups (Instalar de prubea una impresora pdf - instalar cups-pdf)
    2. Herramientas de cups (lp) en terminal: http://www.g-loaded.eu/2005/11/10/using-a-cups-printer-from-command-line/
  4. CRON, ANACRON
  5. Links duros y simbolicos
  6. Backup: Rsnapshot (alternativas: bacula, amanda etc)

Clase 5

  1. Instalar y probar apt-cacher-ng
  2. Manejo de bugs
    1. Debian: http://www.debian.org/Bugs/
    2. Launchpad: https://bugs.launchpad.net/
    3. reportbug, reportbug-ng,
    4. Listas de Anuncios de seguridad ( http://lists.debian.org/debian-security-announce/, https://lists.ubuntu.com/mailman/listinfo/ubuntu-security-announce )
    5. ¿Como usar una lista de correo? http://www.debian.org/MailingLists/index.es.html
    6. Seguir anuncios de RSS (ej: http://www.ubuntu.com/usn/rss.xml). Instalar para probar: Liferea
  3. Introducción a fuentes de Debian
    1. ¿Qué es diff?
    2. Ver Bug de JMDLX
    3. apt-get source jmdlx
    4. Explicación sobre los archivo que bajamos
    5. apt-get build-dep jmdlx
    6. dpatch apply, ./debian/rules patch unpatch
    7. Modificamos código fuente
    8. Usar dpatch-edit-patch para crear parche

Clase 6

  1. Servidores web
    1. Lógica del protocolo HTTP ( GET, POST, etc)
    2. Apache
      1. Introcucción
      2. Programación: PHP, Python, Ruby on rails, Perl, C, C++, etc
      3. Modulos para Apache ( agregar, quitar, etc) a2enmod, a2dismod
      4. Host virtuales ( crear, borrar, habilitar, etc) a2ensite, a2dissite
    3. Existen otros ( lighthtpd, cherokee, nginx etc)
    4. Probar desde una terminal un GET al servidor ( telnet server 80 ej: get / http/1.1 enter )
    5. Instalar en Firefox: livehttpheaders y usarlo (http://livehttpheaders.mozdev.org/)
  2. Motores de Bases de datos
    1. Conocimientos mínimos de SQL
    2. Postgresql
      1. Instalción básica (http://www.postgresql.org/docs/8.4/static/admin.html)
      2. Linea comandos: cliente psql
      3. otros clientes
    3. Mysql
      1. Instalción básica
      2. Linea comandos: cliente mysql
      3. otros clientes
    4. SQLite (http://www.sqlite.org/sqlite.html)

Clase 7

  1. Sistema de control de versiones
    1. Lógica, Funcionamiento
    2. Diferentes opciones: cvs, mercurial, svn, git, bazaar
  2. Subversion: ( https://help.ubuntu.com/10.04/serverguide/C/subversion.html, http://svnbook.red-bean.com/ )
    1. Instalación
    2. Utilización (status, diff, Add, commit, conflictos, properties edit/Add/del )
    3. Cliente con GUI: Tortoise, Rabbit, kdesvn, Rapidsvn, etc)
  3. GIT
    1. Conceptos y historia: Sucesor de Bitkepper en Kernel de Linux, Linus Torvalds, Sistema distribuido de control de versiones, Relacionar con SVN
    2. Utilización báscia ( creación de repositorio para ejemplo y comandos init, add, commit, push , clone, pull, tag, etc)
    3. Clientes con GUI ( gitg)

Clase 8

  1. Aplicaciones LAMP/LAPP (con vhost)
    1. Conocimientos mínimos (php_info, conexion a db, etc)
    2. INstalar aplicaciones para probar
      1. Phpmyadmin
      2. Wordpress (bajar del sitio web: http://wordpress.org/download/, ponerle traduccion al español y tema gráfico)
  2. Otras apps - Administración de proyectos ( bug tracker, control versiones, colaboración): trac, redmine, bugzilla, mantis, bugzilla
    1. Instalar Trac (crear repo de svn y utilizar webserver integrado)
    2. Instalar Piwik (http://piwik.org )

Clase 9

  1. Frameworks
    1. ¿Para qué?
    2. ¿Por qué?
    3. Diferentes opciones Symfony: Ejemplo...
      1. PHP: Symfony, Zend Framework, (millones más)
      2. Pyhton: Django, TurboGears
      3. Ruby: Ruby on rails
    4. CherryPy (http://www.cherrypy.org/wiki/CherryPyTutorial)
    5. Symfony
      1. Mostar carácteristicas
      2. Probamos hacer un ABM rápidamente

Clase 10

  1. Monitoreo
    1. OCSinventory: Inventario de maquinas
      1. http://www.ocsinventory-ng.org/
      2. Instalación de ocsinventory-server y reports (admin:admin)
      3. INstalación de ocsinventory-agent
    2. Nagios3: Monitor de red
      1. http://www.nagios.org/
      2. http://lavilladecactilio.wordpress.com/2009/07/23/howto-instalacion-y-configuracion-de-nagios3-en-debian-lenny/
      3. aviso por twitter: http://veinti1.com/configurar-nagios-para-que-te-avise-por-twitter/
    3. Munin (monitoreo de discos, servicios, etc)
      1. http://munin-monitoring.org/
      2. https://help.ubuntu.com/10.04/serverguide/C/munin.html
      3. INstalar servidor y node

Clase 11

  1. Virtualización
    1. Diferentes Opciones: Openvz, Vservers, Qemu, VBox, Xen
    2. Mostrar Ejempos simples con Qemu correr Livec
    3. Mostrar: Virtual Box
    4. Mostar e Instalar: Proxmox
    5. Descargar Maquinas virtuale
      1. http://virtualboximages.com/
      2. http://www.turnkeylinux.org/

Clase 12

  1. MTA

Clase 13

  1. VPN

http://ubuntuguide.org/wiki/Ubuntu:Lucid#OpenVPN

Clase 14

  1. Seguridad
    1. Claves de clientes y servidores
      1. Mostrar gorilla,kedpm, keepas
    2. GNUPg
      1. Creamos nuestra clave
      2. Uso de seahorse
      3. Probamos extensiones para firefox
    3. Estar al tanto de los fallos de seguridad de paquetes (listas de avisos)
      1. Packetstorm
      2. Securityfocus - bugtraq
      3. Distro especificas: debian-security-announce@lists.debian.org
    4. Al menos tener mínimos conocimientos de posibles problemas al desarrollar (buffer overflows, sql injections, xss, etc)
      1. Ver video de ejemplos de sql injections
    5. Verificar/Jugar con sitios web probando las aplicaciones
      1. Instalar Firebug (analisis rápido de html para sitios web)
      2. A mano (ej: Scaneando el sitio, probar ids a mano, metiendo caracteres como ' ", etc)
      3. Usando herramientas más especializadas: nikto, nmap
      4. Probar seguridad mínimamente de sitio de la UNQ. EJ: biblio.unq.edu.ar, uvq.edu.ar, etc.
    6. Backtrack (Distro linux para penetration testing)
    7. Comentar sobre w3af, metasploit
    8. WireShark/Ettercap - captura de paquetes en la red: ettercap -Tq -i interfaz -M arp:remote /ip_gateway/ // -w dump
    9. Firesheep

Clase 15

  1. LDAP

Clase 16

  1. Puppet

Clase 17

  1. Evaluación

Clase 18

  1. Evaluación