Instalación de Servicios Básicos en OpenBSD 5

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 46

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

INSTALACIN Y CONFIGURACIN DE SERVICIOS BSICOS EN OPENBSD 5.1


Autor

Edgar Rodolfo Vargas Alata

rodolfobsd@gmail.com

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

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

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

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

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
6

Servicios en OpenBSD 5.1

Edgar Rodolfo

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
7

Servicios en OpenBSD 5.1

Edgar Rodolfo

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

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
9

Servicios en OpenBSD 5.1

Edgar Rodolfo

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:
10

Servicios en OpenBSD 5.1

Edgar Rodolfo

#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?

11

Servicios en OpenBSD 5.1

Edgar Rodolfo

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.

12

Servicios en OpenBSD 5.1

Edgar Rodolfo

#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.
13

Servicios en OpenBSD 5.1

Edgar Rodolfo

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:

14

Servicios en OpenBSD 5.1

Edgar Rodolfo

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:

15

Servicios en OpenBSD 5.1

Edgar Rodolfo

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

16

Servicios en OpenBSD 5.1

Edgar Rodolfo

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
17

Servicios en OpenBSD 5.1

Edgar Rodolfo

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.

18

Servicios en OpenBSD 5.1

Edgar Rodolfo

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.

19

Servicios en OpenBSD 5.1

Edgar Rodolfo

#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
20

Servicios en OpenBSD 5.1

Edgar Rodolfo

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:

21

Servicios en OpenBSD 5.1

Edgar Rodolfo

22

Servicios en OpenBSD 5.1

Edgar Rodolfo

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 = </etc/ssl/postfix.pem
ssl_key = </etc/ssl/private/postfix.pem

23

Servicios en OpenBSD 5.1

Edgar Rodolfo

#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

24

Servicios en OpenBSD 5.1

Edgar Rodolfo

#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

25

Servicios en OpenBSD 5.1

Edgar Rodolfo

Ingrese arriba dovecot y presione enter

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

26

Servicios en OpenBSD 5.1

Edgar Rodolfo

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:

27

Servicios en OpenBSD 5.1

Edgar Rodolfo

28

Servicios en OpenBSD 5.1

Edgar Rodolfo

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.

29

Servicios en OpenBSD 5.1

Edgar Rodolfo

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.

30

Servicios en OpenBSD 5.1

Edgar Rodolfo

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


Veamos en accin a roundcubemail:

31

Servicios en OpenBSD 5.1

Edgar Rodolfo

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

32

Servicios en OpenBSD 5.1

Edgar Rodolfo

33

Servicios en OpenBSD 5.1

Edgar Rodolfo

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-server5.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

34

Servicios en OpenBSD 5.1

Edgar Rodolfo

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.

35

Servicios en OpenBSD 5.1

Edgar Rodolfo

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
36

Servicios en OpenBSD 5.1

Edgar Rodolfo

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 edgar@openbsd51.edu
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

37

Servicios en OpenBSD 5.1

Edgar Rodolfo

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.

38

Servicios en OpenBSD 5.1

Edgar Rodolfo

#squid z
#/etc/rc.d/squid start
Veamos en accin a squid

39

Servicios en OpenBSD 5.1

Edgar Rodolfo

40

Servicios en OpenBSD 5.1

Edgar Rodolfo

41

Servicios en OpenBSD 5.1

Edgar Rodolfo

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:

42

Servicios en OpenBSD 5.1

Edgar Rodolfo

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.

43

Servicios en OpenBSD 5.1

Edgar Rodolfo

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:

44

Servicios en OpenBSD 5.1

Edgar Rodolfo

45

Servicios en OpenBSD 5.1

Edgar Rodolfo

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)

46

You might also like