server correo

Download Server Correo

If you can't read please download the document

Upload: reynaldo-melgar-soliz

Post on 05-Jul-2015

124 views

Category:

Documents


2 download

TRANSCRIPT

Instalar un Servidor de Correo Seguro en Ubuntu

Ver ComentariosEN CONSTRUCCIN INSTALACIN DEL SERVIDOR CONFIGURACIN DE LA RED INSTALACIN DE SOFTWARE NECESARIO PARA EL SERVIDOR DE CORREO CONFIGURACIN DE LA BASE DE DATOS CONFIGURACIN DE DOVECOT SMTP AUTENTIFICADO GESTIONANDO TUS CUENTAS DE CORREO SERVIDOR DE NOMBRES DE DOMINIO (DNS) INSTALACIN DEL WEBMAIL INSTALACIN DEL SERVIDOR Cul es el mejor sistema operativo para servidores?. Existen un amplia gama de opciones algunas con costo y otras gratuitas sin duda por excelencia entre los mejores sistemas operativos para servidores son: UNIX (Solaris) BSD (FreeBSD) GNU/Linux (RHEL) Entonces si tenemos excelentes opciones como las mencionadas u otras como podran ser OpenIndiana, OpenBSD, NetBSD, Centos, Debian. Por qu elegimos Ubuntu Server. Desde mi muy personal punto de vista para mi la gestin de paquetes por dpkg (aptitude) es magnfica, a diferencia de rpm (yum). Respecto a la facilidad, a la resolucin de dependencias y a la velocidad de instalacin. Entonces, Por qu no elegir Debian que ha sido una de las distribuciones que vio nacer a tantas ms a la par de Slackware otra de las distribuciones ms viejas que actualmente siguen en desarrollo?. Debian libera sus versiones estables en un tiempo ms prolongado por lo que para tener las versiones de los paquetes ms recientes tenemos que tener nuestros repositorios con la versin testing y puede provoca errores en las dependencias. Por otra parte Ubuntu libera una versin estable cada seis meses con sus repositorios actualizados, tienen el respaldo para el soporte tcnico de Canonical y una enorme comunidad que sigue en crecimiento, que les puede servir de mucho apoyo. Sumado a la comunidad Debian que en conocimientos tcnicos es maravillosa y ya que Ubuntu se basa en Debian la documentacin es complementaria. Con esta breve introduccin iniciamos con la configuracin de nuestro servidor. Primero tenemos que instalar el sistema operativo y podemos encontrar las imagenes iso AQU la ltima versin en este momento es "Ubuntu 10.10 (Maverick Meerkat)" en ese link pueden encontrar para procesadores de 64 bits o 32 bits. En este caso seleccionar el siguiente (32 bits): ubuntu-10.10-server-i386.iso Una vez que ya descargamos el archivo de formato ".iso" podemos quemarlo con un software gratuito y excelente para los usuarios de gin2 llamado ImgBurn que lo encuentran aqu, en su pagina oficial o instalarlo por medio de unetbootin en una USB. A continuacin arrancamos con el CD dentro de nuestra unidad ptica y veremos la siguiente pantalla.

seleccionamos el idioma espaol

entramos en la opcin "Instalar Ubuntu Server"

elegimos nuestro pas "Mxico"

seleccionamos s para configurar nuestro teclado

buscamos en nuestro teclado los smbolos y letras que nos piden (+, y, u, r, etc)

ahora buscamos si el smbolo "" se encuentra en nuestro teclado y si est seleccionamos s.

oprimimos la tecla

con estos pasos nos configur nuestro teclado y encontr que el idioma es "es".

Si tenemos conectado nuestro modem a la computadora por cable ethernet entonces la configuracin se har con el protocolo DHCP para obtener los parmetros de configuracin de red automticamente.

Seleccionamos el nombre de la mquina (por defecto es ubuntu), este parmetro puede ser modificado por motivos de seguridad para no dar informacin acerca de nuestro sistema operativo, poniendo un nombre que no de informacin.

en este caso la zona horaria es de acuerdo a la ubicacin ciudad de mxico

ahora toca la parte del particionado y seleccionamos particionado "manual"

aqu en el ejemplo el disco duro virtual tiene un tamao de 10 GB pero no importa ms o menos indicaremos cuales son los tamaos de las particiones necesarias.

elegimos la opcin "s"

seleccionamos el espacio espacio libre para nuestra tabla de particiones

