martes, 1 de julio de 2008

Instalación base Debian 4 (Etch) - Primera parte

Hoy documentaremos la instalación de cero de un GNU/Linux. En este caso la distribución elegida es Debian debido a su simpleza (tanto de uso como libre de pavadas) y excelente performance como plataforma de servidor.

Si jamás implementaron un GNU/Linux, les recomiendo primero utilizar una máquina virtual al estilo VMWare, ya sabrán uds. donde conseguir la aplicación. Esto es aplicable obviamente si planean realizar la implementación en la misma PC que están utilizando por ejemplo, para leer esto... No creo que quieran perder la instalación de su preciado Windows.

La opción que descargaremos es la net-inst por lo mismos motivos que antes expuse (la simpleza y las no pavadas). La instalación es realmente sencilla a pesar de no tener entorno gráfico, ya que son menus en modo texto.

Una vez que terminamos de instalar todo y haber reiniciado el equipo y haber booteado el sistema, nos aparecerá la ventana de login. Suele ser recomendable iniciar sesión con un usuario normal antes que con root, por lo cual seguiremos esta recomendación iniciando sesión con el usuario que creamos al momento de la instalación.

Pero como deberemos configurar aspectos básicos del sistema, pasaremos a entorno root con el siguiente comando:


  1. su

Luego, editaremos la lista de repositorios de software que utilizaremos:

  1. vi /etc/apt/sources.list

Se abrirá el editor de texto Vi, y deberemos dejar el archivo de la siguiente manera:

  1. #deb cdrom:[Debian GNU/Linux 4.0 r1 _Etch_ - Official i386 NETINST Binary-1 20070820-20:21]/ etch contrib main



  2. #deb cdrom:[Debian GNU/Linux 4.0 r1 _Etch_ - Official i386 NETINST Binary-1 20070820-20:21]/ etch contrib main



  3. #deb http://security.debian.org/ etch/updates main contrib

  4. #deb-src http://security.debian.org/ etch/updates main contrib



  5. deb http://mirrors.kernel.org/debian/ stable main

  6. deb-src http://mirrors.kernel.org/debian/ stable main



  7. deb http://security.debian.org stable/updates main

  8. deb http://ftp.cl.debian.org/debian etch main

Una vez hechos los cambios, deberemos actualizar la información de los nuevos repositorios y, de paso, descargaremos los paquetes actualizados del software que está instalado en el equipo:

  1. apt-get update
  2. apt-get upgrade

Esto seguramente demore un rato, te recomendaría preparate un café o mate. Cuando termine, como primer programa instalaremos un servidor SSH. Esto es debido principalmente a que si el equipo se encuentra en un Datacenter por ejemplo, llega un punto en el que el ruido y/o el frío nos enloquece y es preferible la comodidad de la PC que usamos todos los días, no?:

  1. apt-get install openssh-server

    Una vez instalado, deberemos verificar en la configuración que podamos conectarnos:

    1. vi /etc/ssh/sshd_config

      La siguiente configuración es bastante estándar, y como verán permite cierta personalización. Esta configuración es sugerencia, no es necesariamente válida para todos los casos (más que nada si pretendemos segurizar al máximo el servidor)

      1. # Package generated configuration file

      2. # See the sshd(8) manpage for details



      3. # What ports, IPs and protocols we listen for

      4. Port 22

      5. # Use these options to restrict which interfaces/protocols sshd will bind to

      6. #ListenAddress ::

      7. #ListenAddress 192.168.0.9 # Aqui podriamos poner la IP de nuestra PC, para que sólo nosotros podamos acceder

      8. Protocol 2

      9. # HostKeys for protocol version 2

      10. HostKey /etc/ssh/ssh_host_rsa_key

      11. HostKey /etc/ssh/ssh_host_dsa_key

      12. #Privilege Separation is turned on for security

      13. UsePrivilegeSeparation yes



      14. # Lifetime and size of ephemeral version 1 server key

      15. KeyRegenerationInterval 3600

      16. ServerKeyBits 768



      17. # Logging

      18. SyslogFacility AUTH

      19. LogLevel ERROR



      20. # Authentication:

      21. LoginGraceTime 120

      22. PermitRootLogin yes # Algunos prefieren configurar esto como no

      23. StrictModes yes

      24. AllowUsers * # Permite el logueo de cualquier usuario desde cualquier terminal

      25. #AllowUsers *@127.0.0.1



      26. RSAAuthentication yes

      27. PubkeyAuthentication yes

      28. #AuthorizedKeysFile %h/.ssh/authorized_keys



      29. # Don't read the user's ~/.rhosts and ~/.shosts files

      30. IgnoreRhosts yes

      31. # For this to work you will also need host keys in /etc/ssh_known_hosts

      32. RhostsRSAAuthentication no

      33. # similar for protocol version 2

      34. HostbasedAuthentication no

      35. # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication

      36. #IgnoreUserKnownHosts yes



      37. # To enable empty passwords, change to yes (NOT RECOMMENDED)

      38. PermitEmptyPasswords no



      39. # Change to yes to enable challenge-response passwords (beware issues with
        # some PAM modules and threads)

      40. #ChallengeResponseAuthentication yes



      41. # Change to no to disable tunnelled clear text passwords

      42. PasswordAuthentication yes



      43. # Kerberos options ### Aqui la configuracion varia si continuamos con mi implementación y planeamos adjuntar el equipo a un dominio Active Directory, de otra forma dejalo como está por default!!!

      44. KerberosAuthentication yes

      45. #KerberosGetAFSToken no

      46. KerberosOrLocalPasswd yes

      47. KerberosTicketCleanup yes



      48. # GSSAPI options

      49. #GSSAPIAuthentication no

      50. #GSSAPICleanupCredentials yes



      51. X11Forwarding no

      52. X11DisplayOffset 10

      53. X11UseLocalhost yes

      54. PrintMotd no

      55. PrintLastLog yes

      56. TCPKeepAlive yes

      57. #UseLogin no



      58. #MaxStartups 10:30:60

      59. #Banner /etc/issue.net



      60. # Allow client to pass locale environment variables

      61. AcceptEnv LANG LC_*



      62. Subsystem sftp /usr/lib/openssh/sftp-server



      63. #UsePAM yes

      Una vez hecho esto, podemos desloguearnos del equipo y dirigirnos a nuestra PC, con nuestro café y/o nuestro mate a descargar el PuTTY para poder conectarnos al equipo por protocolo SSH.

      Si no conocen la dirección IP del equipo, pueden consultar las interfaces con el siguiente comando:


      1. ifconfig

      El output del comando es el siguiente y marco con negrita la IP asignada:

      eth1 Link encap:Ethernet HWaddr 00:02:A5:E7:7E:DA
      inet addr:192.168.0.9 Bcast:192.168.0.255 Mask:255.255.255.0
      inet6 addr: fe80::202:a5ff:fee7:7eda/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
      RX packets:4584266 errors:0 dropped:0 overruns:0 frame:0
      TX packets:3292339 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:465401561 (443.8 MiB) TX bytes:393637497 (375.4 MiB)
      Interrupt:177

      En la próxima entrega cubriremos la instalación de Samba para poder compartir archivos con terminales Windows y luego nos meteremos a pleno con la configuración de un servidor GNU/Linux para monitoreo de redes, con las aplicaciones Nagios y Cacti.

      Stumble Upon Toolbar

      No hay comentarios.: