Cómo construir tu propia nube para usted y sus amigos en Debian Wheezy

Volver a su privacidad y control sobre sus datos en unas horas: construir su propia nube para usted y sus amigos

Algunas de las piezas más personales de su identidad se almacenan en servidores de todo el mundo fuera de su control

Digamos que has sido un usuario de Gmail entre 2006 y 2013 Como yo, lo que significa que recibió 30’000+ correos electrónicos y escribió sobre 5000 mensajes de correo electrónico que 7 período de años. Algunos de los emails que envía o recibe son muy personales, tal vez tan personal que probablemente no quieres incluso algunos miembros de la familia o amigos para ir a través de ellos, sistemáticamente. Tal vez usted también redactó unos correos electrónicos que no envió nunca porque cambió su mente en el último minuto. Pero incluso si usted nunca los envió, estos correos electrónicos se almacenan aún en algún lugar en un servidor. Como un resultado, es justo decir que los servidores de Google saben más sobre su vida personal que su familia o sus amigos más cercanos.

Estadísticamente, es una apuesta segura para considerar que tienes un Smartphone. Apenas puede usar el teléfono sin utilizar la aplicación contactos que almacena tus contactos en contacto de Google en los servidores de Google por defecto. No sólo Google sabe acerca de su correo electrónico, pero también sobre sus contactos fuera de línea: que quieres llamar, que te llama, quien te texto, y texto acerca de. No tienes que tomar mi palabra para, puede comprobar usted mismo echar un vistazo a los permisos que dio a aplicaciones como el servicio de juego de Google para leer la lista de gente que le llama y el SMS tienes. ¿También usas el calendario de la aplicación que viene con el teléfono? A menos que usted explícitamente optado hacia fuera al configurar su calendario, Esto significa que Google sabe exactamente lo que estás hasta, en cada momento del día, día tras día, año tras año. Lo mismo se aplica si ha elegido un iPhone en un teléfono Android, excepto manzana llega a saber acerca de su correspondencia, contactos y calendario en lugar de Google.

Toma también gran cuidado en mantener los contactos en su directorio actualizado, actualización de su amigo, ¿de colegas y y direcciones de correo electrónico y números de teléfono cuando se mudan a un nuevo trabajo o portador del cambio de familia? Da a Google una extraordinariamente precisa, Foto actualizada de tu red social. Y le gusta el GPS de su Smartphone que se utiliza mucho con mapas de Google. Esto significa que Google no solo sabe qué haces de tu calendario sino también donde estás, donde vives, donde trabajas. Y correlacionando datos de localización GPS a través de los usuarios, Google también puede decir con quien usted puede socializar con ahora.

Su hábito diario de entrega de su información personal más impactará su vida de una manera que nadie puede incluso prever

Para resumir, Si eres un usuario promedio de internet, Google ha actualizado, información detallada acerca de sus intereses, preocupaciones, pasiones, Preguntas, sobre casi 10 años. Tiene una colección de algunos de sus mensajes más personales (mensajes de correo electrónico, SMS), un detalle hora por hora de sus actividades diarias y la ubicación, y una imagen de alta calidad de su red social. Un profundo conocimiento de probablemente va más allá de lo que tus amigos más cercanos, familia, o su saber de amor de ustedes.

No vienen a la mente a esta masa de información profundamente personal a extraños, por ejemplo, poner todo en una llave USB y dejarla sobre una mesa en un café al azar con un refrán de la nota ' datos de carácter Personal de Olivier Martin, usar lo que quieras '. ¿Quién sabe que podría ser y qué harían con él? Sin embargo, no hay problema entrega en piezas fundamentales de su identidad a los extranjeros en las empresas con un fuerte interés en nuestros datos (que es cómo hacer el pan) y clase mundial expertos en análisis de datos, tal vez sólo porque sucede por defecto sin nosotros pensando en él cuando eso verde ' aceptar’ botón.

Con tanta información de alta calidad, en los años, Google bien puede llegar a conocer mejor que puedes esperar alguna vez para conocerte a ti mismo: heck, gateando por mi digital pasado ahora mismo, No recuerdo haber escrito la mitad de los correos que envié hace cinco años. Estoy sorprendido y contento a redescubrir mi interés en el marxismo de nuevo en 2005 y mi ATTAC (una organización que se esfuerza para limitar la especulación y mejorar la justicia social al gravar las transacciones financieras) el próximo año. Y Dios sabe por qué fui tan mucho en zapatos de baile de nuevo en 2007. Esto es información bastante inofensivo (no habría esperado que revelan algo cutre aquí, ¿le? ;-). Pero al conectar los puntos entre los datos de alta calidad sobre diferentes aspectos de tu vida (lo que, Cuando, con quien, donde, …) con el tal tiempo abarca, uno puede extrapolar declaraciones predictivas acerca de usted. Por ejemplo, de los hábitos de compra de una muchacha de 17 años de edad, supermercados se pueden decir que está embarazada antes de que su papá incluso oír hablar de él ()verdadera historia). Quién sabe lo que será posible con datos de alta calidad que como Google ha, ¿que va más allá de hábitos de compras? Conectando los puntos, tal vez se puede predecir cómo sus gustos o puntos de vista políticos va a cambiar en los próximos años. Hoy, empresas que nunca ha oído hablar de la reclamación que 500 puntos de datos acerca de usted, como religión, orientación sexual e ideas políticas. Hablando de la política, Qué pasa si usted decide entrar en política en 10 ¿años a partir de ahora? Tu vida puede cambiar, sus puntos de vista demasiado, y usted puede incluso olvidar, pero Google no. ¿Usted tendrá que preocuparse de que tu oponente está en contacto con alguien que tiene acceso a sus datos en Google y puede desenterrar algo embarazoso en de esos pozos sin fondo de los datos personales que te regalaban en los años? Cuánto tiempo hasta que Google o Facebook Haz hackeado al igual que Sony fue hackeado recientemente ¿y todos sus datos personales en la esfera pública para siempre?

Una de las razones más nos han confiado nuestros datos personales a estas empresas es que proporcionan sus servicios gratis. Pero ¿cómo libre realmente? El valor del promedio de la cuenta de Google varía según el método empleado para estimarlo: 1000 USD/año cuentas durante el tiempo que inviertes en escribir mensajes de correo electrónico, mientras que el valor de su cuenta para la industria de la publicidad está en algún lugar entre 220 USD/año y 500 USD/año. Por lo que el servicio es no exactamente libre: pagan a través de la publicidad y los usos aún desconocidos que nuestros datos pueden encontrar en el futuro.

Llevo escribiendo sobre Google sobre todo porque es la empresa que me he confiado la mayor parte de mi digital identificará hasta ahora y por lo tanto, el que mejor conozco. Pero que bien puedo haber escrito Apple o Facebook. Estas empresas realmente cambiaron el mundo con sus fantásticos avances en el diseño, Ingeniería y servicios que love(d) a utilizar, Todos los días. Pero esto no significa que debemos apilar hasta todos nuestros datos más personales en sus servidores y confiar con nuestra vida digital: el potencial de daño es demasiado grande.

Recuperar su privacidad y la de gente que cuida en apenas 5h

No debe ser de esta manera. Se puede vivir en el siglo XXI, tener un smartphone, usar correo electrónico y GPS diario, y conservan su privacidad. Todo lo que necesitas hacer es recuperar el control sobre sus datos personales: correo electrónico, calendario, contactos, archivos, etcetera.. El Prisma-Break.org sitio web lista de software que ayudan a controlar el destino de sus datos personales. Más allá de estas opciones, la manera más segura y más de gran alcance para recuperar el control sobre sus datos personales es anfitrión de su nube a ti mismo, mediante la construcción de su propio servidor. Pero que no tenga el tiempo y energía para investigar exactamente cómo hacerlo y que funcione sin problemas.

Es donde se inscribe el presente artículo en. Sólo en 5 horas, se configura un servidor para su correo electrónico, contactos, calendarios y archivos para usted, tus amigos y tu familia. El servidor está diseñado para actuar como un hub o nube de sus datos personales, para que siempre conserve el control total sobre ella. Los datos se sincronizarán automáticamente entre su PC o portátil, el teléfono y la tableta. Esencialmente, vamos a establecer un sistema que sustituye a Gmail, Google Drive / Dropbox, Contactos de Google, Google Calendar y Picasa.

