Instalación de Servicios Básicos en OpenBSD 5

Embed Size (px)

DESCRIPTION

OPEN BSD

Citation preview

  • INSTALACIN Y CONFIGURACIN DE SERVICIOS

    BSICOS EN OPENBSD 5.1

    Una gua para iniciarse con OpenBSD

    EDGAR RODOLFO VARGAS ALATA

    AREQUIPA-PER

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    2

    INSTALACIN Y CONFIGURACIN DE SERVICIOS BSICOS EN OPENBSD 5.1

    Autor Edgar Rodolfo Vargas Alata [email protected]

    LICENCIA BSD

    Copyright 2012 Edgar Rodolfo Vargas Alata, All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of

    conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of

    conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

    THIS SOFTWARE IS PROVIDED BY EDGAR RODOLFO VARGAS ALATA AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL EDGAR RODOLFO VARGAS ALATA OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The views and conclusions contained in the software and documentation are those of the

    authors and should not be interpreted as representing official policies, either expressed or

    implied, of Edgar Rodolfo Vargas Alata.

    Traduccin:

    Copyright 2012 Edgar Rodolfo Vargas Alata, Todos los derechos reservados.

    La redistribucin y el uso en formas de fuente y binario, con o sin modificaciones, estn

    permitidos siempre que se cumplan las siguientes condiciones:

    1. Las redistribuciones del cdigo fuente deben conservar el aviso de copyright anterior,

    esta lista de condiciones y el siguiente descargo de responsabilidad.

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    3

    2. Las redistribuciones en formato binario deben reproducir el aviso de copyright anterior,

    esta lista de condiciones y el siguiente descargo de responsabilidad en la documentacin

    y/u otros materiales suministrados con la distribucin.

    ESTE SOFTWARE SE SUMINISTRA POR EDGAR RODOLFO VARGAS ALATA "TAL

    CUAL", SIN GARANTAS EXPRESAS O IMPLCITAS, INCLUYENDO, PERO NO

    LIMITADO A LAS GARANTAS IMPLCITAS DE COMERCIALIZACIN Y APTITUD

    PARA UN PROPSITO DETERMINADO. EN NINGN CASO, EDGAR RODOLFO

    VARGAS ALATA O SUS COLABORADORES SERN RESPONSABLES POR NINGN

    DAO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, EJEMPLAR O

    CONSECUENTE (INCLUYENDO, PERO NO LIMITADO A, LA ADQUISICIN DE

    BIENES O SERVICIOS, LA PRDIDA DE USO, DE DATOS O DE BENEFICIOS , O

    INTERRUPCIN DE NEGOCIO) CAUSADOS Y EN CUALQUIER TEORA DE

    RESPONSABILIDAD, YA SEA POR CONTRATO, RESPONSABILIDAD ESTRICTA O

    AGRAVIO (INCLUYENDO NEGLIGENCIA O DE OTRA MANERA) QUE SURJA DE

    CUALQUIER MANERA DEL USO DE ESTE SOFTWARE, INCLUSO SI SE HA

    ADVERTIDO DE LA POSIBILIDAD DE TALES DAOS .

    Las opiniones y conclusiones contenidas en el software y la documentacin son las de los

    autores y no deben interpretarse como la representacin de las polticas oficiales, ya sea

    expresa o implcita de Edgar Rodolfo Vargas Alata.

    TODAS LAS MARCAS Y LOGOS SON PROPIEDAD DE SUS RESPECTIVOS DUEOS.

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    4

    NDICE DE CONTENIDO:

    1. Licencia BSD ................................................................................................... 2

    2. Introduccin..................................................................................................... 5

    3. Configuracin bsica del sistema .................................................................... 6

    a. Configuracin de red ........................................................................... 6

    i. Interfaces de red ...................................................................... 6

    ii. Gateway y DNS ....................................................................... 7

    4. Instalando paquetes ........................................................................................ 8

    a. Aadiendo expot PKG_PATH a .profile ............................................... 8

    b. Creacin de usuarios ........................................................................... 9

    c. Descargar index.txt .............................................................................. 9

    5. Servidor DHCP ................................................................................................ 11

    6. Servidor DNS .................................................................................................. 12

    7. Servidor web ................................................................................................... 16

    a. VirtualHost ........................................................................................... 17

    b. Php 5.3 en OpenBSD .......................................................................... 17

    8. Servidor de correo ........................................................................................... 19

    a. Configurar postfix (bsico) ................................................................... 20

    b. Certificados SSL para postfix y dovecot ............................................... 21

    c. Instalar y configurar dovecot (bsico) .................................................. 23

    d. Squirrelmail y roundcubemail ............................................................... 24

    9. Servidor FTP ................................................................................................... 32

    10. Mysql............................................................................................................... 34

    11. Servidor proxy ................................................................................................. 36

    12. Cortafuegos con PF ........................................................................................ 44

    13. Conclusiones ................................................................................................... 46

    14. Referencias ..................................................................................................... 46

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    5

    INTRODUCCION

    Muchas veces nos encontramos con algunas redes pequeas, medianas o incluso

    grandes, entonces surgen algunas preguntas como: Hay software para poder

    automatizar algunas cosas? Por ejemplo dar una identificacin a una mquina

    automticamente o asignar una ip a usa sola mquina, estamos manejando datos y cada

    vez crece, necesitamos base de datos y luego consultar de alguna manera, se puede

    hacer ello con software libre? Con qu lenguaje de programacin? Podemos hacer

    servicios en red? Y el software usado es bueno? Etc., etc., etc., la respuesta es SI, si

    hay software para usar en mquinas con bajos recursos y tambin dicho software se

    puede usar en mquinas con altos recursos y modernas, los problemas de compatibilidad

    de dicho software con el hardware son pocos, casos donde el hardware es nuevo o algo

    no comn en el mercado podra traer problemas, en mi experiencia he visto que el

    problema puede ser con error de hardware o como dije hardware no soportado con el

    sistema operativo, o muy reciente, en la mayora de los casos va a funcionar haciendo

    que funcione y leyendo la informacin del software a usar.

    Despus de mencionar algunos aspectos ahora nos toca dar una visin general de lo que

    trataremos en ste documento:

    En sta oportunidad usaremos a OpenBSD 5.1 para solucionar algunas cosas en redes

    LAN.

    OpenBSD es un sistema operativo UNIX-LIKE, muy bueno para servicios en red, nuestra

    red tendr la siguiente forma:

    Imagen tomada de pello.info

    Como vemos aqu en la figura de arriba, nuestro OpenBSD ser nuestro cortafuegos y a

    la vez dar algunos servicios a nuestra red lan y tambin a la red de cara a internet,

    podramos hacer que desde internet consultaran a un servicio como el web, no es lo ideal,

    pero existe ste caso, la mejor forma sera tener servicios en mquinas separadas y

    desde el firewall redireccionar a dichas mquinas, algunas veces no se cuenta con la

    infraestructura por ello tomaremos el caso de la figura de arriba, aunque se podra

    virtualizar en una sola mquina, pero eso ya es otra historia, en resumen aqu nuestro

    OpenBSD ser nuestro cortafuegos y nuestro servidor para una red local y prestar algn

    servicio hacia afuera en caso de que se desee alguna vez consultar desde internet.

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    6

    CONFIGURACION BSICA DEL SISTEMA

    Luego de instalar OpenBSD 5.1, la instalacin automtica donde se toma todo el disco

    ser la que usaremos, hay documentacin para realizar ello, por qu todo el disco y

    automtico? La respuesta es porque ser un servidor dedicado a servir y no tendr

    interfaz grfica, se manipular dicho servidor desde lnea de comandos, aunque siempre

    se puede personalizar las particiones, ste documento se realiz con las

    recomendaciones de OpenBSD.

    Dicho lo anterior pasamos a configurar lo bsico:

    Configurar los parmetros de red

    Miramos antes como nos debe quedar el nombre y las interfaces:

    Vemos que nuestra arquitectura es amd64, podra ser i386 u otra, tambin vemos el

    nombre de host y las interfaces, em0 es la interfaz de cara al router y em1 es la interfaz

    de cara a la red LAN, existen otras interfaces, como lo0 y otras 2, pero no son fsicas,

    aqu em0 y em1 son las tarjetas Ethernet y las que usaremos.

    #ifconfig a

    El comando de arriba nos muestra todas las interfaces, reconocidas, crearemos archivos

    para em0 y em1, supongo que no he configurado nada cuando estaba instalando

    OpenBSD 5.1

    #vi /etc/hostname.em0

    #vi /etc/hostname.em1

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    7

    Deben estar en /etc, en el FAQ dice que ah se crea, en man hostname.if no lo he visto,

    entonces creamos y ponemos contenido.

    Tambin ponemos ip y nombre en /etc/hosts, para saber por qu, leer man hosts.

    Gateway y DNS

    La puerta de enlace est en /etc/mygate y el archivo donde se pone las ip que resuelve

    los nombres a ip est en /etc/resolv.conf, leer man resolv.conf y mygate.

    Nos aseguramos que hagan ping a nuestras ips y tambin a internet:

    #ping c 3 yahoo.com

    Aqu arriba en la ltima imagen he puesto nameserver y domain mi dominio, es porque

    tengo un servicio DNS y con forwarders a 8.8.8.8 y 8.8.4.4, que son las ips pblicas de

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    8

    google para DNS y las podemos usar, si an no ha configurado un servicio DNS en

    resolv.conf use:

    nameserver 8.8.8.8

    nameserver 8.8.4.4

    INSTALANDO PAQUETES

    En la instalacin no se realiz casi nada, todo se tom por defecto con las opciones que

    me ofreca, slo se cambi a idioma espaol, la ubicacin y el teclado a es, lo dems se

    acept con las recomendadas, entonces no podemos por ahora instalar nada con

    pkg_add RECOMENDADO POR OPENBSD textualmente:

    IMPORTANT NOTE: The ports tree is meant for advanced users. Everyone is

    encouraged to use the pre-compiled binary packages. Do NOT ask beginner questions on

    the mailing lists like "How can I get the ports tree working?". If you have questions about

    the ports tree, it is assumed that you have read the manual pages and this FAQ, and that

    you are able to work with it.

    Aqu not que me es SUFICIENTE el uso de packages (binarios precompilados) obtengo

    lo que quiero y solo eso me interesa, entonces usaremos pkg_add v para agregar

    software, leer man pkg_add para saber que significa el v, o leer el FAQ.

    Aadiendo export PKG_PATH

    Queremos que solo root aada software y nadie ms, entonces nos ubicamos en /root y

    hacemos un ls:

    #ls /root

    #vi .profile

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    9

    Al final aadimos export

    PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/5.1/packages/amd64/

    Podra ser otro mirror, yo he aadido el central, luego de ello para que tome efecto, se

    tiene que reiniciar la mquina (solo se hace una vez), podra haber otra forma para que

    tome efecto, pero no la he encontrado por ahora.

    Aadir usuarios

    Es necesario usuarios, lo necesitaremos para el servidor de correo (con usuarios del

    sistema) pueden crearse varios, recomiendo los necesarios no crear por crear, que valga

    la pena :), crearemos unos cuantos y a ellos le daremos un lugar en /home.

    #adduser

    Sale un mensaje, se llena la informacin necesaria, en caso de que se desee darle

    privilegio para cambiarse a root use:

    #usermod G wheel tunuevousuario

    Y as aadir ms suaurios.

    Descargar index.txt

    Necesitamos saber que tenemos y qu podemos instalar mediante pkg_add, en el ftp hay

    bastante software para hacer ello, pero si deseamos consultar ello con un comando

    necesitamos un archivo que contenga la informacin con los nombres exactos, ello es

    para facilitar nuestra labor con el uso de pkg_add y dnde est? Aqu:

    ftp://ftp.openbsd.org/pub/OpenBSD/5.1/packages/amd64/index.txt

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    10

    Se supone que ya tiene configurado todo lo necesario para usar:

    #pkg_add v unpaquete.tgz

    Eso automticamente apuntar al ftp puesto en .profile, pero no sabemos que poner,

    ejemplo links (navegador web en modo texto), entonces consultamos:

    #grep i links index.txt

    Arriba asumo que index se descarg en /root, podra ser en otra ruta, y se tendra que

    poner:

    #grep i links /la/ruta/adondestasel/index.txt, la salida es algo como esto:

    La pregunta surge entonces cmo descargo ese index? Es fcil.

    Primero instale wget

    #pkg_add v wget

    Luego:

    #wget ftp://ftp.openbsd.org/pub/OpenBSD/5.1/packages/amd64/index.txt

    Se conectar y descargar en la ubicacin que tenga.

    Nota: si no logra instalar un paquete y se demora mucho y usted corta la instalacin e

    intenta usar otra vez pkg_add y ve un mensaje donde puede darse cuenta que no puede,

    reinicia e intenta usar pkg_add v el paquete y ve algo como diferent checksum para

    algn paquete, realice lo siguiente: descargue el paquete que tiene diferent checksum,

    supongamos links y en una dependencia fallo:

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    11

    #wget ftp://ftp.../elpaquetedependiente.tar.gz, luego

    #pkg_add i elpaquetedependiente.tar.gz, le preguntar si desea arreglar, diga que s y se

    conectar nuevamente y terminar la instalacin y luego

    #pkg_add v links (el que quera instalar), es mtodo que me ha funcionado.

    Recuerde estar conectado a internet para instalar paquetes, usted est intentando

    conectarse a un ftp, pkg_add resolver las dependencias.

    SERVIDOR DHCP

    Comenzaremos con el servicio DHCP, OpenBSD ya trae algunos servicios por defecto

    (httpd bajo charrot, DNS, SSH) y uno de ellos es DHCP, para ubicar el archivo usamos:

    #find / -iname dhcpd.conf

    Configuramos lo necesario, luego agregamos una lnea a /etc/rc.conf.local, ESTE

    ARCHIVO NO EXISTE, lo debe crear usted, y por qu? Lea man rc.conf y encontrar la

    respuesta, tambin en dicho archivo se aaden lneas para que otros servicios inicien en

    tiempo de arranque.

    Se puede escribir usando vi /etc/rc.conf.local o mejor con echo:

    #echo dhcpd_flags=em1 >> /etc/rc.conf.local

    Y por qu dhcpd_flags? Por qu no dhcp=YES? Por qu no estamos en otro BSD lea:

    #less /etc/rc.conf

    Y mire que servicios ya tiene en /etc/rc.d, por ah debe estar el script dhcpd y otros como

    httpd, named, etc.

    Se ha puesto em1 porque queiro que a esa interfaz dhpcd me asigne ips no a otras

    inetrfaces.

    Cmo debera quedar para que funcione en forma bsica?

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    12

    Si quiere hacer algo ms interesante y ms complejo lea man dhcpd.conf o vaya a la

    pgina de isc.org

    Arriba en la ltima imagen nos dice que se da ip a un segmento de red (nuestra Lan) y se

    asigna a un anfitrin (host) una ip que solo usar dicho host, fcil de entender.

    Por ahora tambin vemos que mi propio equipo resuelve nombres a ips, siga leyendo que

    ms abajo se hace un servidor DNS, tambin vemos que nuestro equipo es Gateway.

    Si no desea hacer DNS use otro como las ips pblicas de google: 8.8.8.8, 8.8.4.4 o las de

    opendns:

    domain-name-servers 8.8.8.8, 8.8.4.4;

    Nota: mi dominio openbsd51.edu es local, solo funciona en mi red lan, no en internet, la

    caracterstica que he deseado aprovechar es que me resuelva nombres a ips de cualquier

    sitio en internet y tambin me sirve para localizar ips en la red lan, ejemplo desde una pc

    de la red lan se hace una peticin al servicio web que est en OpenBSD y mi DNS

    resolver, que si pongo www.openbsd51.edu en la barra de direcciones de la pc de la lan

    apuntar a la ip del servidor (10.0.0.13) que est configurada en una interfaz de la

    mquina OpenBSD de igual manera si desde la otra interfaz se pregunta.

    SERVIDOR DNS

    Se configura DNS de forma bsica, el objetivo es resolver nombres por ips y a la inversa,

    es autoritativo, bsico, como siempre si desea ms, lea man named.conf o ir a la pgina

    de ISC.

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    13

    #cd /var/named/

    Ah estn los archivos y directorios, bind ya viene en OpenBSD y no se necesita instalar.

    Listemos todos los necesarios y sus permisos (por cierto solo a rndc.key se cambi)

    Miremos a archivo principal /var/named/etc/named.conf

    He comentado acl clients (por comodidad) he agregado allow-query (para que puedan

    consultar) y como ven estn los forwarders.

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    14

    Se ha creado una zona primaria e inversa (db.openbsd51.edu y rev.openbsd51.edu) y

    estn en master, no hay slave, por eso en /etc/resolv.conf solo se escribe nameserver

    10.0.0.13

    Visualizamos los archivos de db.openbsd51.edu:

    Rev.openbsd51.edu:

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    15

    Para saber que significa cada lnea recomiendo leer man named.conf, yo me he basado

    en la documentacin de FreeBSD del handbook:

    (http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-dns.html) en la

    parte DNS.

    Se ha creado rndc.key, leer man rndc con:

    #rndc-confgen a

    Ello escribe en /etc un archivo rndc.key el cual he copiado a la ubicacin correspondiente

    /var/named/etc y he cambiado los permisos:

    #chown named:named rndc.key

    #cat rndc.key >> /var/named/etc/named.conf

    #echo named_flags= >> /etc/rc.conf.local

    #/etc/rc.d/named start

    #tail f /var/log/messages

    Resolver muchas dudas y dnde hace falta hacer cambios.

    Deber resolver:

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    16

    Esta misma mquina tambin da servicio de correo, se usa virtualhost para aprovechar

    una ip y usar varios nombres:

    mail.openbsd51.edu, mail2.openbs51.edu, db.openbsd51.edu, info.openbsd51.edu

    SERVIDOR WEB

    Apache ya est instalado, entonces a configurarlo:

    Est bajo chroot habr que tener mucho cuidado en algunos aspecto, la configuracin

    est en /var/www/conf/httpd.conf, la configuracin por defecto nos va a servir para nuestro

    caso, se modifica algunas lneas y lo principal es habilitar virtualhost, cabe mencionar que

    no se cambia el lugar por defecto para el contenido web:

    Si se desea cambiar la ruta del contenido entonces se tiene que cambiar en httpd.conf

    algunas lneas como document root y otras relacionadas.

    La configuracin bsica hecha:

    #vi /var/www/conf/httpd.conf

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    17

    Listen 80, ser servidor web y se quiere acceso desde las dos interfaces, interna y

    externa.

    Por ah muestra include /var/www/conf/modules/*conf, ah est la configuracin para dar

    soporte a php (luego aadiremos) no ser necesario escribir en httpd.conf el mdulo y

    AddType.

    ServerName www.openbsd51.edu, se escribe

    Lo dems se ha dejado por defecto, ya est escrito como DocumentRoot, etc.

    VirtualHost

    Para iniciar el servicio se escribe:

    #/etc/rc.d/httpd start

    Para iniciar en tiempo de arranque del sistema:

    #echo httpd_flags= >> /etc/rc.conf.local

    PHP 5.3 en OpenBSD

    Aadiremos el lenguaje del lado servidor php para pginas dinmicas y as poder

    consultar a la base de datos mysql, interactuar con base de datos.

    #grep i php index.txt | less

    #pkg_add v php-5.3.10

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    18

    Nos fijamos que dentro de modules existe el modulo para php

    Que recuerde realizando el procedimiento anterior ya se agrega el soporte a php.

    Aadiendo extensiones para php, por ejemplo php-mysql-5.3.10

    #grep i php index | less, con eso se lista todas las extensiones posible para instalar,

    escoja la que desee.

    Nota importante:

    Lea cuidadosamente cada mensaje al concluir la instalacin de algn paquete, como las

    extensiones php, nos indica que hacer.

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    19

    Ya no es necesario escribir en php-5.3.ini las extensiones php, OpenBSD ya lo escribe

    con los enlaces que usted debe realizar con ln fs

    Modificar date.timezone en php-5.3 en /etc/php-5.3.ini

    Escriba su timezone en mi caso puse:

    date.timezone= America/Lima

    #/etc/rc.d/httpd restart

    SERVIDOR DE CORREO

    Usaremos como MTA a postfix y dovecot para imap y pop3

    Aqu si aadiremos usando pkg_add:

    Instale postfix-2.8.8 o postfix-2.9, usando pkg_add -v

    Lea los mensajes, hay que habilitar a postfix y deshabilitar a sendmail

    Luego de leer los mensajes proceda a lo que le indica:

    #/us/local/sbin/postfix-enable

    Y lea los 4 mensajes y proceda como le dice:

    Le dice que escriba en rc.conf.local sendmail_flags=NO, agregue en el mismo archivo

    pkg_scripts=postfix, comente alguna lnea relacionada a sendmail con crontab e

    (#crontab e) alguna lnea y agregue a rc.conf.local syslogd lo que le indica.

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    20

    #crontab e

    Luego en el prximo reboot mire en la lnea network daemons no debera aparecer

    sendmail.

    Para salir de crontab e salga de la misma forma que hace cuando sale de vi (editor de

    texto por defecto) presione :q!

    Configurar postfix de foma bsica

    La configuracin de postfix est en el archivo /etc/postfix/main.cf

    La configuracin por defecto funciona, slo hay que agregar algunas lneas, como

    siempre si usted desea algo ms complejo lea la documentacin de postfix en su web

    principal (postfix.org)

    myhostname = ns01.openbsd51.edu

    mydomain = openbsd51.edu

    myorigin = $mydomain

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    21

    inet_interfaces = all

    mydestination, copie una lnea donde incluya a $mydomain

    mynetwork = 10.0.0.0/8, 127.0.0.0/8, u otro segmento de red.

    home_mailbox = Maildir/

    smtpd_tls_cert_file = /etc/ssl/postfix.pem

    smtpd_tls_key_file = /etc/ssl/private/postfix.pem

    smtpd_use_tls = yes

    Ser suficiente para el objetivo en nuestra red LAN.

    Generando certificados ssl

    #openssl req new -x509 days 3650 nodes out /etc/ssl/postfix.pem keyout

    /etc/ssl/private/postfix.pem

    #chmod 0755 /etc/ssl/postfix.pem

    #chmod 0755 /etc/ssl/private/postfix.pem

    El mismo procedimiento se realiza para dovecot (se cambia postfix por dovecot), se

    ingresa la informacin necesaria.

    Iniciamos postfix:

    #/etc/rc.d/postfix start

    Para iniciar en tiempo de arranque del sistema:

    vi /etc/rc.conf.local

    Buscamos la lnea relacionada a pkg_scripts y aadimos postfix (pkg_scripts = postfix),

    LOS PAQUETES AADIDOS USANDO pkg_add y que sean servicios desde OpenBSD

    4.9 se inician de esa forma, existe otra, pero esta es la que usaremos, recordar leer

    siempre cuando termina de aadir software.

    Veamos en accin a postfix:

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    22

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    23

    Arriba revisamos correo con pop3:

    Instalar y configurar dovecot

    Instalamos dovecot:

    #grep i dovecot index.txt

    #pkg_add v dovecot-2.0.17p1

    La configuracin est en /etc/dovecot/

    Para nuestro propsito slo es necesario unas pocas lneas, reitero si desea hacer algo

    ms completo lea la documentacin de dovecot.

    #vi /etc/dovecot/dovecot.conf

    Copiamos la lnea protocols y la descomentamos:

    Protocols = imap pop3 lmtp

    #vi /etc/dovecot/conf.d/10-ssl.conf

    Copiamos y descomentamos la lnea ssl

    ssl = yes

    ssl_cert =

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    24

    #vi /etc/dovecot/conf.d/10-mail.conf

    Copiamos la lnea y descomentamos

    mail_location = maildir: /Maildir

    Solo por ahora eso es necesario para nuestro propsito.

    Nosotros usaremos un navegador web para enviar y recibir correo, usaremos el protocolo

    http.

    Notas extras: muchos sitios para correo usan https, en ste caso no se usa https,

    tenemos virtualhost , una sola ip para varios nombres, si desea usar https tiene que hacer

    algunas cosas que estn fuera del alcance de ste documento.

    Instalar squirrelmail y roundcubemail para gestionar correo

    Squirrelmail es un software que nos ayuda a enviar y recibir correo va web, lo mismo

    hace roundcubemail.

    Squirrelmail no est en paquetes binarios precompilados, descargaremos el .tar.gz y

    haremos funcionar bajo chroot en apache.

    Descargamos el software desde la web roundcubemail:

    $links www.google.com.pe

    Buscamos y descargamos:

    Nos ubicamos en /var/www/htdocs y procedemos

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    25

    #tar zxvf /home/edgar/squirrelmail-webmail-1.4.22.tar.gz

    #mv squirrelmail-webmail-1.4.22 squirrelmail

    Ya est todo para configurarlo, tenemos apache con virtualhost, un subdominio que se

    llama mail2.openbsd51.edu, ah estar squirrelmail, en un virtualhost est toda la

    informacin y la ruta.

    Arriba escriba d

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    26

    Ingrese arriba dovecot y presione enter

    Siga el asistente las pantallas le guiarn, lea con cuidado, es simple.

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    27

    Cuando ya termine de agregar lo que usted necesita escriba s y salga del asistente.

    Asi como est no lograr ingresar, apache est bajo chroot, todos los archivos necesarios

    deben estar en /var/www, entonces creamos y damos algunos permisos:

    #mkdir -p /var/www/var/local/squirrelmail/data

    #mkdir /var/www/var/local/squirrelmail/attach

    #chown -R www:www /var/www/var/local/squirrelmail

    #/var/www/htdocs/squirrelmail/config/conf.pl

    Eso fu todo, ahora a enviar y recibir correo.

    Es importante crear data y attach.

    Veamos en accin a squirrelmail:

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    28

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    29

    Roundcubemail si est en paquetes precompilados, nosotros aqu lo usaremos de la

    misma forma como se hizo con squirrelmail.

    Descargamos el roundcubemail-0.8.1

    Copiamos y desempaquetamos dicho tar.gz y via navegador web lo llamamos:

    http://mail.openbsd51.edu/installer, se sigue todo el asistente, ya lo hice antes, no tengo

    capturas de pantalla, pero cabe mencionar que luego de indicar la informacin necesaria

    el asistente no dice que copiemos algn script, lo podemos hacer con los ejemplos dentro

    de /var/www/htdocs/roundcubemail/config/main.inc.php.dist y el db, los copiamos y

    quitamos .dist.

    Ubicamos en main.inc.php la lnea Imap default_host y dentro de las comillas simples

    escribimos openbsd51.edu.

    Ubicamos la lnea smtp, por ah dice smtp_server y entre las comillas simples escribimos

    el nombre ns01.openbsd51.edu, podra modificarse muchas cosas, pero con esto es

    suficiente.

    Ojo las lneas que contienen a default_host y smtp_server estn contenidas dentro de una

    lnea, es muy intuitivo.

    Ubicamos en db.inc.php la lnea relacionada a la base de datos:

    Se ha creado la base de datos roundcubemail el usuario roundcube y la contrasea es

    roundcube, abajo se muestra los comandos.

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    30

    Luego de terminar lo arriba mencionado volver al asistente via web, y presionar contine,

    debe pasar a otra interfaz donde le indica algo final.

    Estando en el directorio roundcubemail:

    #mv installer installer.old

    O borre el directorio installer, tambin roundcubemail le dice que cambie permisos a los

    directorios temp y logs

    #chmod R 777 temp

    #chmod R 777 logs

    NOTA IMPORTANTE:

    #ln /var/run/mysql/mysql.sock /var/run/mysql/mysql.sock

    Es necesario, apache est en chroot, en la seccin mysql server se dar ms detalles.

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    31

    Arriba en /etc/php-5.3.ini, necesario escribir suhosin.session.encrypt.

    Veamos en accin a roundcubemail:

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    32

    SERVIDOR FTP

    Necesitamos ftp para transferir archivos en la red lan, pure-ftpd es el que usaremos, no

    hay archivo de configuracin, instalamos y la configuracin por defecto es suficiente para

    nuestro propsito, reitero si desea algo ms avanzado encryptando el trfico etc., etc., lea

    la documentacin del software.

    #grep i pure-ftpd index.txt

    #pkg_add v pure-ftpd-1.0.35

    Aadimos en rc.conf.local a pure_ftpd

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    33

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    34

    Esta enjaulado algn usuario, no puede subir ms arriba de su directorio (abajo):

    SERVICIO DE BASE DE DATOS CON MYSQL

    Mysql es un gestor de base de datos, es libre hasta ahora, lo necesitamos para almacenar

    datos y organizarlos, OpenBSD tiene en paquetes binarios precompilados a mysql-server-

    5.1.60, lo administraremos va web y por comandos, para lograr administrarlo va web

    usaremos un software llamado phpmyadmin.

    #pkg_add v mysql-server-5.1.60

    Al terminar la instalacin nos indica que existe un archivo donde hay informacin acerca

    de mysql, como iniciarlo y otras cosas ms.

    El archivo es:

    #less /usr/local/share/doc/pkg-redame/mysql-server-5.1.60

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    35

    Lea los mensajes y haga lo que le indica luego de correr el comando en la flecha de

    arriba.

    Ahora agrega a mysqld a rc.conf.local en pkg_scripts, es para que inicie en tiempo de

    arranque, pero antes puedes iniciarlo sin problemas.

    #/etc/rc.d/mysqld start

    Funciona, pero desde navegador web no podemos acceder a mysql, es porque apache

    nuestro servidor web est en chroot, entonces crearemos unos directorios y haremos un

    enlace con ln y por ltimo pondremos algunas lneas en /etc/rc.local

    #mkdir p /var/www/var/run/mysql

    #ln /var/run/mysql/mysql.sock /var/run/mysql/mysql.sock

    Con la lnea de arriba ya se puede acceder desde phpmyadmin, para que haga ello cada

    vez en tiempo de inicio hacemos en /etc/rc.local

    Ahora a crear bases de datos y administrarla.

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    36

    Para phpmyadmin se procede el mismo modo que squirremail, se descarga el .tar.gz, se

    desempaqueta en /var/www/htdocs, se ingresa al directorio y se copia el archivo

    config.sample.inc.php a config.inc.php.

    SERVIDOR PROXY CON SQUID

    Para hacer un servidor proxy transparente necesitaremos un firewall, en ste caso

    usaremos el que viene en OpenBSD, PF, y para qu? Para hacer redireccionar al puerto

    3128 todas las peticiones al puerto 80.

    #grep i squid index.txt

    #pkg_add v squid-2.7.STABLE.9p15

    Aqu haremos la configuracin bsica para filtrar algunas pginas como pornografa y

    otros sitios prohibido, tambin restringimos videos en formato flv como youtube y muchos

    otros, se bloquea animacin flash, y se permite saltar a las reglas a determinada ip, como

    sabrn el archivo es amplio, aqu solo modificamos algunas lneas.

    #vi /etc/squid/squid.conf

    http_port 3128 transparent

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    37

    La versin de squid en OpenBSD es la 2.7, en la versin 3.1 se se usa intercept.

    cache_mem 32 MB

    Arriba por defecto es 8 MB ponga la que mejor se adapte a sus requerimientos

    dependiendo de algunos factores, lea la documentacin de squid.

    cache_dir ufs /var/squid/cache 100 16 256

    Arriba tal cual est por defecto, usted ponga segn sus requerimientos, reitero lea la

    documentacin de squid.

    cache_mgr [email protected]

    Arriba si subrayar.

    visible_hostname OpenBSD

    Ahora con vi ubicamos la lnea de las acls

    #vi /etc/squid/squid.conf

    Escriba /acl CONNECT y le llevar a dicha lnea, justo abajo cree sus acls:

    Justo debajo de INSERT escriba

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    38

    La ip permitida que no ser filtrada es 10.0.0.200

    Se puede hacer muchas ms cosas, hasta incluso limitar ancho de banda, otra

    herramienta que puede ayudar junto a squid es PF (bloquear puertos, https, etc) lo

    anterior escapa el alcance de la gua bsica.

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    39

    #squid z

    #/etc/rc.d/squid start

    Veamos en accin a squid

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    40

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    41

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    42

    Arriba la mquina 10.0.0.200 salta el proxy porque est en las Ips permitidas, abajo tiene

    una ip distinta a los permitidos y se bloquea:

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    43

    Un proxy transparente se puede saltar con tunnel, con https, pero con lo expuesto arriba

    se hace un poco difcil y no tan simple de saltar el proxy.

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    44

    En el siguiente punto se explica las reglas que hace que el proxy sea transparente.

    CORTAFUEGOS CON PF

    Las imgines muestran lo que contiene Pf (/etc/pf.conf)

    No olvide que si la mquina es Gateway active el forwarding, LO DICE

    EXPLICITAMENTE EN el archivo pf.conf al inicio, entonces copiamos y descomentamos

    en /etc/sysctl.conf

    Nuestro archivo pf.conf contiene:

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    45

  • Servicios en OpenBSD 5.1 Edgar Rodolfo

    46

    CONCLUSIONES

    Se concluye que OpenBSD es un sistema operativo ideal para servicios en red.

    Haciendo uso del software libre podemos lograr realizar tareas similares a las que realiza

    algn software propietario.

    REFERENCIAS

    Oficial:

    http://www.openbsd.org/faq/index.html

    Otros:

    http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-dns.html

    http://openbsdcolombia.org/documentos/

    http://workaround.org/comment/2509

    http://bitsenlared.wordpress.com/2012/08/22/squirrlmail-en-openbsd-5-1/

    http://wiki.squid-cache.org/ConfigExamples/Streams/Other

    http://www.alcancelibre.org/staticpages/index.php/19-0-como-squid-general

    Pginas man (incluidas en el sistema operativo)