creamos una particin nueva

ponemos el tamao de la particin en este ejemplo que para nada es el recomendable se seleccionaron dos particiones una / (raz) y lo dems para swap (rea de intercambio). Pero las particiones recomendable con los respectivos tamaos son las siguientes:

Imagen tomada de "Implementacin de Servidores con GNU/Linux"

seleccionamos la particin primaria

y ahora queremos que la particin este al principio

El sistema de ficheros para todas nuestras particiones excepto para la particin swap es "EXT4". Como est indicado en la imagen anterior las particiones recomendadas son: /boot con sistema de ficheros EXT4 y tipo de particin primaria (100MB) / con sistema de ficheros EXT4 y tipo de particin primaria (1024MB) swap con sistema de ficheros "rea de intercambio" (doble de la memoria ram o en algunos casos no es necesaria cuando la potencia del ordenador es muy grande) /tmp con sistema de ficheros EXT4 y tipo de particin lgica (4.2GB) /usr con sistema de ficheros EXT4 y tipo de particin lgica (8 GB) /var con sistema de ficheros EXT4 y tipo de particin lgica (mitad del disco duro restante) /home con sistema de ficheros EXT4 y tipo de particin lgica (la otra mitad del disco duro restante)

seleccionamos "se ha terminado de definir la particin"

creamos las siguientes particiones

terminamos de definir las particiones

aceptamos con "s" para que se escriban los cambios en el disco

nombre de nuestro nuevo usuario (nombre y apellido o solo nombre)

nombre corto del usuario de la cuenta

elegimos una contrasea y la repetimos para comprobarla

seleccionamos "no" en el cifrado de la carpeta personal

lo dejamos en blanco y seleccionamos continuar

en esta parte difieren en cul es la mejor opcin para administrar las actualizaciones de seguridad y los parches por instalar. Es recomendable si es minucioso que elija la opcin "sin actualizaciones automticas" pero es posible que complemente la opcin de "instalar actualizaciones de seguridad automticamente" y revisando en paginas como debian-security-announce, y algunas ms para mantener su sistema seguro. Manual de Seguridad de Debian

En este punto el nico paquete que instalaremos es "OpenSSH server" y lo seleccionamos con la tecla space.

despus de darle en continuar y que se instalen lo paquetes veremos la siguiente pantalla

ponemos "s" para instalar GRUB

y con esto terminamos con la instalacin del servidor, ahora vamos a instalar las aplicaciones que son necesarias para tener el servidor de correo. CONFIGURACIN DE LA RED Una vez que el servidor ya est instalado entramos a nuestra pantalla principal de Ubuntu Server que notaremos no tienen interfaz grfica (todo a base de linea de comandos). Nos logueamos como superusuario sudo su Creamos una contrasea para el usuario root sudo passwd root Introduzca la nueva contrasea de UNIX: Vuelva a escribir la nueva contrasea de UNIX: Instalamos OpenSSH y arreglamos el comportamiento extrao de vi (para los que lo utilizarn como editor de textos) aptitude install ssh openssh-server aptitude install vim-nox La finalidad de instalar un servidor ssh es que podamos ingresar a nuestro servidor en el momento que deseemos y desde cualquier lugar que nos encontremos. Hay clientes ssh como putty que se pueden instalar en nuestro celular y podemos entrar al servidor para modificar alguna de las configuraciones o simplemente administrarlo desde la comodidad de nuestra cama. AQU podemos encontrar una lista comparativa de clientes ssh, as como bajo que sistema operativo funcionan. Algunos clientes que recomiendo para guin2 son putty o Tunnelier (Bitvise), son gratuitos y excelentes opciones.

