Herramientas de usuario

Herramientas del sitio


linuxavanzado

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
linuxavanzado [2015/08/20 13:39]
fmolinuevo [2.4. [ ] Configuración de redes]
linuxavanzado [2015/08/27 18:27] (actual)
fmolinuevo [9.2. [ ] Instalación y puesta a punto]
Línea 66: Línea 66:
 ====  2.4.  [  ] Configuración de redes ==== ====  2.4.  [  ] Configuración de redes ====
  
-La configuración de red en CentOS se encuentra en el archivo /​etc/​sysconfig/​network y en el directorio /​etc/​sysconfig/​network-scripts/​ dentro de varios archivos y scripts de configuración.+La configuración de red en CentOS se encuentra en el archivo ​**/​etc/​sysconfig/​network** y en el directorio ​**/​etc/​sysconfig/​network-scripts/​** dentro de varios archivos y scripts de configuración.
  
 Los archivos más importantes allí dentro son ifcfg-lo y ifcfg-eth0. A continuación,​ un ejemplo de configuración de ifcfg-eth0 para utilizar una IP fija: Los archivos más importantes allí dentro son ifcfg-lo y ifcfg-eth0. A continuación,​ un ejemplo de configuración de ifcfg-eth0 para utilizar una IP fija:
Línea 93: Línea 93:
 Al ser instalado CentOS, por defecto trae algunas reglas de firewall que cierran el acceso a puertos que pudiesen estar abiertos. Al ser instalado CentOS, por defecto trae algunas reglas de firewall que cierran el acceso a puertos que pudiesen estar abiertos.
  
-Para desactivar ​el firewall, se debe limpiar primero las reglas de Netfilter y luego desactivar el script que activa el firewall ​al inicio del sistema operativo, tanto para IPv4 como IPv6:+A los efectos de este curso, ​el firewall ​no es necesario. Para desactivarlo, se debe limpiar primero las reglas de Netfilter y luego desactivar el script que configura las reglas ​al inicio del sistema operativo, tanto para IPv4 como IPv6:
  
   iptables -F   iptables -F
   chkconfig iptables off ; chkconfig ip6tables off   chkconfig iptables off ; chkconfig ip6tables off
 +
 +=== SELinux ===
 +
 +SELinux es una mejora a la seguridad básica del kernel Linux. Sin embargo, si no se utiliza, o no se sabe cómo manejarlo, se debe desactivar para que los sistemas y servicios funcionen como deberían hacerlo por defecto.
 +
 +Para ello, se debe editar el archivo de configuración **/​etc/​sysconfig/​selinux** y asegurarse que la siguiente variable quede como:
 +
 +  SELINUX=disabled
 +
 +
 +
  
 =====  3. DNS: qué es y cómo funciona, terminología,​ configuración ===== =====  3. DNS: qué es y cómo funciona, terminología,​ configuración =====
Línea 243: Línea 254:
  
 <​VirtualHost *:​80> ​ <​VirtualHost *:​80> ​
-  ServerAdmin webmaster@ejemplo.com  +  ServerAdmin webmaster@sitio1.com  
-  DocumentRoot /var/www/ejemplo.com/​public_html  +  DocumentRoot /var/www/sitio1.com/​public_html  
-  ServerName www.ejemplo.com  +  ServerName www.sitio1.com  
-  ServerAlias ​ejemplo.com  +  ServerAlias ​sitio1.com  
-  ErrorLog /var/www/ejemplo.com/​error.log  +  ErrorLog /var/www/sitio1.com/​error.log  
-  CustomLog /var/www/ejemplo.com/​requests.log+  CustomLog /var/www/sitio1.com/​requests.log 
 +</​VirtualHost>​ 
 + 
 +<​VirtualHost *:80>  
 +  ServerAdmin webmaster@sitio2.com  
 +  DocumentRoot /​var/​www/​sitio2.com/​public_html  
 +  ServerName www.sitio2.com  
 +  ServerAlias sitio2.com  
 +  ErrorLog /​var/​www/​sitio2.com/​error.log  
 +  CustomLog /​var/​www/​sitio2.com/​requests.log
 </​VirtualHost>​ </​VirtualHost>​
 </​code>​ </​code>​
Línea 260: Línea 280:
 servicios instalados. servicios instalados.
  
-==== Temario ====+
  
 ==== 5.1. [ ] Servidor DHCP: conceptos, utilidad, puesta a punto ==== ==== 5.1. [ ] Servidor DHCP: conceptos, utilidad, puesta a punto ====
Línea 415: Línea 435:
 ==== 5.2. [ ] Interacción con otros servicios ==== ==== 5.2. [ ] Interacción con otros servicios ====
  
