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

De m1w1k1
Revisión del 06:44 13 feb 2012 de Admin (discusión | contribuciones) (Página creada con ' 14 reuniones, 4 horas cada una = 56 horas - clases 2 reuniones, 4 horas cada uno = 8 horas - evaluaciones Lista de la materia: tpi-est-labo@listas.unq.edu.ar ==Bibliogra...')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegaciónIr a la búsqueda
14 reuniones, 4 horas cada una = 56 horas - clases
2 reuniones,  4 horas cada uno = 8  horas - evaluaciones

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

Bibliografía

Libro y guías

  • 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

Evaluación

Guia paso a paso con licencia Libre

Posible temas para evaluación

2do Semestre de 2010

Redes Sociales

Streamming de audio

  • Icecast2, darkice
  • Diferentes tipo de escenarios de audio en vivo (local y remoto)
  • Trabajo terminado: [6]

Automatización de radio

  • Ampache
  • Trabajo terminado: [7]


1er Semestre de 2011

Streaming en html5

Envío de video en tiempo real por redes. (Usando ffmpeg2theora, ffmpeg, oggfwd, icecast, etc)

http://www.joseluisdibiase.com.ar/alec/streamingEnHTML5_Charkiewicz_Pujadas.pdf

Ejabberd

Servidor de Sistema de mensajería instantanea con protocolo xmpp

http://www.joseluisdibiase.com.ar/alec/TPFinal_Ejabberd_(Alegre-Rodriguez-RuizDiaz-Rosito).pdf

Redmine

Sistema de Manejo de proyectos

http://www.joseluisdibiase.com.ar/alec/Instalar_Redmine.pdf

Telefonía IP

Servidor de telefonía IP: Asterisk

IP.zip http://www.joseluisdibiase.com.ar/alec/Telefonia IP.zip

Zoneminder

Sistema de control de camaras

http://www.joseluisdibiase.com.ar/alec/Slavich-Pilla-Palazzo_TPI_zoneminder.pdf

Pygame

Libreria/Biblioteca para desarrollo de juegos.

http://www.joseluisdibiase.com.ar/alec/TPFinal-LabSO-Pygame.odp

http://www.mediafire.com/?v5sp43xjgqa601h


2do Semestre de 2011

Etherpad

Editor de texto online, multiusuario

* "http://www.interorganic.com.ar/josx/Etherpad.pdf"

Symfony 2.X

Framework desarrollo para PHP

* "http://www.interorganic.com.ar/josx/TutorialSymfony.pdf"

Wormbase

Sitio web dedicado a recopilar la base genertica del C elegans

* https://github.com/aromanowski/website-classic
* http://www.interorganic.com.ar/josx/Wormbase.pdf


Elgg

Red social escrita en PHP

* https://github.com/aromanowski/Elgg
* http://www.interorganic.com.ar/josx/Elgg.pdf

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. Puntos de montaje
    5. Administrador de arranque
  5. Concepttos básicos
    1. Directorios ( /etc , /proc, /home, /var /usr /bin /sbin /boot etc).
    2. Archivos ( ocultos, passwd, groups, etc)
    3. Permisos
    4. Comandos básicos: ls, cat, cd, man, apropos, pwd, df, history, mkdir, cp,rm, mv, touch, tail, head, ln, more, less, wc, diff, find, whereis, which, grep, shutdown, halt, poweroff, reboot


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, build-dep, source, 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. Bash [8]
    1. Hacer un script para automatizar el achicar imagenes de una carpeta (con convert de imagemagick) [9] [10]
    2. Hacer un script para quedarnos solo con el audio de muchos videos (ej con mplayer)
    3. Probar hacer ventans con curses y/o enviar con notify-send algo a pantalla (libnotify-bin)
  5. 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. FreeNX: http://ubuntuguide.org/wiki/Ubuntu:Lucid#FreeNX
  3. 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 )
  4. who, whois, whoami
  5. nic.ar
    1. Por cada tipo de servicio existen varias opciones: dnsmasq, bind9, ISC, etc.
  6. 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)
  7. Cliente de DNS Dinamico (ddclient)
  8. 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, giggle)

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: qemu -boot d -cdrom /dev/cdrom
    3. Mostrar: Virtual Box http://www.virtualbox.org/ http://code.google.com/p/phpvirtualbox/
    4. Mostar e Instalar: Proxmox http://pve.proxmox.com/
    5. Descargar Maquinas virtuales
      1. http://virtualboximages.com/ : http://sourceforge.net/projects/turnkeylinuxovz/files/
      2. http://www.turnkeylinux.org/ : http://ftp.openvz.org/template/precreated/


Clase 12

  1. Seguridad
    1. Claves en firefox
    2. Claves de clientes y servidores
      1. Mostrar gorilla,kedpm, keepassx
    3. Piding (usar OTR y Bonjour )
    4. GNUPg [11]
      1. Implementación de estandar OpenGPG
      2. Clave publica, clave privada. Cifrar y/o firmar
      3. Creamos nuestra clave ( gpg --gen-key, gpg --keyserver pgp.mit.edu --send-key 0D34DB33F, gpg --list-key xxx@dd.org, gpg --export -a 0D34DB33F > dd.asc ) [12]
      4. Buscamos clave en servidor pgp.mit.edu (0xF6396fcc)
      5. Uso de seahorse [13]
      6. Probamos extensiones para firefox: Firegpg [14], S/MIME [15]
      7. Cifrar, Firmar y decifrar archivo: gpg -o archivo_cifrado.gpg --encrypt --sign -r rolo@puente.com.ar claves_de_root_de_la_nasa.txt, gpg --decrypt archivo_cifrado.gpg
      8. Probar cliente de correo: thunderbird / plugin enigmail
    5. Estar al tanto de los fallos de seguridad de paquetes (listas de avisos)
      1. Packetstorm [16], exploit-db, etc
      2. Securityfocus - bugtraq [17]
      3. Distro especificas: debian-security-announce@lists.debian.org
    6. 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 http://www.joseluisdibiase.com.ar/alec/exploit_via_sq_injection.flv
      2. Ejemplo sitio de corradir: http://www.coradir.com.ar/filtro_productos.php?id=878999999%20or%20id=8
      3. Ejemplo http://www.inpi.gov.ar/conweb/MensajeErorres.asp?mensaje=sdsdaasdasdasdsadasd
      4. Ejemplo http://www.anses.gob.ar/oficinas.php?id=25
    7. Verificar/Jugar con sitios web probando las aplicaciones
      1. Instalar Firebug (analisis rápido de html para sitios web)
      2. A mano, que muestre errores (ej: Scaneando el sitio, probar ids a mano, metiendo caracteres como ' ", etc)
      3. Usando herramientas más especializadas: nikto, nmap, sqlmap
      4. Datos como el de robots.txt (http://www.robotstxt.org/)
      5. Probar seguridad mínimamente de sitio de la UNQ. EJ: biblio.unq.edu.ar, uvq.edu.ar, etc.
    8. Backtrack (Distro linux para penetration testing) [18]
    9. Comentar sobre w3af, metasploit
    10. WireShark [19]/Ettercap [20] - captura de paquetes en la red: ettercap -Tq -i interfaz -M arp:remote /ip_gateway/ // -w dump
    11. Firesheep

Clase 13

  1. MTA
  2. VPN

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

Clase 14

  1. LDAP
  2. Puppet

Clase 15

  1. Evaluación

Clase 16

  1. Evaluación