SSH (Secure SHell, en espaol: intrprete de rdenes segura) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a mquinas remotas a travs de una red. Permite manejar por completo la computadora mediante un intrprete de comandos, y tambin puede redirigir el trfico de X para poder ejecutar programas grficos si tenemos un Servidor X (en sistemas Unix y Windows) corriendo. Adems de la conexin a otros dispositivos, SSH nos permite copiar datos de forma segura (tanto ficheros sueltos como simular sesiones FTP cifradas), gestionar claves RSA para no escribir claves al conectar a los dispositivos y pasar los datos de cualquier otra aplicacin por un canal seguro tunelizado mediante SSH. Acerca de OpenSSH. OpenSSH (Open Secure Shell) es una alternativa de cdigo abierto, con licencia BSD, hacia la implementacin propietaria y de cdigo cerrado SSH creada por Tatu Ylnen. OpenSSH es un proyecto creado por el equipo de desarrollo de OpenBSD y actualmente dirigido por Theo de Raadt. Se considera es ms segura que su contraparte propietaria debido a la constante auditora que se realiza sobre el cdigo fuente por parte de una gran comunidad de desarrolladores, una ventaja que brinda al tratarse de un proyecto de fuente abierta. Para instalar OpenSSH se ejecuta el siguiente comando: sudo aptitude install ssh openssh-server Una forma de elevar considerablemente la seguridad al servicio de SSH, es cambiar el nmero de puerto utilizado por el servicio, por otro que solo conozca el administrador del sistema. A este tipo de tcnicas se les conoce como Seguridad por Oscuridad. La mayora de los delincuentes informticos utiliza guiones que buscan servidores que respondan a peticiones a travs del puerto 22. Cambiar de puerto el servicio de SSH disminuye considerablemente la posibilidad de una intrusin a travs de este servicio. Port 22 SSH trabaja a travs del puerto 22 por TCP. Puede elegirse cualquier otro puerto entre el 1025 y 65535. ejemplo: Entramos al archivo de configuracin de OpenSSH sudo nano /etc/ssh/sshd_config Y en el apartado de port seleccionamos el puerto en este caso como ejemplo se seleccion el puerto 52341 Port 52341 Reiniciamos el servicio sudo /etc/init.d/ssh restart Configuracin de la LAN para tener un IP fija (LOCAL) nano /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0

iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.0.254 Los valores anteriores tienen que ser modificados dependiendo de nuestra red, para obtener la informacin de acuerdo a tu red ejecutar los siguientes comandos. ifconfig - "Direc. inet" es lo mismo que "address" en /etc/network/interfaces - "Msc" es lo mismo que "netmask" en /etc/network/interfaces - network tiene el siguiente formato 192.168.x.0. Lo determinas con tu address, si es 192.168.0.100 entonces tu network es 192.168.0.0, otro ejemplo si tu ip es 192.168.1.75 entonces tu network es 192.168.1.0 - "Difus" es lo mismo que "broadcast" en /etc/network/interfaces Falta el ltimo parmetro (gateway) eso lo determinas con el siguiente comando: ip neigh la ip que te sale en la lnea es la de tu puerta de enlace o gateway en /etc/network/interfaces. Guardamos con Ctrl mas la letra O y cerramos con Ctrl mas la letra X. Reiniciamos la interfaz de red /etc/init.d/networking restart CONFIGURACIN DEL FIREWALL PARA EL SERVICIO SSH Instalamos Shorewall sudo aptitude install shorewall-common shorewall-perl shorewall-doc copiamos el archivo de configuracin cp /usr/share/doc/shorewall/default-config/interfaces /etc/shorewall/ lo editamos nano /etc/shorewall/interfaces # # Shorewall version 4 - Interfaces File # # For information about entries in this file, type "man shorewall-interfaces" # # The manpage is also online at # http://www.shorewall.net/manpages/shorewall-interfaces.html # ##########... INTERFACE BROADCAST OPTIONS net eth0 detect dhcp,tcpflags,logmartians,nosmurfs cp /usr/share/doc/shorewall/default-config/zones /etc/shorewall/ lo editamos nano /etc/shorewall/zones # # Shorewall version 4 - Zones File # # For information about this file, type "man shorewall-zones" # # The manpage is also online at # http://www.shorewall.net/manpages/shorewall-zones.html # ###############... TYPE OPTIONS IN # OPTIONS OPTIONS

OUT

fw loc net

firewall ipv4 ipv4