-===== proxy.pac (wpad.dat) ​=====+=== proxy.pac (wpad.dat) ===
  
 Para que la configuración automática de proxy funcione en las estaciones de trabajo, se debe realizar lo siguiente: Para que la configuración automática de proxy funcione en las estaciones de trabajo, se debe realizar lo siguiente:
Línea 422: Línea 442:
   - Configurar el DNS con un host llamado "​wpad",​ para que Mozilla Firefox no tenga problemas para encontrar el proxy.pac   - Configurar el DNS con un host llamado "​wpad",​ para que Mozilla Firefox no tenga problemas para encontrar el proxy.pac
  
-===== DNS =====+=== DNS ===
  
 En Bind, hay que asegurarse que las líneas En Bind, hay que asegurarse que las líneas
Línea 431: Línea 451:
  
   allow-update { localhost; };   allow-update { localhost; };
 +
 +===== 6. Kernel: compilación y parcheo =====
 +
 +==== Objetivos ====
 +
 +Incorporar conocimientos sobre el funcionamiento de Linux, así como aprender a configurar, compilar, instalar y probar kernels en un mismo equipo.
 +
 +==== 6.1.  [  ] Kernel: conceptos y filosofía ====
 +
 +==== 6.2.  [  ] Compilación:​ procedimiento,​ prueba ====
 +
 +El primer paso es instalar algunas herramientas de desarrollo, necesarias tanto para compilar, como para preparar el código fuente:
 +
 +  yum groupinstall "​Development Tools"
 +  yum install ncurses-devel
 +  yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
 +
 +
 +
 +==== 6.3.  [  ] Parcheo: utilidad, patch, instalando parches ====
 +
 +=====  7. Samba: configuración y puesta a punto =====
 +
 +==== Objetivos ====
 +
 +Incorporar conocimientos que permitan facilitar la interacción entre equipos Linux y Windows.
 +
 +====  7.1.  [  ] Samba: conceptos, usos, posibilidades ====
 +
 +Samba permite compartir directorios,​ archivos e impresoras con estaciones de trabajo Windows. Es decir, permite simular el comportamiento de un equipo Windows en lo que a compartición de recursos se refiere. También puede actuar ofreciendo esos servicios a estaciones de trabajo Linux.
 +
 +Permite también configurar un Primary Domain Controller (PDC) o un Backup Domain Controller (BDC).
 +
 +====  7.2.  [  ] Configuración y puesta a punto ====
 +
 +Los archivos de configuración se encuentran en /etc/samba. El más importante es **smb.conf**. Este archivo típicamente se recomienda que sea lo más pequeño posible, sin comentarios y no se deben agregar variables o instrucciones a menos que se conozca exactamente el impacto que provocarán.
 +
 +En un sistema CentOS, para evitar inconvenientes,​ se debería desactivar SELinux como primera medida, si no se lo necesita.
 +
 +Un archivo de configuración típico de un Samba actuando como PDC, y con un directorio compartido llamado "​archivos"​ puede ser:
 +
 +<​code>​
 +[global]
 +        workgroup = INTRANET ​
 +        netbios name = FILESRV
 +        netbios aliases = SERVER
 +        server string = Samba Server %v
 +        interfaces = lo eth0
 +        bind interfaces only = Yes
 +        passwd program = /​usr/​bin/​passwd %u
 +        passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:​*all*authentication*tokens*updated*successfully*
 +        unix password sync = Yes
 +        log file = /​var/​log/​samba/​%m.log
 +        max log size = 50
 +        max xmit = 65535
 +        name resolve order = host wins lmhosts bcast
 +        deadtime = 15
 +        add machine script = /​usr/​sbin/​useradd -d /dev/null -g machines -s /bin/false -M %u
 +        logon script = inicio.cmd
 +        logon drive = Z:
 +        domain logons = Yes
 +        os level = 64
 +        preferred master = Yes
 +        domain master = Yes
 +        wins proxy = Yes
 +        wins support = Yes
 +        ldap ssl = no
 +        idmap config * : backend = tdb
 +        admin users = +admins
 +        create mask = 0660
 +        directory mask = 0770
 +        use sendfile = Yes
 +        posix locking = No
 +        strict locking = No
 +
 +[homes] ​
 +        comment = Home Directories
 +        read only = No
 +        browseable = No
 +
 +[profiles]
 +        path = /​datos/​samba/​profiles
 +        read only = No
 +        create mask = 0600
 +        directory mask = 0700
 +        browseable = No
 +
 +[netlogon]
 +        comment = Network Logon Service
 +        path = /​datos/​samba/​netlogon
 +        write list = +admins
 +        guest ok = Yes
 +
 +[archivos]
 +        comment = Repositorio de archivos
 +        path = /​datos/​archivos
 +        read only = No
 +</​code>​
 +====  7.3.  [  ] Administración de usuarios ====
 +
 +En forma básica, los usuarios deben ser creados en el sistema primero, con el comando **useradd** y luego a Samba, con el comando **smbpasswd**:​
 +
 +  useradd usuario
 +  smbpasswd -a usuario
 +
 +
 +====  7.4.  [  ] Configuración de comparticiones (almacenamiento e impresoras) ====
 +
 +Las impresoras configuradas con CUPS, serán compartidas automáticamente mediante Samba con la siguiente configuración en smb.conf:
 +
 +<​code>​
 +  [printers]
 +        comment = All Printers
 +        path = /tmp
 +        create mask = 0700
 +        printable = Yes
 +        print ok = Yes
 +        browseable = No
 +</​code>​
 +
 +La configuración de un directorio compartido, permitiendo el acceso de los usuarios del grupo "​intranet",​ se realiza con un bloque de configuración como:
 +
 +<​code>​
 +[archivos]
 +        comment = Archivos de datos
 +        path = /​datos/​archivos
 +        write list = +&​intranet
 +        read only = No
 +</​code>​
 +
 +
 +
 +=====  8. Correo-e: SMTP/​POP3/​IMAP =====
 +
 +==== Objetivos ====
 +
 +Aprender a configurar, operar y mantener un servidor de correo electrónico completo.
 +
 +====  8.1.  [  ] SMTP/​POP3/​IMAP:​ conceptos, definiciones,​ funcionamiento ====
 +
 +El servidor SMTP es el encargado de transferir los mensajes de correo electrónico tanto entre servidores, como repartirlo a los usuarios existentes dentro de un servidor. Escucha en el puerto TCP 25, mientras que el puerto seguro es TCP 465. En este curso se usará Postfix.
 +
 +El servicio POP3 permite la transferencia de los mensajes de correo electrónico que han llegado a una cuenta, desde el servidor hasta la estación de trabajo. Generalmente luego de transferidos,​ son eliminados del servidor. El puerto del protocolo es TCP 110, mientras que el puerto seguro es TCP 995. En este curso se verá Cyrus POP3.
 +
 +El servicio IMAP ofrece la posibilidad de que los usuarios puedan leer los mensajes de sus cuentas de correo-e en el servidor, sin que los mensajes queden físicamente en los clientes de correo electrónico,​ más que en forma temporal en su caché. Esto ofrece la posibilidad a los administradores de configurar permisos sobre los mensajes y carpetas, permitir el acceso a las mismas cuentas a varios usuarios, y otras posibilidades prácticas para empresas y grupos de trabajo. El protocolo tiene especificado el puerto TCP 143, mientras que el seguro es el puerto TCP 993.
 +
 +====  8.2.  [  ] Postfix: instalación y configuración del servidor SMTP ====
 +
 +Postfix es un SMTP seguro, eficiente, flexible y poderoso. Sus archivos de configuración están en /​etc/​postfix,​ y los principales son main.cf y master.cf. En el primero se define la mayor parte de la configuración del servicio, mientras que en el segundo se configuran los procesos y sistemas que forman parte de Postfix.
 +
 +Algunas de las variables más importantes que se debe configurar en main.cf son:
 +
 +  myorigin = $myhostname
 +  inet_interfaces = $myhostname,​ localhost
 +  mydestination = $myhostname,​ localhost.$mydomain,​ localhost
 +
 +En master.cf para activar el puerto seguro 465, se debe descomentar el siguiente bloque de configuración:​
 +
 +<​code>​
 +smtps     ​inet ​ n       ​- ​      ​n ​      ​- ​      ​- ​      smtpd
 +  -o smtpd_tls_wrappermode=yes
 +  -o smtpd_sasl_auth_enable=yes
 +  -o smtpd_client_restrictions=permit_sasl_authenticated,​reject
 +  -o milter_macro_daemon_name=ORIGINATING
 +</​code>​
 +
 +====  8.3.  [  ] CyrusIMAP: instalación y configuración del servidor IMAP/POP3 ====
 +
 +Cyrus IMAP proveerá la posibilidad a los usuarios de leer su correo electrónico. Sus archivos de configuración están en /etc y son imapd.conf y cyrus.conf.
 +
 +En el primero se define la configuración del servicio IMAP:
 +
 +<​code>​
 +configdirectory:​ /​var/​lib/​imap
 +partition-default:​ /​var/​spool/​imap
 +admins: cyrus
 +sievedir: /​var/​lib/​imap/​sieve
 +sendmail: /​usr/​sbin/​sendmail
 +hashimapspool:​ true
 +sasl_pwcheck_method:​ saslauthd
 +sasl_mech_list:​ PLAIN
 +tls_cert_file:​ /​etc/​pki/​cyrus-imapd/​cyrus-imapd.pem
 +tls_key_file:​ /​etc/​pki/​cyrus-imapd/​cyrus-imapd.pem
 +tls_ca_file:​ /​etc/​pki/​tls/​certs/​ca-bundle.crt
 +</​code>​
 +
 +Mientras que el segundo configura los procesos que forman parte del sistema IMAP. Por ejemplo, si se desea desactivar la posibilidad de que los usuarios utilicen POP3, se deben comentar ambas líneas en ese archivo:
 +
 +<​code>​
 +  # add or remove based on preferences
 +  imap          cmd="​imapd"​ listen="​imap"​ prefork=5
 +  imaps         ​cmd="​imapd -s" listen="​imaps"​ prefork=1
 +  #pop3          cmd="​pop3d"​ listen="​pop3"​ prefork=3
 +  #​pop3s ​        ​cmd="​pop3d -s" listen="​pop3s"​ prefork=1
 +  sieve         ​cmd="​timsieved"​ listen="​sieve"​ prefork=0
 +</​code>​
 +
 +====  8.4.  [  ] Otros sistemas que colaboran con el servidor de correo-e ====
 +
 +Otros sistemas que son imprescindibles en un servidor de correo electrónico son el filtro antispam y el antivirus. Para el primero, se suele utilizar [[http://​spamassassin.apache.org/​|SpamAssassin]],​ mientras que para el segundo un buen antivirus Open Source es [[http://​www.clamav.net/​|ClamAV]]. Para unir ambos sistemas con el resto de los componentes,​ se usa [[http://​www.amavis.org/​|Amavisd-new]]. La autenticación de usuarios puede ser realizada de manera básica con [[http://​cyrusimap.web.cmu.edu/​|Cyrus SASL]].
 +
 +
 +
 +
 +
 +
 +===== 9. Squid: servidor proxy HTTP =====
 +
 +==== Objetivos ====
 +
 +Incorporar los conocimientos necesarios para configurar, ejecutar y poner a punto un servidor proxy HTTP.
 +
 +====  9.1.  [  ] Squid: conceptos y definiciones ====
 +
 +Squid es un proxy HTTP, es decir, actúa almacenando localmente los archivos que emplean los usuarios al navegar Internet. Cuando otro usuario vuelve a requerir un archivo que ya está almacenado, el proxy se encarga de transferirlo desde la caché evitando así el uso de la conexión a Internet, liberando ésta para tráfico nuevo. Con ello, se mejora en gran medida la congestión de esa conexión.
 +
 +Además, permite asignar permisos de acceso, o denegarlo a sitios, redes, o según horarios, entre otras posibilidades.
 +
 +====  9.2.  [  ] Instalación y puesta a punto ====
 +
 +En el archivo de configuración,​ básicamente se deben adaptar dos líneas. La primera es para configurar la red donde está instalado Squid:
 +
 +  acl localnet src 172.16.13.0/​24
 +
 +Asegurarse que la ACL tenga permitido el acceso en la siguiente línea:
 +
 +  http_access allow localnet
 +
 +Y la segunda el puerto en el cual se desea que Squid esté escuchando:
 +
 +  http_port 8080
 +
 +Luego se puede mejorar el manejo interno de los archivos de la caché, así como el tamaño de ésta (en este ejemplo 10240 es el tamaño máximo en MB de la caché):
 +
 +  cache_dir aufs /​var/​spool/​squid 10240 16 256
 +
 +También se puede aumentar el tamaño máximo de los archivos que van a ser almacenados en la caché:
 +
 +  maximum_object_size 204800 KB
 +
 +Luego, la configuración es muy amplia, existiendo muchísimas variables según lo que se necesite. La configuración de accesos y denegaciones se realiza con un lenguaje de ACLs.
 +
 +=== Ejemplos de ACLs ===
 +
 +== Bloquear por dominio de destino ==
 +
 +En squid.conf:
 +
 +  acl bloquear_todos dstdomain -i "/​etc/​squid/​bloqueados.txt"​
 +
 +Y luego definir:
 +
 +  http_access deny bloquear_todos
 +
 +En el archivo de texto con el listado de dominios, se debe poner éstos línea por línea:
 +
 +  .facebook.com
 +  .youtube.com
 +  .twitter.com
  
linuxavanzado.1440088756.txt.gz · Última modificación: 2015/08/20 13:39 por fmolinuevo