Sólo haciendo esto por ti mismo ya será un gran paso. Pero luego, una fracción significativa de su información personal todavía se escapa hacia fuera y terminan en algunos servidores en silicon valley, sólo porque tan muchas de las personas interactúa con todos los días uso Gmail y smartphones. Por lo que es una buena idea tener algunas de las personas está más cercano a la aventura.

Construimos un sistema

  1. soporta un número arbitrario de usuarios y dominios. Esto hace fácil compartir el servidor con familia y amigos, para que obtenga el control sobre sus datos personales también y puede compartir los gastos del servidor con ustedes. Las personas que comparten su servidor pueden utilizar sus propios nombre de dominio o compartir el tuyo.
  2. le permite enviar y recibir tus e-mails desde cualquier red sobre con éxito iniciar sesión en el servidor. Por aquí, puede enviar su correo electrónico desde cualquiera de sus direcciones de correo electrónico, desde cualquier dispositivo (PC, teléfono, Tablet), y cualquier red (en el hogar, en el trabajo, de una red pública, …)
  3. cifra el tráfico de red al enviar y recibir mensajes de correo electrónico para que personas de que no confianza no pescan hacia fuera la contraseña y no será capaz de leer sus correos privados.
  4. ofrece el estado de la técnica antispam, combinación de listas negras de spammers conocidos, listas de rechazo transitorio automático, y filtrado antispam adaptativo. Formación el filtro antispam adaptativo si un email es mal clasificado se hace simplemente moviendo spam en o fuera de la carpeta de no deseado o Spam. También, el servidor va a contribuir a la lucha contra esfuerzos de spam basado en la comunidad.
  5. requiere sólo unos minutos de mantenimiento de vez en cuando, básicamente instalar actualizaciones de seguridad y brevemente Revise el servidor de logs. Agregar una nueva dirección de correo electrónico se reduce al agregar un registro a un base de datos. Aparte de eso, puede simplemente olvidarse de ella y vivir su vida. Configurar el sistema descrito en este artículo 14 hace meses y lo ha a estado funcionando sin problemas desde entonces. Así que olvidé completamente sobre ella, hasta que recientemente sonrió al pensar que casualmente pulsando la ' comprobar correo electrónico’ botón de mi teléfono ha provocado electrones viajar hasta Islandia (donde se encuentra mi servidor) y volver.

Ir a través de este artículo, usted necesitará un mínimo de capacidades técnicas. Si sabes cuál es la diferencia entre IMAP y SMTP, Qué es un DNS, y tener una comprensión básica de TCP/IP, Sabes lo suficiente como para seguir a través de. También tendrá conocimientos básicos de Unix (trabajando con ficheros desde la línea de comandos, Administración del sistema básico). Y usted va a necesitar un total de 5 horas de tiempo para configurarlo.

 

Este artículo se inspiró y se basa en trabajos anteriores

Este artículo dibuja pesadamente de otros dos artículos, es decir Xavier Claudede y Drew Crawfordde introducción al correo electrónico autoalojamiento.

El artículo incluye todas las características de los artículos de Xavier y de sorteo, excepto de tres características que Drew había y que no necesitaba, es decir, empuje de correo electrónico (me gusta para consultar correo electrónico sólo cuando decido, de lo contrario obtener distraído todo el tiempo), búsqueda de texto completo en correo electrónico (que no tengo un uso para), y almacenar correos electrónicos en un formato codificado (mi correo electrónico y los datos no son críticos hasta el punto que tengo que cifrarlos localmente en el servidor). Si usted necesita alguna de estas características, no dude en añadirlos sólo por siguiente a la sección respectiva del artículo de Drew, que es compatible con el presente.

En comparación con el trabajo de Xavier y de Drew, el presente artículo mejora en varios aspectos:

  • corrige bugs y errores en base a mi experiencia con artículo de Drew y los numerosos comentarios sobre su artículo original. También pasé por el presente artículo, configurar el servidor desde cero varias veces a replicarlo y asegurarse de que trabajaría fuera de la caja.
  • bajo mantenimiento: Comparado con el trabajo de Xavier, el presente artículo incorpora soporte para múltiples dominios de correo electrónico en el servidor. Lo hace por requerir el mínimo mantenimiento posible del servidor: básicamente, para agregar un dominio o un usuario, sólo tiene que añadir una fila a una tabla de mysql y listo (no es necesario agregar secuencias de comandos de tamiz, …).
  • He añadido webmail.
  • He añadido una sección sobre cómo configurar una nube, para albergar no sólo su correo electrónico, sino también los archivos, tu libreta de direcciones / contactos (correos electrónicos, números de teléfono, cumpleaños, …), calendarios y fotos para uso a través de sus dispositivos.

Obtener un servidor privado Virtual, un nombre de dominio, y les

Comencemos por establecer la infraestructura básica: nuestro servidor privado virtual y nuestro nombre de dominio.

He tenido una excelente experiencia con el (servidores privados virtualesVPS) de 1984.es y Linode. En este artículo, vamos a utilizar Debian Wheezy, para que ambos 1984 y Linode proporcionan imágenes preparadas para implementar en su VPS. Me gusta 1984 porque los servidores están alojados en Islandia que funcionan exclusivamente sobre la energía renovable (geotérmicas y energía hidroeléctrica) y por lo tanto no contribuye al cambio climático, a diferencia de las centrales de carbón en que centros de datos más en Estados Unidos actualmente se ejecutan en. También, ponen énfasis libertades civiles, transparencia, libertad y Software libre.

Podría ser una buena idea para empezar un archivo para almacenar los distintos contraseñas Necesitamos poner en el servidor (cuentas de usuario, cuentas de correo, cuentas de nube, base de datos cuentas). Definitivamente es una buena idea cifrar este archivo (tal vez con GnuPG), por lo que no será demasiado fácil atacar el servidor incluso si el ordenador utiliza para configurar su servidor obtiene robado o comprometido.

Para registrar un nombre de dominio, He estado usando los servicios de Gandi para más de 10 desde hace años, también con satisfacción. Para este artículo, vamos a establecer una zona con el nombre jhausse.net. Luego agregamos un host denominado Cloud.jhausse.net a él, configurar el registro MX a ese host. Mientras estás en él, como el corto tiempo de vida (TTL) para sus registros 300 segundos para que usted podrá realizar cambios en su zona y probar el resultado rápidamente mientras está configurando el servidor.

Finalmente, establecer la Registro PTR (reverso DNS) para que el Dirección IP de los mapas de host a su nombre. Si no entiendes la frase anterior, leer Este artículo para obtener el fondo. Si utilizas Linode, puede establecer el registro PTR en el panel de control en la sección acceso remoto. Con 1984, Póngase en contacto con el soporte técnico que le ayudará con él.

En el servidor, vamos a empezar por añadir un usuario de la investigación no, para que no terminen trabajando como root todo el tiempo. También, para acceder como root requerirá una capa extra de seguridad.

 adduser roudy

Entonces, en /etcetera/ssh/sshd_config, hemos creado

 PermitRootLogin no

y volver a cargar el ssh server

 servicio ssh cargar

Entonces, tendremos que cambiar el nombre de host del servidor. Editar /etcetera/nombre de host para que tenga una línea con el nombre de host, en nuestro caso

 nube

Entonces, editar el ssh servidor público de archivos de clave /etc/ssh/ssh_host_rsa_key.pub, /etc/ssh/ssh_host_dsa_key.pub, /etc/ssh/ssh_host_ecdsa_key.pub para que al final del archivo refleja el nombre de host, o instancia [email protected]. Reinicie el sistema para asegurarse de que el nombre de host es fijo siempre que es debe ser

 reiniciar el sistema

Vamos a actualizar el sistema y quitar servicios que no necesitamos para reducir el riesgo de ataques remotos.

 apt-get update apt-get dist-upgrade servicio exim4 parada apt-get remove exim4 rpcbind apt-get autoremove apt-get install vim

Me gusta utilizar vim para editar archivos de configuración de forma remota. Para esto, ayuda a activar automáticamente resaltado de sintaxis. Lo hacemos mediante la adición de

 SYN en

Para ~/.vimrc.

Configurar postfix y dovecot para enviar y recibir correo electrónico

 apt-get install postfix postfix-mysql base Palomar dovecot-imapd dovecot-mysql mysql-server Palomar lmtpd postgrey

En Postfix menú de configuración, Seleccionamos Sitio de Internet, y el nombre de correo del sistema jhausse.net.

Vamos ahora a establecer una base de datos para almacenar la lista de Dominios alojados en nuestro servidor, la lista de usuarios para cada uno de estos dominios (junto con su contraseña), y una lista de alias de correo (para reenviar correo electrónico desde una dirección determinada a otra).

 mysqladmin -p crear Mail Server mysql -p Mail Server mysql> Mailserver.* GRANT seleccione ON para 'mailuser'@'localhost' IDENTIFIED BY 'mailuserpass'; MySQL> PRIVILEGIOS AL RAS; MySQL> CREAR tabla 'virtual_domains' ('id' int(11) NOT NULL auto_increment,   'nombre' VARCHAR (50) NOT NULL,   PRIMARY KEY ('id')) motor = InnoDB DEFAULT CHARSET = utf8; MySQL> CREAR tabla 'virtual_users' ('id' int(11) NOT NULL auto_increment,   int(11) 'domain_id' NOT NULL,   'password' varchar(106) NOT NULL,   'email' varchar(100) NOT NULL,   PRIMARY KEY ('id'),   CLAVE única 'correo electrónico' ('email'),   Virtual_domains(id) extranjera referencias clave (domain_id) ON DELETE CASCADE) motor = InnoDB DEFAULT CHARSET = utf8; MySQL> CREAR tabla 'virtual_aliases' ('id' int(11) NOT NULL auto_increment,   int(11) 'domain_id' NOT NULL,   'fuente' varchar(100) NOT NULL,   'destino' varchar(100) NOT NULL,   PRIMARY KEY ('id'),   Virtual_domains(id) extranjera referencias clave (domain_id) ON DELETE CASCADE) motor = InnoDB DEFAULT CHARSET = utf8;

Será la sede de la jhausse.net dominio. Si hay otros dominios para alojar, también se puede añadir. También hemos creado una dirección de correos para cada dominio, que remite a [email protected].

 MySQL> INSERT INTO virtual_domains ('nombre') valores ('jhausse.net'); MySQL> INSERT INTO virtual_domains ('nombre') valores ('otherdomain.net'); MySQL> INSERT INTO virtual_aliases ('domain_id', 'código fuente', 'destino') valores ('1', 'Administrador', '[email protected]'); MySQL> INSERT INTO virtual_aliases ('domain_id', 'código fuente', VALORES de 'destino') ('2', 'Administrador', '[email protected]');

Ahora agregamos una cuenta de correo electrónico alojado localmente [email protected]. Primero, se genera un hash de contraseña para él:

 doveadm pw -s cripta SHA512

y luego añadir el hash a la base de datos

 MySQL> INSERT INTO 'servidor'. 'virtual_users' ('domain_id', 'password', VALORES de 'correo electrónico') ('1', '$  6$  YOURPASSWORDHASH', '[email protected]');

Ahora que la lista de dominios, alias y los usuarios están en el lugar, instalaremos postfix (servidor de SMTP, para el correo saliente). Reemplace el contenido de /etc/postfix/main.cf con los siguientes elementos:

 myhostname = cloud.jhausse.net myorigin = etcetera/correo mydestination = localhost.localdomain, localhost mynetworks_style = host  # Deshabilitamos la retransmisión en la general caso smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination # Requerimientos en los servidores que en contacto con nosotros: verificamos que el cliente no es un # remitentes de spam conocidos (reject_rbl_client) y uso un mecanismo graylist # (postgrey) para ayudar a reducir el spam (check_policy_service) smtpd_client_restrictions = permit_mynetworks, reject_rbl_client zen.spamhaus.org, check_policy_service inet:127.0.0.1:10023 disable_vrfy_command = yes inet_interfaces = todos smtpd_banner = $  myhostname ESMTP $  mail_name (Debian/GNU) biff no = append_dot_mydomain no = readme_directory = no  # TLS parámetros smtpd_tls_cert_file=/etc/ssl/certs/cloud.crt smtpd_tls_key_file=/etc/ssl/private/cloud.key smtpd_use_tls = yes smtpd_tls_auth_only = yes smtp_tls_security_level = smtp_tls_loglevel de mayo = 1 smtpd_tls_loglevel = 1 smtpd_tls_received_header = sí smtpd_tls_session_cache_database = btree: $ {data_directory} / smtpd_scache smtp_tls_session_cache_database = btree: $ {data_directory} / smtp_scache  # Entrega alias_maps = hash: / etcetera/aliases alias_database = hash: / etcetera alias message_size_limit = 50000000 recipient_delimiter = +  # Las siguientes líneas son útiles para configurar un copia de seguridad MX para myfriendsdomain.org # relay_domains = myfriendsdomain.org # relay_recipient_maps =  # Dominios virtuales virtual_transport = lmtp:unix:private / Palomar-lmtp virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf local_recipient_maps = $  virtual_mailbox_maps

Ahora tenemos que enseñar postfix para averiguar qué dominios queremos que acepte mensajes de correo electrónico para el uso de la base de datos que acaba de programar. Crear un nuevo archivo /etc/postfix/MySQL-virtual-Mailbox-Domains.cf y agregar lo siguiente:

 usuario = mailuser password = mailuserpass hosts = 127.0.0.1 dbname = mailserver consulta = SELECT 1 DE virtual_domains donde nombre = '%s'

Enseñamos a postfix para averiguar si existe una cuenta de correo electrónico dada mediante la creación de /etc/postfix/MySQL-virtual-Mailbox-Maps.cf con el siguiente contenido

 usuario = mailuser password = mailuserpass hosts = 127.0.0.1 dbname = mailserver consulta = SELECT 1 DE virtual_users donde email = '%s'

Finalmente, postfix utiliza /etc/postfix/MySQL-virtual-alias-Maps.cf para ver alias de correo

 usuario = mailuser password = mailuserpass hosts = 127.0.0.1 dbname = mailserver consulta = SELECT virtual_aliases.destination como destino del virtual_aliases, virtual_domains donde virtual_aliases.source='%u' y virtual_aliases.domain_id = virtual_domains.id y virtual_domains.name='%d'

Con todo esto en lugar, ahora es el momento de probar si postfix puede consultar nuestra base de datos correctamente. Esto lo podemos hacer utilizando postmap:

 postmap - q jhausse.net mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf postmap - q [email protected] mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf postmap - q [email protected] mysql:/etc/postfix/mysql-virtual-alias-maps.cf postmap - q [email protected] mysql:/etc/postfix/mysql-virtual-alias-maps.cf

Si configuraste todo correctamente, las dos primeras consultas deben devolver 1, la tercera consulta debe devolver [email protected] y la última debe devolver nada en absoluto.

Ahora, vamos a configurar dovecot (el servidor IMAP, a buscar el correo entrante en el servidor desde nuestros dispositivos). Editar /etc/dovecot/dovecot.conf para configurar los siguientes parámetros:

 # Permiten instalada protocolo # ! include_try /usr/share/dovecot/protocols.d/*.protocol protocolos = imap lmtp

que sólo permita imap (que nos permite recuperar mensajes de correo electrónico) y lmtp (que postfix se utilice para pasar correos electrónicos entrantes a Palomar). Editar /etc/dovecot/conf.d/10-mail.conf para configurar los siguientes parámetros:

 mail_location = maildir:/var/mail/%d/%n [...] mail_privileged_group = correo [...] first_valid_uid = 0

que almacenará los mensajes de correo electrónico en /var/mail/domainname/username. Tenga en cuenta que estos valores se transmiten en lugares diferentes en el archivo, y a veces ya hay que establecer: sólo tenemos que comentarlos. Los otros valores que ya están en el archivo, puede dejar como está. Tenemos que hacer lo mismo para actualizar los parámetros muchos más archivos en el resto de este artículo. En /etc/dovecot/conf.d/10-auth.conf, establecer los parámetros:

 disable_plaintext_auth = sí auth_mechanisms = llano #! son system.conf.ext auth! incluyen auth-sql.conf.ext

