Implementación de Servidores bajo el Sistema GNU/LINUX Ing. Alejandro Escalante aescalan@ine.gob.mx 9 de Marzo de 2006 INE- DARI
Temario Introducción Perspectiva histórica Qué es GNU/Linux? Instalación Preparativos Hardware y software Aspectos de configuración Particiones y el disco duro El proceso de instalación Las cuentas de usuarios Uso de comandos básicos El software GNU/Linux Actualización, archivos RPM Configuración de red (LAN) Configuración de servicios web, vsftp, ssh, sftp sendmail squirrelmail
I. Introducción a GNU/Linux Perspectiva histórica Hasta los comienzos de 1980 era común compartir y modificar código, para ser implementado en diferentes plataformas. Empresas comerciales comienzan a obligar a sus programadores a firmar contratos de confidencialidad para no revelar el código de los programas desarrollados. Quienes revelaran datos de esos programas serían considerados piratas. En 1984, un investigador del Laboratorio de Inteligencia Artificial del MIT, Richard Stallman, renuncia al mismo en contraposición a la prohibición a no poder compartir el código de programas entre colegas. Funda en ese momento una Fundación en apoyo al Software Libre. Free Software Fundation. Se plantea la siguiente pregunta: Hay algún programa que yo pueda realizar y compartir a una nueva comunidad?
La respuesta no fue difícil de encontrar Sistema Operativo Así podría existir una nueva comunidad cooperando e invitar a cualquiera a unirse Un S.O. similar UNIX, para fácil migración de usuarios Nace de esta manera el Proyecto GNU GNU es un acrónimo recursivo de GNU s Not UNIX El S.O. contaría para comenzar con: Ensambladores Compiladores Depuradores Editores de Texto Aplicaciones Etc.
Introducción. Algunas fechas 1962 CTSS @ MIT: tiempo compartido y protección 1967 MULTICS @ MIT, Bell, GE: el SO más avanzado de su época. Multiusuario, multiproceso, árbol de ficheros, intérprete de órdenes (shell). 1973 UNIX@ Bell (Thompson, Ritchie) escrito en C 1978 3BSD @ Berkeley memoria virtual paginada 1980 4BSD @ Berkeley (DARPA) Internet 1984 GNU (Richard Stallman) Emacs 1988 X y NeWS: sistema de ventanas distribuido 1990 Normalización : Sun + AT&T, POSIX, XOPEN 1991 386BSD, Kernel Linux, versiones libres
Introducción - Definiciones El Software Libre nada tiene que ver con su valor económico,sino con la Libertad. Free Software no es Software Gratis, sino Software Libre Para que un software sea considerado libre, debe cumplir con lo siguiente: Libertad para ejecutar un programa con cualquier propósito Libertad para modificar el programa y adaptarlo a sus necesidades Libertad para distribuir copias gratuitamente Libertad para distribuir versiones modificadas Para ello es necesario De esta manera Acceder al Código del Programa Toda la comunidad se beneficia Nace así el CopyLEFT. Su implementación jurídica es la GNU GPL General Public Licence - Licencia Pública General
Introducción. Migración Algunas aplicaciones Oficina StarOffice OpenOffice Koffice AbiWord Gnumeric Bases de Datos PostgreSQL MySql DB2 (IBM) Oracle (Comercial) Informix (Comercial) Mail Evolution StarOffice Netscape Kmail Mozilla Navegadores Netscape Konqueror Galeon Firefox Mozilla Desarrollo Emacs Glade KDE Studio Kylix JBuider Soluciones Web Seguridad Informática - Servidores Apache - Desarrollo PHP MySql - Servidores de Mail - SendMail - Libre de Virus - Firewalls - iptables - Proxy - Squid - Herramientas de Auditoria
Introducción. Qué es GNU/Linux? Comienzos de los 90 El S.O. GNU estaba casi listo. Surge la necesidad de un núcleo De manera totalmente independiente al Proyecto GNU, Linus Torvalds junto a un grupo de programadores había dado los primeros pasos en el desarrollo de un núcleo similar a MINIX y UNIX compatible. Linus pone a disposición ese kernel bajo las licencias GPL y pasa a ser parte del proyecto GNU Es gracias a LINUX que en la actualidad podemos ver funcionar un Sistema GNU
Introducción - Características Principales Sistema Operativo similar a UNIX. Libre Soporta 486, Pentium, AMD, Cyrix, SPARC, DEC, Alpha,PowerPC, Mac Uso Personal (PC), Servidores y Estaciones de Trabajo Soporta redes TCP/IP y otros protocolos Multi-Usuario, Multi-Tarea, MultiPlataforma
Introducción. Mas de 80 Distintas Distribuciones REDHAT FEDORA DEBIAN KNOPPIX Es la más extendida Eso da gran ventaja. Buenos entornos gráficos. Buen Soporte. Fácil instalar Preferida por los Programadores Es la más grande no comercial Aventaja a las demás en herramientas. Fácil instalación. SUSE Es amena. Buenas herramientas de administración. Buenos manuales en español. Viene con KDE. MANDRAKE Usa el mismo formato de archivos que RedHat y Suse (RPM) Es la más fácil de instalar. Trae GNOME. Se actualiza muy seguido. CENTOS Orientada a servidores en producción, sistema con soporte para grandes equipos, basado en RHEL
Requerimientos mínimos de hardware CPU 486, celeron, pentium, pentium pro, II, III, IV, centrino, AMD Athlon, Athlon XP, Familia x86 AMD64, Power PC, Itanium Bus ISA, EISA, PCI, VESA, AGP, USB, FIREWIRE RAM >256 Mb HD >4Gb Aspectos de configuración Aceptar licencia GPL Espacio en disco, particiones Tipo de instalación, personal, estación de trabajo, servidor Uso horario,idioma, teclado, red
CENTOS Es una distribución basada en Redhat Enterprise Libre, orientado a servidor El costo de RHEL es de 3,000 USD Estabilidad Compatibilidad Actualizaciones Soporte
Administración de Usuarios Metas de una administración correcta de usuarios Usuarios Propios de Linux Usuarios de Alto Privilegio Usuarios Privados: Grupos Privados: Privacidad Organización Compartir recursos Niveles de Privilegio Mail, FTP, Daemons, etc. Root, alguno que asigne Root Determinados por los permisos Usuarios con iguales privilegios useradd Agrega usuarios passwd Cambia la contraseña usermod Modifica datos de un usuario userdel Elimina usuarios chmod Cambia permisos
Seguridad en LINUX 1) Seguridad Física Políticas de contraseñas 2) Políticas de Seguridad Políticas de respaldos Determinación de niveles de Acceso Políticas de bitácoras No preocuparse por Virus Informáticos 3) Seguridad Lógica Nivel Software Estar al tanto de vulnerabilidades y emparchar o actualizar software con fallas Desactivar todos los servicios que no se utilicen Cerrar puertos no utilizados Contar con reglas de Firewall (iptables) Programación Segura Auditar permanentemente la Red
La contraseña Función de dispersión: consiste en un sistema de cifrado en un solo sentido. Visible: /etc/passwd Elegirla adecuadamente: Evitar palabras del diccionario, nombres, números Evitar palabras en idiomas comunes Combinar letras con números Elegir claves que tengan algún sentido (que sea fácil de recordar) Cambiarla con cierta frecuencia
Otras formas de acceder Desde el entorno local en modo textual máquina login: Password: Desde otro sistema de la red En modo textual ssh usuario@maquina En modo gráfico ssh X usuario@maquina kcalc scp archivo usuario@maquina:archivo
Facilidades de interacción Renombrar órdenes complicadas alias rm= /bin/rm -i Manejar la historia Utilizar las flechas history!! (repetir la última orden)!3 (repetir el 3)!expre:p (busca la última orden ejecutada que empieza por expre) Directorios de usuarios ~ ~alex Completar el nombre de archivos <TAB>
Tipos de órdenes Informativas man (por secciones), info, mozilla, lynx, gv date, cal, ps, pwd Ejecutivas De usuario: lpr, cp, mv, rm De sistema: sync, halt, reboot, shutdown Procesadoras editores (kedit, kwrite, nedit, pico, vi, emacs) od, strings, head, tail, grep, awk diff, find
Sistema de ficheros Uniforme ficheros, directorios, dispositivos, comunicación un fichero es una secuencia de bytes el significado se lo da el programa que lo usa sufijos y prefijos tipo o números mágicos Nombres largos Maneja otros tipos de sistemas de ficheros BSD 4.2 (dispositivos y particiones) CD-ROM (ISO, RockRide, Joliet) Memoria FAT 16, FAT 32 o NTFS Remotos (NFS, NetBios)
Sistema de ficheros jerárquico El sistema de ficheros es jerárquico Se parte de una estructura mínima / El resto se monta en alguna de las ramas mount (también se puede ver con df) /dev/hda4 on / type ext2 (rw) none on /proc type proc (rw) /dev/hda2 on /usr type ext2 (rw) /dev/hda5 on /home type ext2 (rw) /dev/hdb2 on /windows type vfat (rw,noexec,nosuid) none on /dev/pts type devpts (rw,mode=0622) /dev/hdc on /mnt/cdrom type iso9660 (ro,noexec,nosuid,nodev,user=tomas) Sistema de ficheros distribuido monta dispositivos de otras máquinas como directorios locales.
Navegación por el sistema de ficheros Camino absoluto Para acceder a un fichero hay que dar su camino absoluto desde la raíz del sistema. cat /usr/share/doc/gcc-3.0/readme cd $HOME cd ~ Camino relativo cd /usr/share/doc/gcc-3.0 pwd cat README cd../gzip ; cat README ls -alrt directorio (ordenados por tiempo, incluidos.*) ls -R directorio (clasificado y recursivo)
Manipulación de ficheros mkdir directorios rmdir directorios crear directorios borra directorios rm ficheros rm -r nombres -i -f borra ficheros borra recursivo borra preguntando borra sin preguntar mv nombrea nombreb mv fichero directorio cambia nombres mover ficheros cp ficheroa ficherob cp ficheroa directoriob copiar copiar a otro directorio cp -r directorioa directoriob -p -i copiar recursivo conservando atributos preguntando
FIN Ing. Alejandro Escalante aescalan@ine.gob.mx