copiamos otro de los archivos de configuracin cp /usr/share/doc/shorewall/default-config/hosts /etc/shorewall/ lo editamos nano /etc/shorewall/hosts # # Shorewall version 4 - Hosts file # # For information about entries in this file, type "man shorewall-hosts" # # The manpage is also online at # http://www.shorewall.net/manpages/shorewall-hosts.html # ###############... HOST(S) OPTIONS loc eth0:192.168.1.0/24 copiamos cp /usr/share/doc/shorewall/default-config/policy /etc/shorewall/ nano /etc/shorewall/policy lo editamos # # Shorewall version 4 - Policy File # # For information about entries in this file, type "man shorewall-policy" # # The manpage is also online at # http://www.shorewall.net/manpages/shorewall-policy.html # ##############... DEST POLICY LOG LIMIT: CONNLIMIT: # LEVEL BURST MASK FW net ACCEPT net FW DROP info net all DROP info # The FOLLOWING POLICY MUST BE LAST all all REJECT info copiamos cp /usr/share/doc/shorewall/default-config/routestopped /etc/shorewall/ editamos nano /etc/shorewall/routestopped # # Shorewall version 4 - Routestopped File # # For information about entries in this file, type "man shorewall-routestopped" # # The manpage is also online at # http://www.shorewall.net/manpages/shorewall-routestopped.html # # See http://shorewall.net/starting_and_stopping_shorewall.htm for additional # information. # ############################################################################### #INTERFACE HOST(S) OPTIONS PROTO DEST SOURCE # PORT(S) PORT(S) eth0 0.0.0.0 routeback

copiamos cp /usr/share/doc/shorewall/default-config/rules /etc/shorewall/ editamos nano /etc/shorewall/rules # # Shorewall version 4 - Rules File # # For information on the settings in this file, type "man shorewall-rules" # # The manpage is also online at # http://www.shorewall.net/manpages/shorewall-rules.html # ###############################################################################$ #ACTION SOURCE DEST PROTO DEST SOURCE $ # PORT PORT(S) $ #SECTION ESTABLISHED #SECTION RELATED SECTION NEW ACCEPT net fw tcp 52341 ACCEPT loc fw tcp 52341 ejecutamos shorewall check y lo reiniciamos /etc/init.d/shorewall restart lo agregamos al arranque editando: nano /etc/default/shorewall startup=1

Configuracin de Modem/Router para permitir el acceso por el puerto 52341 para el servicio SSH

Para entrar a nuestra configuracin del Modem (desde alguna otra computadora que no sea donde tenemos instalado Ubuntu Server porque no tiene interfaz grfica y que se encuentre conectada a nuestra red interna (LAN)) introducimos la IP que nos aparece con el comando. ip neigh y el resultado del comando es 192.168.1.254 dev wlan0 lladdr 00:26:44:0d:ea:3e REACHABLE Abrimos nuestro navegador WEB (firefox) y ponemos la IP 192.168.1.254 para este caso depende del comando la IP que pondrn en su navegador.

nos vamos al apartado Herramientas que se encuentra del lado izquierdo

ahora a la parte de "Comparticin de Juegos & Aplicaciones"

vamos a "Crear un nuevo juego o aplicacin"

aqu ponemos el nombre del puerto que queremos abrir en nuestro modem puede ser (Servicio SSH o el nmero del puerto PUERTO52341).

seleccionamos entrada manual de puertos y despus en siguiente

en el intervalo de puertos ponemos 52341-52341 porque solo queremos abrir un puerto

luego vamos a la parte de "Asignar un juego o aplicacin a un dispositivo de red local"

en la parte de "Juego o Aplicacin" buscamos "PUERTO52341" y en dispositivo buscamos el "nombre de la mquina" que elegimos para nuestro equipo durante la instalacin de nuestro sistema operativo para servidor "Ubuntu Server".

y ahora damos click en "AGREGAR"

una vez que ya abrimos el puerto en nuestro servidor podemos entrar desde cualquier parte del mundo (siempre y cuando sepamos la ip externa de nuestro servidor o nuestro dominio) por ejemplo en este momento yo estoy en Ubuntu Desktop como sistema operativo de mi computadora de escritorio pero dentro de mi LAN (red interna) y si quiero entrar a mi servidor pongo lo siguiente en una terminal. NOTA IMPORTANTE: POR FAVOR CAMBIEN EL PUERTO PARA SU SERVIDOR SSH QUE NO SEA EL MISMO QUE EL DE ESTA GUA "52341", POR MOTIVOS DE SEGURIDAD. ARRIBA VIENEN EL INTERVALO PARA SELECCIONAR EL PUERTO QUE GUSTEN. ssh -p 52341 192.168.1.100 despus nos pide nuestra contrasea, y con esto ya entramos a nuestro servidor desde nuestra computadora de escritorio.

antes de terminar con esta parte del servidor SSH quiero comentarles que tambin pueden acceder a los archivos de su servidor si van en la barra de herramientas de "ubuntu desktop" a "Lugares" y despus "Conectar con el servidor..." nos abre la siguiente ventana