En /etc/dovecot/conf.d/auth-SQL.conf.ext, definir los siguientes parámetros:

 passdb {driver = sql args = /etc/dovecot/dovecot-sql.conf.ext} userdb {controlador = args estática = uid = gid mail = correo home=/var/mail/%d/%n}

donde enseñamos a Palomar que los usuarios tienen su correo electrónico en /var/mail/domainname/username y para ver contraseñas de la base de datos que acabamos de crear. Ahora todavía tenemos que enseñar Palomar cómo utilizar la base de datos. Para hacerlo, poner lo siguiente en /etc/dovecot/dovecot-SQL.conf.ext:

 Driver = mysql conectar = host = localhost dbname = mailserver user = mailuser password = mailuserpass default_pass_scheme = SHA512 cripta password_query = SELECT email como usuario, contraseña del virtual_users donde email = '%u';

Ahora arreglamos permisos en archivos de configuración

 chown -R correo: Palomar etcetera/Palomar chmod -R o-rwx etcetera/Palomar

¡Casi ahí! Sólo tenemos que editar unos archivos más. En /etc/dovecot/conf.d/10-Master.conf, definir los siguientes parámetros:

 servicio de inicio de sesión imap {inet_listener imap {#port = 143     Puerto = 0   } inet_listener imaps {puerto = 993     SSL = yes}} servicio Inicio de sesión pop3 {inet_listener pop3 {#port = 110     Puerto = 0   } inet_listener pop3s {#port = 995     #SSL = puerto sí = 0   lmtp de servicio}} {unix_listener /var/spool/postfix/private/dovecot-lmtp {mode = 0666     grupo = usuario postfix = postfix} usuario = correo} servicio auth {unix_listener auth-userdb {mode = 0600     usuario = correo #group =}    # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth {mode = 0666     usuario = grupo postfix = postfix}    # Proceso de autenticación se ejecuta como usuario.   #usuario = $  default_internal_user usuario = Palomar} auth-trabajador de servicio {usuario = correo}

Tenga en cuenta que fijar puertos para todos los servicios pero imaps a 0, que efectivamente les inhabilita. Entonces, en /etc/dovecot/conf.d/15-Lda.conf, especificar una dirección de correo electrónico para el administrador:

 postmaster_address = [email protected]

Por último pero no menos importante, Necesitamos generar un par del público y clave privada para el servidor, que vamos a utilizar tanto en Palomar y postfix:

 openssl req-new - newkey rsa:4096 - x 509 - días 365 -nodes -out "/etc/ssl/certs/cloud.crt" -keyout "/etc/ssl/private/cloud.key"

Asegúrese de que especificar que es la completamente calificado dominio nombre completo (FQDN) del servidor, en nuestro caso:

 Nombre común (por ejemplo. servidor FQDN o el nombre) []: cloud.jhausse.net

Si no lo hace, nuestros clientes pueden quejarse de que el nombre del servidor en el certificado SSL no coincide con el nombre del servidor que se conectan a. Decimos Palomar para utilizar estas teclas estableciendo los siguientes parámetros /etc/dovecot/conf.d/10-SSL.conf:

 SSL = ssl_cert requerido = </etc/SSL/certs/Cloud.CRT ssl_key = </etc/SSL/Private/Cloud.Key

¡Eso es todo! Ahora a probar los servidores postfix y dovecot.

 Service dovecot restart reiniciar el servicio postfix

Desde el propio servidor, intente enviar un correo electrónico a un usuario local:

 Telnet localhost 25 Datos de to:[email protected] rcpt EHLO cloud.jhausse.net MAIL FROM:[email protected] asunto: Hola!  Esto es una prueba, para comprobar si cloud.jhausse.net está listo para ser un MX!  Saludos, Roudy . DEJAR DE FUMAR

El servidor debe aceptar nuestro correo electrónico con un mensaje como

 250 2.0.0 Aceptar: cola como 58D54101DB

Compruebe los registros /var/log/mail.log Si todo ha ido bien. Debe haber línea diciendo algo como

 Noviembre 14 07: 57:06 Palomar de nube: lmtp (4375, [email protected]): ... guardado por correo a bandeja de entrada

¿Hasta ahora, bien? Buena. Ahora, vamos a tratar de la misma desde una máquina diferente, como el ordenador que utilizamos para configurar el servidor. Vamos a hablar con el servidor mediante cifrado (TLS) esta vez:

 OpenSSL s_client-connect cloud.jhausse.net:25 - starttls smtp EHLO cloud.jhausse.net correo FROM:[email protected] rcpt to:[email protected]

a los que debe responder el servidor

 554 5.7.1 <[email protected]>: Denegado el acceso al relé

Eso es bueno: aceptó el servidor de correo, Esto habría significado que nos configurar postfix como un relé abierto para todos los spammers del mundo y beyhond para utilizar. En vez de la ' relé acceso denegado’ Mensaje, en su lugar obtendrá el mensaje

 554 5.7.1 Servicio de carácter; Host de cliente [87.68.61.119] bloqueado utilizando zen.spamhaus.org; http://www.Spamhaus.org/Query/BL?IP=87.68.61.119

Esto significa que está intentando contactar con el servidor de un Dirección IP se considera como dirección de un spammer. Recibí este mensaje al intentar conectarse al servidor a través de mi habitual proveedor de servicio de Internet (ISP). Para solucionar este problema, Usted puede intentar conectar desde otro host, tal vez otro servidor tiene acceso a través de SSH. Como alternativa, puede volver a configurar de Postfix Main.cf No utilice Spamhaus de RBL, Reload postfix, y comprobar que funciona la prueba arriba. En ambos casos, es importante que encontrar una solución que funcione para usted porque a probar otras cosas en un minuto. Si decide configurar Postfix no para utilizar RBL, no olvide volver a poner el RBL y reload postfix después de terminar el artículo para evitar el spam más que necesario.

Ahora vamos a trate de enviar un correo electrónico válido por SMTP en el puerto 25, que servidores de correo usan para hablar entre sí:

 OpenSSL s_client-connect cloud.jhausse.net:25 - starttls smtp EHLO cloud.jhausse.net correo FROM:[email protected] rcpt to:[email protected]

a los que debe responder el servidor

 Host cliente rechazado: el tiempo, Ver http://postgrey.schweikert.ch/help/jhausse.net.html

que demuestra que Postgrey está funcionando como debería. Qué postgrey hace rechazar mensajes de correo electrónico con un error temporal si el remitente no se ha visto nunca antes. Las reglas técnicas de correo electrónico requieren servidores de correo electrónico tratar de entregar el correo electrónico otra vez. Después de cinco minutos, Postgrey aceptará el correo electrónico. Servidores de correo electrónico legítimo del mundo a tratar de repeatidly para entregar el correo electrónico nos, pero la mayoría de los spammers no. Así, Espere a que 5 minutos, intente enviar el correo electrónico con el comando anterior, y verificar que postfix ahora acepta el correo electrónico.

Después, a ver que nos podemos traer los dos correos que enviamos a nosotros mismos hablando dovecot IMAP:

 OpenSSL s_client - crlf-conectar cloud.jhausse.net:993 1 login [email protected] "mypassword" 2 LIST "" "*" 3 SELECCIONE BANDEJA DE ENTRADA 4 Fetch UID 1: 1 (UID RFC822. CUERPO DE BANDERAS DE TAMAÑO. PEEK[]) 5 CIERRE DE SESIÓN

donde debería cambiar micontraseña con la contraseña configurada en esta cuenta de correo electrónico. Si funciona, Básicamente tenemos un servidor de correo electrónico funcional que puede recibir nuestros emails entrantes, y de la cual conseguimos recuperar estos correos de nuestros dispositivos (PC/laptop, tabletas, teléfonos, …). Pero no podemos dar nuestros correos enviar a menos que les enviamos desde el propio servidor. Ahora permitimos postfix reenviar nuestros correos, pero sólo sobre autenticación exitosa, es después de que podría cerciorarse de que el correo electrónico proviene de alguien que tiene una cuenta válida en el servidor. Para hacerlo, te abrimos un especial, Sólo SSL, Servicio de envío de correo electrónico autentificado de SASL. Definir los siguientes parámetros /etc/postfix/Master.cf:

 Presentación inet n       -       -       -       -       smtpd -o syslog_name = postfix/presentación - o smtpd_tls_security_level = cifrar -o smtpd_sasl_auth_enable = yes -o smtpd_client_restrictions = permit_sasl_authenticated, rechazar -o smtpd_sasl_type = Palomar -o smtpd_sasl_path = privado/auth - o smtpd_sasl_security_options = noanonymous -o smtpd_recipient_restrictions = permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unauth_destination

y postfix reload

 servicio postfix reload

Ahora, vamos a intentar utilizar este servicio desde una máquina diferente que el que el servidor, verificar postfix ahora se retransmita nuestros correos y de nadie:

 OpenSSL s_client-connect cloud.jhausse.net:587 - starttls smtp EHLO cloud.jhausse.net

Aviso el 250-AUTH PLAIN’ capacidades publicitada por servidor, que no aparece cuando conecta al puerto 25.

 CORREO FROM:[email protected] rcpt to:[email protected] 554 5.7.1 <[email protected]>: Relé acceso denegado salir

Está bien, postfix no relé nuestros correos si él no nos conoce. Así que vamos a autenticar nosotros mismos primero. Para hacerlo, lo primero que tenemos que generar una cadena de autenticación:

 echo - ne '[email protected]' | base64

y vamos a intentar enviar correos electrónicos a través del servidor otra vez:

 OpenSSL s_client-connect cloud.jhausse.net:587 - starttls smtp EHLO cloud.jhausse.net AUTH PLAIN DGplYW5AMTk4NGNsb3VQLm5ldAA4bmFmNGNvNG5jOA == FROM:[email protected] MAIL rcpt to:[email protected]

ahora debe aceptar que postfix. Para completar la prueba, vamos a verificar que nuestro alias virtuales enviando un correo electrónico a [email protected] y asegurándose de que va a [email protected]:

 Telnet cloud.jhausse.net 25 Datos de to:[email protected] rcpt EHLO cloud.jhausse.net MAIL FROM:[email protected] asunto: Estimado administrador de alias Virtual prueba, No tiempo de oír! Espero que su MX está funcionando suavemente y con seguridad. Suyo sinceramente, Roudy . DEJAR DE FUMAR

Vamos a ver el correo que hizo hacia la derecha bandeja de entrada:

 OpenSSL s_client - crlf-conectar cloud.jhausse.net:993 1 login [email protected] "mypassword" 2 LIST "" "*" 3 SELECCIONE BANDEJA DE ENTRADA * 2 EXISTE * 2 RECIENTES 4 CIERRE DE SESIÓN

En este punto, Contamos con un servidor de correo electrónico funcional, tanto para los correos entrantes y salientes. Podemos configurar nuestros dispositivos a utilizar.

PD: te acuerdas de prueba enviando un email a una cuenta por el servidor a través del puerto 25 otra vez, ¿para verificar que usted no estén ya bloqueados por postgrey?

Evitar el SPAM llegue a tu bandeja de entrada

Por el bien de filtrado antispam, ya tenemos listas negras en tiempo real (RBL) y transitorio (postgrey) en lugar. Ahora tomaremos nuestro spam luchando capacidades encima de una muesca añadiendo filtrado antispam adaptativo. Esto significa que vamos a añadir inteligencia artificial a nuestro servidor de correo electrónico, para que pueda aprender de la experiencia qué es spam y qué no es. Vamos a utilizar dspam para.

 apt-get install dspam Palomar-antispam postfix-pcre Palomar-tamiz

Palomar-antispam es un paquete que permite Palomar entrenar el filtro spam si encontramos un correo que es mal clasificado por dspam. Básicamente, todos tenemos que hacer es mover mensajes de correo electrónico dentro o fuera de la carpeta de no deseado o Spam. Palomar-antispam se encargará de llamar dspam a reciclar el filtro. En cuanto a postfix-pcre y Palomar-tamiz, les utilizaremos respectivamente pasar correos electrónicos entrantes a través del filtro de spam y spam se desplazan automáticamente a la carpeta del usuario no deseado o Spam.

En /etc/dspam/dspam.conf, definir los siguientes parámetros a estos valores:

 TrustedDeliveryAgent "/usr/sbin/sendmail" UntrustedDeliveryAgent "/usr/lib/dovecot/deliver -d %u" Tokenizer osb IgnoreHeader X-Spam-Status IgnoreHeader X-Spam-Scanned IgnoreHeader X-Virus-Scanner-Result IgnoreHeader X-Virus-Scanned IgnoreHeader X-DKIM IgnoreHeader DKIM-Signature IgnoreHeader DomainKey-Signature IgnoreHeader X-Google-Dkim-Signature ParseToHeaders on ChangeModeOnParse off ChangeUserOnParse full ServerPID               /var/run/dspam/dspam.pid ServerDomainSocketPath  "/var/run/dspam/dspam.sock" ClientHost      /var/run/dspam/dspam.sock

Entonces, en /etc/dspam/default.Prefs, cambiar los parámetros siguientes:

 spamAction = entregar         # {cuarentena | etiqueta | entregar}-> por defecto: cuarentena signatureLocation = encabezados  # {mensaje | encabezados}-> mensaje: por defecto showFactors = en

Ahora necesitamos conectar dspam a postfix y dovecot añadiendo estas dos líneas al final de /etc/postfix/Master.cf:

 dspam unix  -       n n       -       10      Pipe flags = usuario Ru = dspam argv = / usr/bin/dspam--entregar = inocente, spam - usuario $  destinatario -i -f $  remitente -- $  Palomar destinatario unix  -       n n       -       -       Pipe flags = DRhu user = correo: correo argv = / usr/lib/Palomar/entregar - f $  {sender} -d $  {destinatario}

Ahora diremos postfix para filtrar cada nuevo email que es enviado al servidor en el puerto 25 (tráfico de SMTP normal) a través de dspam, excepto si el correo electrónico es enviado desde el servidor (permit_mynetworks). Tenga en cuenta que los correos que nos sometemos para postfix con autenticación SASL no se filtró dspam tampoco, como hemos establecido un servicio de envío separado para aquellos en la sección anterior. Editar /etc/postfix/main.cf para cambiar el smtpd_client_restrictions a lo siguiente:

 smtpd_client_restrictions = permit_mynetworks, reject_rbl_client zen.spamhaus.org, check_policy_service inet:127.0.0.1:10023, check_client_access pcre: / etcetera/postfix/dspam_filter_access

Al final del archivo, también añadiría:

 # Para DSPAM, sólo escanear un correo en un dspam_destination_recipient_limit de tiempo = 1

Ahora tenemos que especificar el filtro definimos. Básicamente, diremos postfix para enviar todos los correos electrónicos (/. /) a dspam a través de un socket unix. Crear un nuevo archivo /etcetera/postfix/dspam_filter_access e Introduzca la siguiente línea:

 /./   FILTRO dspam:unix:/run/dspam/dspam.sock

Es para la parte de postfix. Ahora vamos a configurar dovecot para el filtrado de spam. En /etc/dovecot/conf.d/20-IMAP.conf, editar la IMAP mail_plugins parámetro de plugins tales que:

 mail_plugins = $  mail_plugins antispam

y agregar una sección para lmtp:

 Protocolo lmtp {} # Espacio separado lista de plugins para cargar (por defecto es mail_plugins global).   mail_plugins = $  tamiz mail_plugins}

Ahora configuramos el plugin antispam Palomar. Editar /etc/dovecot/conf.d/90-plugin.conf para añadir el siguiente contenido a la sección de plugin:

 {} de la plugin   ...   # Antispam (DSPAM) antispam_backend = dspam antispam_allow_append_to_spam = sí antispam_spam = basura; Spam antispam_trash = basura, basura antispam_signature = antispam_signature_missing X-DSPAM-firma = error antispam_dspam_binary = /usr/bin/dspam antispam_dspam_args = usuario; %u;--entrega =;--fuente = error antispam_dspam_spam = clase = spam antispam_dspam_notspam = clase = inocente antispam_dspam_result_header = X-DSPAM-resultado}

y en /etc/dovecot/conf.d/90-Sieve.conf, especificar un script de tamiz de predeterminada que se aplicará a todos los usuarios del servidor:

 sieve_default = /etc/dovecot/default.sieve

¿Qué es tamiz y por qué necesitamos un script por defecto para todos los usuarios? Tamiz nos permite automatizar tareas en el servidor IMAP. En nuestro caso, no todos los correos identificados como spam a la carpeta de basura en vez de en la bandeja de entrada. Nos gustaría que este es el comportamiento predeterminado para todos los usuarios en el servidor; por eso acabamos estableció este script como script por defecto. Vamos a crear esta secuencia de comandos ahora, al crear un nuevo archivo /etc/dovecot/default.Sieve con el siguiente contenido:

 require ["regex", "fileinto", "imap4flags"]; # Coger el correo etiquetado como Spam, except Spam retrained and delivered to the mailbox if allof (header :regex "X-DSPAM-Result" "^(Spam|Virus|Bl[ao]cklisted)$  ",           not header :contains "X-DSPAM-Reclassified" "Innocent") {   # Marcar como leído   # setflag "\Seen";   # Move into the Junk folder   fileinto "Junk";   # Detener procesamiento aquí parada; }

Ahora tenemos que compilar esta secuencia de comandos que puede ejecutar Palomar. También tenemos que darle los permisos adecuados.

 CD/etcetera Palomar sievec . chown mail.dovecot default.siev* chmod 0640 chmod default.Sieve 0750 default.svbin

Finalmente, tenemos que fijar permisos en dos archivos de configuración de postfix que dspam necesita leer de:

 chmod 0644 /etc/postfix/dynamicmaps.cf /etc/postfix/main.cf

¡Eso es todo! Vamos a reiniciar Palomar y postfix

 Service dovecot restart reiniciar el servicio postfix

y prueba el antispam, ponerse en contacto con el servidor desde un host remoto (por ejemplo. el ordenador que estamos utilizando para configurar el servidor):

 OpenSSL s_client-connect cloud.jhausse.net:25 - starttls smtp EHLO cloud.jhausse.net correo FROM:[email protected] rcpt to:[email protected] datos tema: DSPAM prueba Hola Roudy, ¿Cómo quieres comer un jamón esta noche? Tuyo, J . DEJAR DE FUMAR

Vamos a ver si llegó el correo:

 OpenSSL s_client - crlf-conectar cloud.jhausse.net:993 1 login [email protected] "mypassword" 2 LIST "" "*" 3 SELECCIONE BANDEJA DE ENTRADA 4 Fetch UID 3: 3 (UID RFC822. CUERPO DE BANDERAS DE TAMAÑO. PEEK[])

Que algo debe devolver el mensaje con una colección de bandera por SPAM que este aspecto:

 X-DSPAM-resultado: Inocencio X DSPAM procesados: Sun Oct  5 16: 25:48 2014 X-DSPAM-confianza: 1.0000 X-DSPAM-probabilidad: 0.0023 X-DSPAM-firma: c 5431710 178911166011737 X DSPAM-factores: 27,         Recibió * Postfix + con, 0.40000,         Recibió * con + #+ id, 0.40000,         como + #+ #+ #+ jamón, 0.40000,         algunos + #+ esta noche, 0.40000,         Recibió * certificado + solicitados, 0.40000,         Recibió * cliente + certificado, 0.40000,         Recibió * para + roudy, 0.40000,         Recibió * sol #+ #+ # + 16, 0.40000,         Recibió * sol + #+ Oct, 0.40000,         Recibió * roudy + #+ #+ #+ Oct, 0.40000,         comer + algunos, 0.40000,         Recibió * 5 + #+ # + 16, 0.40000,         Received*Cloud.jhausse.net+#+#+#+ID, 0.40000,         Roudy + #+ #+ #+ a, 0.40000,         Recibió * Oct + # + 16, 0.40000,         a + #+ #+ jamón, 0.40000,         Recibió * No + #+ #+ solicitados, 0.40000,         Received*jhausse.net+#+#+Oct, 0.40000,         Recibió * 256 + 256, 0.40000,         como + #+ #+ algunos, 0.40000,         Recibió * ESMTPS + id, 0.40000,         Cómo había + #+ #+ a, 0.40000,         esta noche + tuyo, 0.40000,         Recibió * con + cifrado, 0.40000 5 CIERRE DE SESIÓN

¡Buena! Ahora tienes filtrado antispam adaptativo para los usuarios de su servidor. Claro, cada usuario deberá entrenar el filtro en las primeras semanas. Formar un mensaje como spam, sólo moverlo a una carpeta llamada “Spam” o “Basura” usando cualquiera de tus dispositivos (PC, Tablet, teléfono). De lo contrario podrá ser entrenado como jamón.

Asegúrese de que los correos electrónicos que usted envía se a través de los filtros de spam

Nuestro objetivo en esta sección será para que nuestro servidor de correo aparezca tan limpio como sea posible al mundo y a hacer más difícil para los spammers enviar correos electrónicos en nuestro nombre. Como un efecto secundario, Esto nos ayudará a conseguir nuestros correos a través de los filtros de spam de otros servidores de correo.

Marco de directivas de remitente

Marco de directivas de remitentes (SPF) es un registro que el agregar a su zona que declara que servidores de correo en todo el internet puede enviar mensajes de correo electrónico para tu dominio. Configurarlo es muy fácil, Utilice al asistente de SPF en Microsoft.com para generar su registro SPF, y luego agregarlo a la zona como un registro TXT. Se verá así:

 jhausse.net.       300 EN el TXT v = spf1 mx mx:cloud.jhausse.net-todos

Inversa PTR

Discutimos este punto antes en este artículo, es una buena idea que configurar el DNS inverso de su servidor correctamente, por lo que haciendo una busqueda reversa en la dirección IP de su servidor devuelve el nombre del servidor.

OpenDKIM

Cuando activa OpenDKIM, postfix firmará cada correo electrónico saliente con una clave criptográfica. Luego le depositamos esa clave en nuestra zona, en el DNS. Por ahí, cada servidor de correo en el mundo será capaz de verificar si el correo electrónico vino realmente de nosotros, o si fue forjada por un spammer. Vamos a instalar opendkim:

 apt-get install opendkim opendkim-herramientas

Y mediante la edición de /etc/opendkim.conf para que se vea como esto:

 ## ## opendkim.conf -- archivo de configuración de filtro de OpenDKIM ## Canonización relajado/relajado refile ExternalIgnoreList: / InternalHosts etcetera/opendkim/TrustedHosts refile: / opendkim/etcetera/TrustedHosts tipografía refile: / opendkim/etcetera/tipografía LogWhy sí MinimumKeyBits          1024 PidFile /var/run/opendkim/opendkim.pid SigningTable refile de modo sv: etcetera/opendkim/SigningTable zócalo inet:[email protected] Syslog sí SyslogSuccess sí TemporaryDirectory/var/tmp UMask                   022 Seudónimo opendkim:opendkim

Necesitaremos un par de archivos adicionales que se almacenan en /etcetera/opendkim:

 mkdir -pv/etc/opendkim/cd/etc/opendkim /

Vamos a crear un nuevo archivo /etcetera/opendkim/TrustedHosts con el siguiente contenido

 127.0.0.1

y un nuevo archivo llamado /etcetera/opendkim/tipografía con el siguiente contenido

 cloudkey jhausse.net:mail:/etc/opendkim/mail.private

Esto le dice a OpenDKIM que queremos usar una clave de cifrado denominada ' cloudkey’ cuyo contenido puede encontrarse en /etc/opendkim/mail.private. Vamos a crear otro archivo llamado /etcetera/opendkim/SigningTable y agregue la siguiente línea:

 *@jhausse.net cloudkey

que dice OpenDKIM que cada correo del dominio jhausse.net debe estar firmado con la tecla 'cloudkey'. Si tenemos otros dominios que queremos firmar, nosotros podemos añadirlos aquí también.

El siguiente paso es generar esa clave y fijar permisos en archivos de configuración de OpenDKIM.

 correo de opendkim-genkey - r -s [-t] chown -Rv opendkim:opendkim etcetera/opendkim chmod 0600 /etcetera/opendkim / * chmod 0700 /etcetera/opendkim

En un primer, es una buena idea utilizar el -t que se de la señal a otros servidores de correo que estás en modo de prueba, y que no debería descartar correos electrónicos basados en su firma de OpenDKIM (todavía). Puede obtener su clave de OpenDKIM del fichero mail.txt:

 gato mail.txt

y luego agregarlo a tu archivo de zona como registro TXT, que debe tener este aspecto

 mail._domainkey.cloud1984.net.     300     EN el TXT v = DKIM1; k = rsa; p = MIGfMA0GCSqG....

Finalmente, Necesitamos decirle a postfix para firmar mensajes de correo electrónico salientes. Al final de /etc/postfix/main.cf, Añadir:

 # Ahora para OpenDKIM: a firmar todos smtpd_milters de mensajes de correo electrónico saliente = inet:127.0.0.1:8891 non_smtpd_milters = $  smtpd_milters milter_default_action = aceptar

Y los correspondientes servicios de recarga

 servicio postfix reload servicio opendkim restart

Ahora vamos a probar si nuestra clave pública de OpenDKIM puede encontrarse y coincide con la clave privada:

 opendkim-testkey - d jhausse.net -s correo -k mail.private - vvv

que debe devolver

 opendkim-testkey: tecla OK

Para esto, puede que deba esperar un poco hasta que el servidor de nombres ha recargado la zona (en Linode, Esto sucede cada 15 min.). Se puede utilizar Dig para comprobar si la zona era todavía reloaded.

Si esto funciona, vamos a probar si otros servidores pueden validar nuestro OpenDKIM firmas y registro SPF. Para hacer esto, podemos utilizar Prueba de correo electrónico de Brandon Checkett. Enviar un correo electrónico a una dirección de prueba dada a nosotros en Página Web de Brandon, podemos ejecutar el siguiente comando en el servidor

 mail -s CloudCheck [email protected]

En la Página Web de Brandon, entonces debería ver resultado = pass en la ' firma DKIM’ sección, y Resultado: pasa en la ' información de SPF’ sección. Si nuestros correos pasan esta prueba, sólo regenera una clave de OpenDKIM sin la -t interruptor, cargar la nueva clave en el archivo de zona, y vuelva a probar si todavía pasa las pruebas. Si es así, ¡Felicidades! ¡Sólo con éxito configurar OpenDKIM y SPF en el servidor!

Calendarios de host, contactos, archivos con Owncloud y configurar un webmail con Roundcube

Ahora que ya tenemos un servidor de correo de primera clase, vamos a añadir a ella la posibilidad de guardar tus contactos, calendarios, y archivos en la nube. Estos son los servicios que la OwnCloud ofrece fuera de la caja. Mientras estamos en ella, También podrá configurar un webmail, para que puedas comprobar el correo electrónico incluso si viajas sin electrónica, o en caso de que el teléfono y el ordenador portátil se quede sin batería.

Instalar Owncloud es straighforward y se describe bien aquí. En Debian, se reduce a añadir el repositorio de owncloud a sus fuentes de aptas, descargar llave de desbloqueo de owncloud y añadir a su llavero apt, y luego instalar owncloud sí mismo utilizando apt-get:

 echo "deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ /' >> /etc/apt/sources.List.d/OwnCloud.List wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_6.0/Release.key apto-clave añadir - < Release.Key apt-get update apt-get install apache2 owncloud roundcube

Cuando se le pida para él, elegir dbconfig y luego dices que quieres Roundcube para utilizar MySQL. Entonces, proporcionar el mysql contraseña de root y establecer una buena contraseña para el usuario roundcube. Entonces, editar el archivo de configuración de roundcube /etc/Roundcube/Main.Inc.php para que inicie una sesión roundcube por defecto usando el servidor IMAP:

 $  rcmail_config ['default_host'] = 'ssl://localhost'; $  rcmail_config ['default_port'] = 993;

Ahora instalaremos el servidor apache2 con SSL por lo que podemos hablar con Owncloud y Roundcube utilizando cifrado de nuestros datos y contraseñas. Vamos a activar el módulo ssl de Apache:

 a2enmod ssl

y editar /etc/apache2/ports.conf para configurar los siguientes parámetros:

 NameVirtualHost *: Escuchar 80 80 ServerName www.jhausse.net  <IfModule mod_ssl.c>     # Si añades NameVirtualHost *: aquí 443, también tienes que cambiar     # la declaración de VirtualHost en /etc/apache2/sites-available/default-ssl     # Para <VirtualHost *: 443>     # Servidor Indicación de nombre llamado SSL hosts virtuales Actualmente no es     # apoyado por MSIE en Windows XP.     NameVirtualHost *: Escuchar 443 443 </IfModule>  <IfModule mod_gnutls.c>     Escuchar 443 </IfModule>

Te Armamos un defecto sitio web para conexiones encriptadas al servidor web como https://www.jhausse.net bajo /var/www. Editar /etcetera/apache2/sitios-disponible/default-ssl:

 <_Default_:443 de VirtualHost>         ServerAdmin [email protected] DocumentRoot/var/www ServerName www.jhausse.net [...]         <Directorio /var/www/owncloud>           Negar de todas         </Directorio>         [...]         SSLCertificateFile /etc/ssl/certs/cloud.crt SSLCertificateKeyFile /etc/ssl/private/cloud.key [...] </VirtualHost>

y vamos a un sitio web para conexiones no cifradas a http://www.jhausse.net bajo /var/www. Editar /etcetera/apache2/sitios-disponible/default:

 <_Default_:443 de VirtualHost>         ServerName DocumentRoot/var/www www.jhausse.net [...]         <Directorio /var/www/owncloud>           Negar de todas         </Directorio> </VirtualHost>

Por ahí, podemos servir páginas para www.jhausse.net poniéndolos en/var/www. El ' Deny de todos’ Directiva impide el acceso a Owncloud a través de www.jhausse.net: se configurarlo para acceder a ella a través de https://Cloud.jhausse.net en su lugar.

Vamos ahora a establecer el webmail (roundcube) por lo que se accederá a través de https://webmail.jhausse.net. Editar /etcetera/apache2/sitios-disponible/roundcube a tener el siguiente contenido:

 <IfModule mod_ssl.c> <VirtualHost *: 443>         ServerAdmin [email protected] DocumentRoot /var/lib/roundcube         # El nombre de host que desea acceder al webmail ServerName webmail.jhausse.net         <Directorio />                 Opciones FollowSymLinks AllowOverride None         </Directorio>          Registro de errores $  {APACHE_LOG_DIR}/error.log          # Los valores posibles incluyen: depuración, información, Aviso, advertir, error, Crit,         # alerta, emerg.         LogLevel warn CustomLog $  {APACHE_LOG_DIR}/ssl_access.log combinado          #   Interruptor del motor SSL:         #   Activar/desactivar SSL para este host virtual.         Directiva en          # No permita que las conexiones         # SSLRequireSSL SSLCipherSuite HIGH: medio          #   Puede crear un certificado autofirmado (snakeoil) mediante la instalación de         #   el paquete ssl-cert. Ver         #   /usr/share/doc/apache2.2-Common/README. Debian.gz para más información.         #   Si ambos clave y certificación se almacenan en el mismo archivo, sólo el         #   Se necesita la Directiva SSLCertificateFile.         SSLCertificateFile /etc/ssl/certs/cloud.crt SSLCertificateKeyFile /etc/ssl/private/cloud.key          # Los alias no funcionan bien con varios hosts en el servidor apache         # Quite el comentario de ellos para usarlo o adaptarlos a su configuración Alias/programa/js/tiny_mce / / usr/share/tinymce/www /          # Acceso a los archivos de tinymce         <Directory "/usr/share/tinymce/www/">                 Opciones de índices MultiViews FollowSymLinks AllowOverride ninguna orden permitir, denegar el permitir de todos         </Directorio>          <Directorio/var/lib/roundcube>                 Opciones + FollowSymLinks                 # Esto es necesario para analizar /var/lib/roundcube/.htaccess. Ver su                 # contenido antes de establecer AllowOverride None.                 AllowOverride todo orden permitir, denegar permite de todos         </Directorio>          # Protección de directorios básicos:         <Directorio /var/lib/roundcube/config>                 Opciones - FollowSymLinks AllowOverride None         </Directorio>          <Directorio /var/lib/roundcube/temp>                 Opciones - FollowSymLinks AllowOverride ninguna orden permite negar negar de todas         </Directorio>          <Directorio /var/lib/roundcube/logs>                 Opciones - FollowSymLinks AllowOverride ninguna orden permite negar negar de todas         </Directorio>          <FilesMatch "\.(cgi|shtml|phtml|php)$  ">                 SSLOptions + StdEnvVars         </FilesMatch>         <Directorio /usr/lib/cgi-bin>                 SSLOptions + StdEnvVars         </Directorio>         #   Ajustes de protocolo SSL:         #   La caja de seguridad y por defecto, pero todavía apagado compatible con estándar SSL/TLS         #   enfoque es que mod_ssl envía el cierre notificar alerta pero no espere         #   cierre notificar alerta de cliente. Cuando necesite un cierre diferente         #   enfoque puede utilizar una de las siguientes variables:         #   o ssl-inmundo-parada:         #     Esto obliga a un inmundo cierre cuando se cierra la conexión, es decir. No         #     SSL cerca notificar alerta es enviar o que pueda recibir.  Esto viola         #     pero SSL/TLS estándar es necesario para algunos navegadores con muerte cerebral. Uso         #     esto cuando recibes errores de I/O debido al acercamiento estándar donde         #     mod_ssl envía el cierre notificar alerta.         #   o ssl-precisa-parada:         #     Esto obliga a una parada precisa cuando se cierra la conexión, es decir. un         #     Cerca de SSL notificar alerta es enviar y mod_ssl espera notificar cierre         #     alerta del cliente. Esto es 100% Compatible con SSL/TLS estándar, pero en         #     práctica a menudo causa conexiones colgantes con navegadores con muerte cerebral. Uso         #     Esto sólo para los navegadores donde usted sabe que su implementación de SSL         #     funciona correctamente.         #   Aviso: Mayoría de los problemas de clientes rotos también está relacionadas con el HTTP         #   mantener instalaciones, así que generalmente además desea desactivar         #   keepalive para aquellos clientes, demasiado. Use variable "nokeepalive" for this.         #   Del mismo modo, uno tiene que forzar algunos clientes utilizar HTTP/1.0 para solución         #   su implementación de HTTP/1.1 roto. Use variables "downgrade-1.0" and         #   "force-response-1.0" for this.         BrowserMatch "MSIE [2-6]" \                 nokeepalive ssl-inmundo-apagado \                 downgrade-1.0 force-response-1.0         # MSIE 7 and newer should be able to use keepalive         BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown </VirtualHost> </IfModule>

y declarar el servidor en el DNS, por ejemplo:

 webmail.jhausse.net.       300     EN CNAME cloud.jhausse.net.

Ahora vamos a permitir que estos tres sitios web

 a2ensite default default-ssl roundcube service apache2 restart

y el webmail, accesible bajo https://webmail.jhausse.net, básicamente debe funcionar. Iniciar sesión con el correo electrónico completa (por ejemplo. [email protected]) y la contraseña se establece en el servidor de correo DB al principio de este artículo. La primera vez que conecte, el navegador le avisará que el certificado no fue firmado por una autoridad de certificación. Está bien, sólo tiene que añadir una excepción.

Por último pero no menos importante, vamos a crear un host virtual para owncloud poniendo el siguiente contenido /etcetera/apache2/sitios-disponible/owncloud:

 <IfModule mod_ssl.c> <VirtualHost *: 443>         ServerAdmin [email protected] DocumentRoot /var/www/owncloud ServerName cloud.jhausse.net         <Directorio />                 Opciones FollowSymLinks AllowOverride None         </Directorio>         <Directorio /var/www/owncloud>                 Opciones índices FollowSymLinks MultiViews AllowOverride todo orden permitir, denegar permite de todos         </Directorio>          ScriptAlias /cgi-bin / /usr/lib/cgi-bin /         <Directory "/usr/lib/cgi-bin">                 Opciones de AllowOverride None + ExecCGI-MultiViews + SymLinksIfOwnerMatch orden permitir, denegar permitir de todos         </Directorio>          Registro de errores $  {APACHE_LOG_DIR}/error.log          # Los valores posibles incluyen: depuración, información, Aviso, advertir, error, Crit,         # alerta, emerg.         LogLevel warn CustomLog $  {APACHE_LOG_DIR}/ssl_access.log combinado          #   Interruptor del motor SSL:         #   Activar/desactivar SSL para este host virtual.         Directiva en          # No permita que las conexiones         # SSLCipherSuite HIGH: medio de SSLRequireSSL SSLCertificateFile /etc/ssl/certs/cloud.crt SSLCertificateKeyFile /etc/ssl/private/cloud.key          <FilesMatch "\.(cgi|shtml|phtml|php)$  ">                 SSLOptions + StdEnvVars         </FilesMatch>         <Directorio /usr/lib/cgi-bin>                 SSLOptions + StdEnvVars         </Directorio>          BrowserMatch "MSIE [2-6]" \                 nokeepalive ssl-inmundo-apagado \                 downgrade-1.0 force-response-1.0         # MSIE 7 and newer should be able to use keepalive         BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown </VirtualHost> </IfModule>

y activar owncloud ejecutando

 a2ensite owncloud servicio apache2 reload

Vaya por delante una configurar OwnCloud conectando a https://Cloud.jhausse.net/ en un navegador web.

¡Eso es todo! Ahora tienes tu propio Google Drive, Calendario, Contactos, Dropbox, ¡y Gmail! ¡Disfrute de su privacidad recién recuperada! 🙂

Sincronizar sus dispositivos a la nube

Para sincronizar su correo electrónico, Usted puede usar su cliente de correo favorito: el programa de correo electrónico estándar en iOS o Android, k9mail, o Thunderbird en tu PC. O también puede usar el webmail que ha establecido.

Cómo sincronizar tu calendario y contactos con la nube es descrito en el doc de owncloud. En Android, Estoy usando las aplicaciones de sincronización de CalDAV y CardDAV-Sync que actúan como puentes entre las aplicaciones Android de calendario y contactos del teléfono y el servidor de owncloud.

Para los archivos, hay una aplicación para Android llamada Owncloud para cargar automáticamente fotos y videos que tome a su nube y acceda a sus archivos desde su teléfono. Acceder a tus archivos en la Mac/PC es fácil y bien descrito en la documentación de Owncloud.

Últimos consejos

Durante las primeras semanas, es una buena idea para controlar /var/log/syslog y /var/log/mail.log sobre una base diaria y asegúrese de que todo, todo funciona sin problemas. Es importante hacerlo antes de que invitar a otros (amigos, familia, …) que se celebrará en el servidor; usted podría perder su confianza en autoalojamiento para bien si ellos confiarán en ti con sus datos y la Inglaterra de servidor no está disponible.

Para agregar otro usuario de correo electrónico, sólo tiene que añadir una fila a la virtual_users tabla de la servidor de correo DB.

Para agregar un dominio, sólo tiene que añadir una fila a la virtual_domains tabla. A continuación, actualización /etcetera/opendkim/SigningTable al obtener saliente correo electrónico firmado, subir la clave de OpenDKIM a la zona, y recarga OpenDKIM.

OwnCloud tiene su propio usuario DB que puede ser manejado por iniciar sesión Owncloud como administrador.

Finalmente, es importante pensar antes de una solución en caso de su servidor temporalmente no disponible. Por ejemplo, ¿donde iría tu correo hasta que el servidor devuelve? Una solución sería encontrar un amigo que puede actuar como su copia de seguridad MX, mientras que actúan como su backup MX (véase el relay_domains y relay_recipient_maps configuración de Postfix Main.cf archivo). Del mismo modo, ¿Qué pasa si el servidor está comprometido y un individuo malintencionado borra todos tus archivos? Para, es importante pensar en un sistema de copia de seguridad regular. Linode ofrece copias de seguridad como una opción. En 1984.is, Configurar un sistema de backup automático básico pero suficiente usar crontabs y scp.

 

una respuesta