ponemos la IP del servidor (interna, porque an no hemos configurado nuestra ip externa para que sea fija o tener un dominio) por lo que por el momento si salimos de nuestra red local no podramos accesar. Tambin introducimos el puerto por el que queremos entrar

ahora nos pide el usuario y la contrasea a la que queremos ingresar y por ltimo al dar click en conectar veremos la siguiente pantalla

as que ya podemos acceder a nuestros archivos sin ningn problema CONFIGURACIN DE IP PBLICA Una vez que ya tenemos configurada nuestra lan para que tenga una ip fija, ahora vamos a configurar una ip pblica como fija utilizando (no-ip). Primero tenemos que registrarnos en la pagina: http://www.no-ip.com/newUser.php

Una vez que ya confirmamos nuestro registro a travs del correo que proporcionamos. Nos logueamos en la siguiente pagina: http://www.no-ip.com/login/

ya dentro vamos a ver la siguiente pagina en la cul vamos a darle un click al icono encerrado en color rojo

En el apartado de Hostname information nos encontramos con opciones por llenar: Hostname: Aqu deben poner la pagina que quieran para su servidor (yo como ejemplo pondr server1) El dominio: Como va a ser gratuito nos vamos al apartado de No-IP Free Domains que est adelante de hostname y elegimos el que queramos (yo elegir para lo que sigue en la configuracin el dominio "no-ip.org". Por lo que quedara as server1.no-ip.org y es el que utilizar de aqu en adelante. Y por ltimo seleccionamos la opcin "create host"

Bueno eso es todo lo que tenemos que hacer en la pagina de no-ip ahora vamos a configurar no-ip en ubuntu. Ya desde una terminal ejecutamos los siguientes comandos: sudo apt-get install no-ip Durante la instalacin veremos una pantalla como esta

Aqu tenemos que introducir nuestra cuenta de correo de usuario en no-ip.com

Seguidamente introducimos la contrasea

Introducimos en minutos con que frecuencia queremos que nuestro servidor enve nuestra IP hacia no-ip.com ( 30 es un buen numero )

Este apartado lo podemos dejar en blanco sin problemas ya que se supone que solo tenemos esta cuenta para solo nuestro servidor

Aqu debemos introducir el nombre con el que est identificada nuestra tarjeta de red. ( Esto podemos verlo con el comando ifconfig )

para esta ultima opcin seleccionamos No y listo. Configuracin de la RED HOSTNAME Un FQDN (Fully Qualified Domain Name) es un nombre que incluye el nombre de la computadora y el nombre de dominio asociado a ese equipo. Por ejemplo, dada la computadora llamada serv1 y el nombre de dominio bar.com, el FQDN ser serv1.bar.com, a su vez un FQDN asociado a serv1 podra ser post.serv1.bar.com. La longitud mxima permitida para un FQDN es 255 caracteres (bytes), con una restriccin adicional a 63 bytes por etiqueta dentro de un nombre de dominio. Las etiquetas FQDN se restringen a un juego de caracteres limitado: letras A-Z de ASCII, los dgitos, y el carcter - , y no distinguen maysculas de minsculas. La sintaxis de los nombres de dominio se discute en varios RFCs -- RFC 1035, RFC 1123 y RFC 2181. En 2004 se aadieron algunos caracteres como , , , , , ... como caracteres permitidos para las etiquetas. Ahora entramos a /etc/hosts nano /etc/hosts y lo modificamos de la siguiente manera (recuerden que aqu pondrn el host que crearon en la pagina de noip) 127.0.0.1 localhost.localdomain localhost 192.168.0.100 server1.no-ip.org server1 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ahora ejecutamos echo server1.no-ip.org > /etc/hostname /etc/init.d/hostname restart para ver el resultado ejecutamos hostname Editamos /etc/resolv.conf nano /etc/resolv.conf y enseguida modificamos de la siguiente manera: domain lan search lan nameserver aqu_va_la_ip_del_gateway Fuentes: Linux para todos, The perfect Server (Ubuntu 10.10) y SSH/OpenSSH Configuring INSTALACIN DE SOFTWARE NECESARIO PARA EL SERVIDOR DE CORREO Ya hemos instalado el sistema operativo y configurado la red, ahora vamos a continuar instalando algunos paquetes necesarios. Antes vamos a cambiar de Shell por defecto (seleccionando "no" en instalar dash en /bin/sh?) dpkg-reconfigure dash Install dash as /bin/sh?