Guia2 Servicio Linux y Windows

103
INFORME DE LABORATORIO INTEGRANTES: Ferney Andrey Vásquez Fonegra Jhovan Alexander Acevedo Alzate Alexander García Mazo INSTRUCTOR: Enevis Rafael Reyes Moreno Centro de Tecnología de la Manufactura Avanzada(CTMA) MEDELLIN 2012

Transcript of Guia2 Servicio Linux y Windows

Page 1: Guia2 Servicio Linux y Windows

INFORME DE LABORATORIO

INTEGRANTES:

Ferney Andrey Vásquez Fonegra

Jhovan Alexander Acevedo Alzate

Alexander García Mazo

INSTRUCTOR:

Enevis Rafael Reyes Moreno

Centro de Tecnología de la Manufactura Avanzada(CTMA)

MEDELLIN

2012

Page 2: Guia2 Servicio Linux y Windows

Introducción

Con el desarrollo de esta guía se mejorara y complementara, el conocimiento de La instalación y configuración de servicios en Ubuntu, se harán prácticas de:

DNS, ACTIVE DIRECTORY, CORREO, STREAMING, VPN, IMPRESIÓN, TERMINALSERVER.

Objetivos

- Complementar el conocimiento en instalación y configuración de servicios.- Conocer el alcance y beneficio que puede tener la instalación de un servicio.- Identificar los posibles problemas o dificultades.- Documentar de la mejor manera el desarrollo de la guía.

Servicios Linux

Page 3: Guia2 Servicio Linux y Windows

A continuación mostraremos los servicios bajo el sistema operativo ubuntu Linux como el dns, directorio activo, correo, streaming, vpn, impresión y terminal server.

SERVIDOR DE SISTEMA DE NOMBRES DE DOMINIOS O DNS

Introducción

DNS

El sistema de nombre de dominio (en inglés Domain Name System, DNS) es un sistema de nomenclatura jerárquica para computadoras, servicios o cualquier recurso conectado al internet o a una red privada. Este sistema asocia información variada con nombres de dominios asignado a cada uno de los participantes. Su función más importante, es traducir (resolver) nombres inteligibles para los humanos en identificadores binarios asociados con los equipos conectados a la red, esto con el propósito de poder localizar y direccionar estos equipos mundialmente.

BIND

Son las siglas de Berkeley Internet Name Domain, anteriormente : Berkeley Internet Name Daemon. Bind es el servidor de DNS más comúnmente usado en Internet, especialmente en sistemas Unix, en los cuales es un Estándar de facto. Es patrocinado por la Internet Systems Consortium. BIND fue creado originalmente por cuatro estudiantes de grado en la University of California, Berkeley y liberado por primera vez en el 4.3BSD. Paul Vixie comenzó a mantenerlo en 1988 mientras trabajaba para la DEC.

Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes anteriormente para auditar el código en las primeras versiones de BIND, y también para incorporar DNSSEC (DNS Security Extensions). BIND 9 incluye entre otras características importantes: TSIG, notificación DNS, nsupdate, IPv6, rndc flush, vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad. Es comúnmente usado en sistemas GNU/Linux.

Uno de los repositorios más usados a la hora de instalar y configurar un servidor dns en Linux hasido el bind9, ya que puedeser configurado tanto por principiantes en el tema como por los expertos en administrar servidores. Por eso este repositorio se ha convertido en uno de los más importantes en sistema operativo Linux

Mostraremos como instalar y configurar BIND9 en Ubuntu

Los valores que debemos tener claros antes de comenzar son los siguientes:

Dirección IP del servidor: 192.168.2.1 Nombre del servidor: servidor Dominio que vamos a crear: sliceoflinux.lan

Estos valores deberemos sustituirlos por los que necesitemos en cada caso.

Los pasos para instalar y configurar Bind en Ubuntu Server son los siguientes:

Page 4: Guia2 Servicio Linux y Windows

1. Actualizamos la información de los repositorios con el siguiente comando:

sudo aptitude update

2. Instalamos el servidor DNS Bind9:

sudo aptitude install bind9

3. Hacemos una copia de seguridad del archivo que vamos a modificar:

sudo cp /etc/bind/named.conf.local{,.original}

Este comando nos puede ahorrar mucho tiempo y está descrito en el artículo “hacer copias de seguridad de archivos rápidamente“.

4. Editamos el archivo /etc/bind/named.conf.local con el siguiente comando:

sudo nano /etc/bind/named.conf.local

y añadimos el siguiente contenido:

zone "sliceoflinux.lan" {type master;file "db.sliceoflinux.lan";};

zone "2.168.192.in-addr.arpa" {type master;file "db.192.168.2";

};

Esto se puede ver en la siguiente captura de pantalla:

 Editamos el archivo /etc/bind/named.conf.local

Para guardar el archivo debemos pulsar la combinación de teclasControl+O y para salir Control+X.

5. Para comprobar la sintaxis de los archivos de configuración ejecutamos el siguiente comando:

named-checkconf

Page 5: Guia2 Servicio Linux y Windows

Si no aparece nada, la sintaxis de los archivos de configuración es correcta. ¡Ojo! Eso no significa que no haya ningún error, sólo que no hay errores de sintaxis.

 Ejecución de named-checkconf sin errores

Si hubiésemos cometido un error de sintaxis, nos aparecería indicado junto a la línea en la que ocurre. En el siguiente ejemplo puede verse que en el archivo /etc/bind/named.conf.local en la línea 15 hay un error:

 Ejecución de named-checkconf con un error

6. Creamos el archivo /var/cache/bind/db.sliceoflinux.lan:

sudo nano /var/cache/bind/db.sliceoflinux.lan

e incluimos el siguiente contenido:

$ORIGIN sliceoflinux.lan.$TTL 86400 ; 1 dia@ IN SOA servidor postmaster (1 ; serie 6H ; refresco (6 horas) 1H ; reintentos (1 hora) 2W ; expira (2 semanas) 3H ; mínimo (3 horas)) NS servidor

servidor A 192.168.2.1

El contenido del archivo es bastante especial y no lo vamos a comentar pero para más información se puede leer el RFC 1912 y el RFC 2308 . Aquí deberíamos añadir todos los equipos de nuestra red que quisiéramos mantener identificados pero como es más fácil hacerlo conDDNS (Dynamic DNS) ya lo veremos en otra ocasión.

7. Comprobamos la zona que acabamos de crear (sliceoflinux.lan):

named-checkzone sliceoflinux.lan /var/cache/bind/db.sliceoflinux.lan

En esta ocasión siempre nos aparecerá una salida, ya sea para indicarnos que todo está bien (OK) o algún error.

 Ejecución de named-checkzone sin errores

8. A continuación creamos el archivo /var/cache/bind/db.192.168.2 para la zona inversa:

sudo nano /var/cache/bind/db.192.168.2

Page 6: Guia2 Servicio Linux y Windows

e incluimos el siguiente contenido:

$ORIGIN 2.168.192.in-addr.arpa.$TTL 86400 ; 1 dia@ IN SOA servidor postmaster ( 1 ; serie 6H ; refresco (6 horas) 1H ; reintentos (1 hora) 2W ; expire (2 semanas) 3H ; mínimo (3 horas)) NS servidor.sliceoflinux.lan.

1 PTR servidor.sliceoflinux.lan.

El número 1 se corresponde con el último dígito de la dirección IP del servidor (192.168.2.1).9. Comprobamos la zona inversa recién creada:

named-checkzone 2.168.192.in-addr.arpa /var/cache/bind/db.192.168.2

Al igual que antes obtendremos un mensaje para indicarnos tanto si la zona es correcta como si no lo es.

 Ejecución de named-checkzone sin errores

10. Reiniciamos el servicio:

sudo service bind9 restart

Si todo va bien, veremos que está OK.

 Reiniciamos el servicio

11. Revisamos el log para comprobar que todo ha ido bien. Aunque se puede hacer con el comando tail, yo prefiero less porque me permite ver todo el contenido del mismo:

less /var/log/syslog

El resultado se puede ver en la siguiente captura:

Page 7: Guia2 Servicio Linux y Windows

 Comprobamos que no hay errores en syslog

Para salir deberemos pulsar la tecla q.12. Editamos el archivo /etc/resolv.conf para que nuestro servidor resuelva las peticiones DNS:

sudo nano /etc/resolv.conf

Cambiando el primero de los servidores DNS por la IP del nuestro:

nameserver 192.168.2.1

nameserver 8.8.8.8

13. Probamos nuestro servidor de nombres:

dig sliceoflinux.lan

La respuesta será muy parecida a la siguiente:

 Ejecución de dig sliceoflinux.lan

14. Probamos la resolución inversa:

dig -x 192.168.2.1

Esta sería la salida esperada del comando anterior:

Page 8: Guia2 Servicio Linux y Windows

 Ejecución de dig -x 192.168.2.1

SERVICIO DE DIRECTORIO ACTIVO

Introducción

LDAP (Lightweight Directory Access Protocol, Protocolo Ligero de Acceso a Directorios) es un protocolo a nivel de aplicación que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red. LDAP también es considerado una base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas.

Para el caso de Ubuntu Linux instalaremos un LDAP llamado OpenLDAP

OpenLDAP

Es una implementación libre y de código abierto del protocolo Lightweight Directory Access Protocol (LDAP) desarrollada por el proyecto OpenLDAP. Está liberada bajo su propia licencia OpenLDAP Public License . LDAP es un protocolo de comunicación independiente de la plataforma. Muchas distribuciones GNU/Linux incluyen el software OpenLDAP para el soporte LDAP. Este software también corre en plataformas BSD, AIX, HP-UX, Mac OS X, Solaris, Microsoft Windows (NT y derivados, incluyendo 2000, XP, Vista), y z/OS.

A continuación se instalara y configurara OPENLDAP

Instalar OpenLDAP

Abrir un terminal y ejecutar el siguiente comando:

$ sudo apt-get install slapd ldap-utils

Ponemos una clave de administración al LDAP, en este ejemplo “Admin123”

Configurar el servidor LDAP

Page 9: Guia2 Servicio Linux y Windows

Ejecutar el siguiente comando:

$ sudo dpkg-reconfigure slapd

Este comando ejecutara un wizard para la configuración del servidor LDAP.

Configure las opciones según la siguiente lista:

Desea omitir la configuración del servidor OpenLDAP? NO DNS Domain Name: dominio.com Organization Name: dominio.com Database: BDB Desea que se borre la base de datos cuando se purgue el paquete slapd?: NO Desea mover la base de datos antigua? SI Contraseña del administrador: Admin123 Verificar la contraseña: Admin123 Allow LDAPv2 protocol?: NO

Terminado este wizard, tenemos entonces la cuenta por defecto “admin” con la contraseña “Admin123” para el dominio “dominio.com”

Agregar objetos al LDAP

Algunos de los objetos más comunes que se administran en un servidor LDAP son grupos y personas. En estos ejemplos veremos cómo crear un par de unidades organizacionales (OU) y agregar un usuario a una OU:

Unidad organizacional

1. Haga un archivo de texto llamado OUs.ldif con la siguiente información:

dn: ou=users,dc=dominio,dc=com

objectClass: top

objectClass: organizationalUnit

ou: users

description: Usuarios

dn: ou=groups,dc=dominio,dc=com

objectClass: top

objectClass: organizationalUnit

ou: groups

description: Grupos

2. Luego es necesario detener el servidor LDAP con este comando:$ sudo /etc/init.d/slapd stop

3. Ahora agregamos la OU ejecutando el siguiente comando:$ sudo slapadd -v -l OUs.ldif

Page 10: Guia2 Servicio Linux y Windows

4. El servidor debe responder:added: "ou=users,dc=dominio,dc=com"

added: "ou=groups,dc=dominio,dc=com"

5. Iniciamos el servidor mediante el siguiente comando:$ sudo /etc/init.d/slapd start

Persona

1. Haga un archivo de texto llamado User.ldif con la siguiente información:dn: cn=test,ou=users,dc=dominio,dc=com

objectclass: top

objectclass: person

objectclass: organizationalPerson

sn: apellido

cn: test

2. Luego es necesario detener el servidor LDAP con este comando:$ sudo /etc/init.d/slapd stop

3. Ahora agregamos la persona ejecutando el siguiente comando:$ sudo slapadd -v -l User.ldif

4. El servidor debe responder:added: "cn=test,ou=users,dc=dominio,dc=com"

5. Iniciamos el servidor mediante el siguiente comando:$ sudo /etc/init.d/slapd start

Luego de ejecutar estos comandos tendremos 2 unidades organizacionales (users, groups) y un usuario (test) que pertenecea la unidad organizacional users en el servidor LDAP.

Herramientas gráficas

PHP LDAP Admin

Instalación:$ sudo apt-get install phpldapadmin

Ejecución: http://localhost/phpldapadmin/

LAM

Instalación:$ sudo apt-get install ldap-account-mannager

Sino bajar paquete .deb de http://www.ldap-account-manager.org/lamcms/releases Ejecución:

http://localhost/lam/ Configuración:Ir a “LAM configuration“->”Edit server profiles“, la clave es “lam“, configurar los nombre según corresponda.

Page 11: Guia2 Servicio Linux y Windows

JXplorer

Instalación: Instalar JRE primero Bajar el comprimido de: Source Forge Extraer el contenido

Ejecución:$ sudo sh ./jxplorer.sh

Posibles problemas con las herramientas gráficas

Tanto LAM como PHP LDAP Admin ocupan más memoria en PHP, para agregar más memoria hacer lo siguiente:$ sudo gedit /etc/php5/apache2/php.ini

Buscar la línea que dice “memory_limit = 16M” y remplazarla por “memory_limit = 64M”Reiniciamos apache con el comando:$ sudo /etc/init.d/apache2 restart

Listo

SERVIDO DE CORREO

Los repositorios que se usaran para el servidor de correo serán el postfix y dovecot

Introducción

Postfix.

Postfix, originalmente conocido por los nombres VMailer e IBM Secure Mailer, es un popular agente de transporte de correo (MTA, o Mail Transport Agent), creado con la principal intención de ser una alternativa más rápida, fácil de administrar, y segura que Sendmail. Fue originalmente escrito por Wietse Venema durante su estancia en el Thomas J. Watson Research Center de IBM.

URL: http://www.postfix.org/ .

Dovecot.

Dovecot es un servidor de POP3 e IMAP de fuente abierta que funciona en Linux, y sistemas basados sobre Unix™, y diseñado con la seguridad como principal objetivo. Dovecot puede utilizar tanto el formato mbox como maildir, y es compatible con las implementaciones de los servidores UW-IMAP, y Courier IMAP.

URL: http://dovecot.procontrol.fi/ .

Acontinuación se mostrara la instalación y configuración de un servidor de correo con POSTFIX y DOVECOT

Page 12: Guia2 Servicio Linux y Windows

INVENTARIOS DE SISTEMAS:Servidor de Correo: asir.ieslasgalletas.org Sistema Operativo: Ubuntu Server 10.04 IP: 192.168.1.159 Usuario: bpmircea Pass: 123456

ESQUEMA DE DIRECCIONAMIENTO:Servidor de Correo:Para establecer la IP estática del servidor, tenemos que editar el archivo “interfaces”, ubicado en /etc/network.La información que tenemos que poner en ese fichero es:auto eth0ifaces eth0 inet staticaddress 192.168.1.159netmask 255.255.255.0gateway 192.168.1.1

Para que la nueva configuración sea efectiva tenemos que ejecutar: sudo /etc/init.d/networking restartNOTA: Para poner el equipo en el dominio, editamos el archivo /etc/hosts.

CONFIGURACIÓN DE SERVICIOS:Instalar paquetes requeridos:

apt-get updateapt-get upgradeapt-get install postfix postfix-mysql postfix-doc mysql-clientmysql-server dovecot-common dovecot-imapd dovecot-pop3d postfixlibsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-binlibpam-mysql openssl telnet mailutils

Configurar MySQL para dominios virtuales y usuarios:

Entramos en la consola de mysql:

mysql -u root –p

Creamos una base de datos llamada “mail” y la ponemos en uso:

CREATE DATABASE mail;USE mail;

Creamos un usuario llamado “mail_admin” con todos los permisos y contraseña identificativa “123456” de la siguiente manera:GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO'mail_admin'@'localhost' IDENTIFIED BY ‘123456’;GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO'mail_admin'@'localhost.localdomain' IDENTIFIED BY ‘123456’;FLUSH PRIVILEGES;

Creamos las siguientes tablas y salimos:CREATE TABLE domains (domain varchar(50) NOT NULL, PRIMARY KEY (domain) );CREATE TABLE forwardings (source varchar(80) NOT NULL, destination TEXT NOT

Page 13: Guia2 Servicio Linux y Windows

NULL, PRIMARY KEY (source) );CREATE TABLE users (email varchar(80) NOT NULL, password varchar(20) NOTNULL, PRIMARY KEY (email) );CREATE TABLE transport ( domain varchar(128) NOT NULL default '', transportvarchar(128) NOT NULL default '', UNIQUE KEY domain (domain) );quit

Comprobamos que MySQL está configurado para unirse al localhost (127.0.0.1),comprobando el archivo /etc/mysql/my.cnf. Debe aparecer la siguiente línea y si no está laañadimos:bind-address = 127.0.0.1

Por último, reiniciamos el MySQL con la siguiente instrucción:service mysql restart

Configurar Postfix para trabajar con MySQL:

Creamos los siguientes ficheros en el directorio:/etc/postfixmysqlvirtual_domains.cf user = mail_adminpassword = 123456dbname = mailquery = SELECT domain AS virtual FROM domains WHERE domain='%s'hosts = 127.0.0.1

mysql-virtual_forwardings.cf

user = mail_adminpassword = 123456dbname = mailquery = SELECT destination FROM forwardings WHERE source='%s'hosts = 127.0.0.1

mysql-virtual_mailboxes.cf

user = mail_adminpassword = 123456dbname = mailquery = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s'hosts = 127.0.0.1

mysql-virtual_email2email.cf

user = mail_adminpassword = 123456dbname = mailquery = SELECT email FROM users WHERE email='%s'hosts = 127.0.0.1

Establecemos los permisos adecuados para los ficheros anteriormente creados: ‘1234

chmod o= /etc/postfix/mysql-virtual_*.cfchgrp postfix /etc/postfix/mysql-virtual_*.cf;

Ahora, creamos un usuario y grupo para la gestión del correo. Todos los buzones virtuales,van a ser almacenados en el directorio personal del usuario:

Page 14: Guia2 Servicio Linux y Windows

groupadd -g 5000 vmailuseradd -g vmail -u 5000 vmail -d /home/vmail –m

A continuación, escribimos los siguientes comandos para completar la configuración delPostfix:

postconf -e 'myhostname = asir.ieslasgalletas.org'postconf -e 'mydestination = asir.ieslasgalletas.org, localhost,localhost.localdomain'postconf -e 'mynetworks = 127.0.0.0/8'postconf -e 'message_size_limit = 30720000'postconf -e 'virtual_alias_domains ='postconf -e 'virtual_alias_maps = proxy:mysql:/etc/postfix/mysqlvirtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf'postconf -e 'virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysqlvirtual_domains.cf'postconf -e 'virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysqlvirtual_mailboxes.cf'postconf -e 'virtual_mailbox_base = /home/vmail'postconf -e 'virtual_uid_maps = static:5000'postconf -e 'virtual_gid_maps = static:5000'postconf -e 'smtpd_sasl_auth_enable = yes'postconf -e 'broken_sasl_auth_clients = yes'postconf -e 'smtpd_sasl_authenticated_header = yes'postconf -e 'smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated, reject_unauth_destination'postconf -e 'smtpd_use_tls = yes'postconf -e 'smtpd_tls_cert_file = /etc/postfix/smtpd.cert'postconf -e 'smtpd_tls_key_file = /etc/postfix/smtpd.key'postconf -e 'virtual_create_maildirsize = yes'postconf -e 'virtual_maildir_extended = yes'postconf -e 'proxy_read_maps = $local_recipient_maps $mydestination$virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps$virtual_mailbox_domains $relay_recipient_maps $relay_domains$canonical_maps $sender_canonical_maps $recipient_canonical_maps$relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps'postconf -e virtual_transport=dovecotpostconf -e dovecot_destination_recipient_limit=1

Crear un certificado SSL para PostfixEjecutamos los siguientes comandos para crear el certificado:

cd /etc/postfixopenssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509

Nos aparecerá un formulario que rellenamos de la siguiente forma:Country Name (2 letter code) [AU]:ESState or Province Name (full name) [Some-State]: Santa Cruz de TenerifeLocality Name (eg, city) []: Las GalletasOrganization Name (eg, company) [Internet Widgits Pty Ltd]: IES Las GalletasOrganizational Unit Name (eg, section) []: Servidor de CorreoCommon Name (eg, YOUR name) []: asir.ieslasgalletas.orgEmail Address []:[email protected]

Establecemos los permisos para el archivo de clave de la siguiente forma:chmod o= /etc/postfix/smtpd.key

Page 15: Guia2 Servicio Linux y Windows

Configurar saslauthd el uso de MySQLCreamos el directorio para saslauthd:mkdir -p /var/spool/postfix/var/run/saslauthd

Creamos una copia de seguridad:cp -a /etc/default/saslauthd /etc/default/saslauthd.bak

Editamos el fichero/etc/default/saslauthd con la siguiente información:START=yesDESC="SASL Authentication Daemon"NAME="saslauthd"MECHANISMS="pam"MECH_OPTIONS=""THREADS=5OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

Creamos los siguientes ficheros con el contenido siguiente:/etc/pam.d/smtpauth required pam_mysql.so user=mail_admin passwd=123465 host=127.0.0.1db=mail table=users usercolumn=email passwdcolumn=password crypt=1account sufficient pam_mysql.so user=mail_admin passwd=123456 host=127.0.0.1db=mail table=users usercolumn=email passwdcolumn=password crypt=1

/etc/postfix/sasl/smtpd.confpwcheck_method: saslauthdmech_list: plain loginallow_plaintext: trueauxprop_plugin: mysqlsql_hostnames: 127.0.0.1sql_user: mail_adminsql_passwd: 123456sql_database: mailsql_select: select password from users where email = '%u'

Establecemos los permisos para los ficheros anteriores:chmod o= /etc/pam.d/smtpchmod o= /etc/postfix/sasl/smtpd.conf

Agregamos el usuario postfix al grupo sasl y reiniciar Postfix y saslauthd de la siguiente manera:adduser postfix saslservice postfix restartservice saslauthd restart

Configurar DovecotEditamos el siguiente fichero /etc/postfix/master.cf y añadimos el serviciodovecot al final del fichero.

dovecot unix - n n - - pipeflags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d${recipient}

Hacemos una copia de seguridad del fichero/etc/dovecot/dovecot.conf:cp -a /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.bak

Remplazamos el contenido ficheroetc/dovecot/dovecot.conf por el siguiente contenido:

protocols = imap imaps pop3 pop3slog_timestamp = "%Y-%m-%d %H:%M:%S "mail_location = maildir:/home/vmail/%d/%n/Maildirssl_cert_file = /etc/ssl/certs/dovecot.pemssl_key_file = /etc/ssl/private/dovecot.pem

Page 16: Guia2 Servicio Linux y Windows

namespace private {separator = .prefix = INBOX.inbox = yes}protocol lda {log_path = /home/vmail/dovecot-deliver.logauth_socket_path = /var/run/dovecot/auth-masterpostmaster_address = [email protected]_plugins = sieveglobal_script_path = /home/vmail/globalsieverc}protocol pop3 {pop3_uidl_format = %08Xu%08Xv}auth default {user = rootpassdb sql {args = /etc/dovecot/dovecot-sql.conf}userdb static {args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes}socket listen {master {path = /var/run/dovecot/auth-mastermode = 0600user = vmail}client {path = /var/spool/postfix/private/authmode = 0660user = postfixgroup = postfix}}}

Tenemos que modificar el fichero/etc/dovecot/dovecot-sql.conf ya que contieneinformación de la contraseña, pero primero debemos hacer una copia de seguridad:cp -a /etc/dovecot/dovecot-sql.conf /etc/dovecot/dovecot-sql.conf.bak

driver = mysqlconnect = host=127.0.0.1 dbname=mail user=mail_admin password=123456default_pass_scheme = CRYPTpassword_query = SELECT email as user, password FROM users WHEREemail='%u';

Reiniciamos el servicio:service dovecot restart

Para saber si ha ido bien comprobamos el log /var/log/mail.log, debe aparecer algocomo lo siguiente:Jan 21 16:19:17 plato dovecot: Dovecot v1.2.9 starting up (core dumpsdisabled)Jan 21 16:19:17 plato dovecot: auth-worker(default): mysql: Connected to127.0.0.1 (mail)

Cambiamos los permisos para permitir al usuario vmail acceder a ellos:chgrp vmail /etc/dovecot/dovecot.confchmod g+r /etc/dovecot/dovecot.conf

Probamos el POP3 haciendo un telnet de la siguiente manera:telnet localhost pop3

Page 17: Guia2 Servicio Linux y Windows

Lo que nos tiene que dar un resultado similar a:Trying 127.0.0.1...Connected to localhost.localdomain.Escape character is '^]'.+OK Dovecot ready.

Utilizamos quit para salir.

Configurar los Alias del Correo:Editamos el fichero/etc/aliases, para asegurarnos que las directivas de “postmaster”y “root” están configuradas adecuadamente:

postmaster: rootroot: [email protected]

Una vez hecho esto, ejecutamos los siguientes comandos para actualizar los alias y reiniciarel Postfix:

newaliasesservice postfix restart

Creación de Usuarios y Dominios:Utilizaremos el Shell de MySQL para añadir soporte para el dominio “ieslasgalletas.org”, que contará con una cuenta de correo llamada “sales”.

mysql -u root -pUSE mail;INSERT INTO domains (domain) VALUES (ieslasgalletas.org');INSERT INTO users (email, password) VALUES ('[email protected]',ENCRYPT(‘123456’));

Tras crear un nuevo usuario, hay que enviar un mensaje de bienvenida al nuevo correo antes de que se pueda acceder a través de IMAP o POP3. Esto se debe a que los buzones de los nuevos usuarios no se crearán hasta que se reciba un correo. Para enviar este mensaje, podemos utilizar la utilidad mailx. Ejecutamos lo siguiente:[email protected]

PulsarCtrl+D para salir.

CHECKLISTProbando Postfix:Para probar Postfix para SMTP-AUTH y TLS, ejecutamos el comando siguiente:telnet localhost 25

Mientras estamos conectados, ejecutamos el siguiente comando:ehlo localhost

Lo que debe aparecer debe ser algo parecido a lo siguiente, con la línea “250-STARTTLS” incluida:Trying 127.0.0.1...Connected to localhost.localdomain.Escape character is '^]'.220 asir.ieslasgalletas.org ESMTP Postfix (Ubuntu)ehlo localhost250-plato.example.com250-PIPELINING250-SIZE 30720000250-VRFY250-ETRN250-STARTTLS250-AUTH PLAIN LOGIN

Page 18: Guia2 Servicio Linux y Windows

250-AUTH=PLAIN LOGIN250-ENHANCEDSTATUSCODES250-8BITMIME250 DSN

Ejecutamosquit para salir.

Revisando los LogsDespués de enviar un correo mediante el mailx, comprobamos los logs para saber si el mail fue enviado. Para ello, comprobamos el log/var/log/mail.log, debe aparecer algo similar a lo siguiente:Jan 21 16:23:23 asir postfix/cleanup[10654]: 5410D86ED: messageid=<[email protected]>Jan 21 16:23:23 asir postfix/qmgr[10644]: 5410D86ED: from=<[email protected]>,size=398, nrcpt=1 (queue active)Jan 21 16:23:23 asir postfix/pipe[10659]: 5410D86ED: to=<[email protected]>,relay=dovecot, delay=0.04, delays=0.03/0.01/0/0.01, dsn=2.0.0, status=sent (delivered viadovecot service)Jan 21 16:23:23 asir postfix/qmgr[10644]: 5410D86ED: removed

Luego comprobamos el registro de entrega en el fichero /home/vmail/dovecot-deliver.log.El contenido debe ser similar a lo siguiente:2011-01-21 16:23:23 deliver([email protected]): Info:msgid=<[email protected]>: saved mail to INBOX

Comprobando el Buzón:Comprobamos el buzón de [email protected], navegamos hasta /home/vmail/ieslasgalletas.org/sales/Maildir y ejecutamos lo siguiente:find

Lo que produce una salida similar a lo siguiente:../dovecot-uidlist./cur./new./new/1285609582.P6115Q0M368794.li172-137./dovecot.index./dovecot.index.log./tmp

Podemos probar con un cliente de correo. Instalamos el MUTT (apt-get install mutt) yejecutamos lo siguiente para ver el correo:mutt -f .

Lo que nos muestra nuestro buzón, con los mensajes recibidos.

Page 19: Guia2 Servicio Linux y Windows

SERVIDOR DE STRAMING

El repositurios con el quese configurar streaming será icast

Introducción

Icecast2 Es un servidor media streaming que soporta los formatos ogg y mp3. Es accesible desde un navegador web por lo que cualquier usuario se puede conectar a nuestro PC y escuchar los contenidos que emitamos en tiempo real, es decir que podemos tener nuestra propia radio por internet.

Icecast2 necesita lo que se denomina un cliente streaming que le entregue contenidos para que funcione. Estos contenidos pueden ser archivos ubicados en una carpeta en el PC, un reproductor de CD, un micrófono conectado a la tarjeta de sonido.El cliente “oficial” de Icecast2 es Ices2, aunque existen otros como por ejemplo Muse. Existen dos versiones, una le suministra archivos en formato mp3, la otra versión le suministra archivos en formato ogg.

PASOS A SEGUIR

1.- INSTALACIÓN DE icecast2 , ices2

2.- CONFIGURACIÓN DE icecast2

3.- HABILITAR EL SERVICIO

4.- CONFIGURACIÓN DEL CLIENTE ices2 PARA icecast2

5.- CONFIGURACIÓN DEL ARCHIVO DE CANCIONES A REPRODUCIR

Page 20: Guia2 Servicio Linux y Windows

6.- ARRANCAR EL CLIENTE ices2

7.- DETENER icecast2 , ices2

8.- INICIAR icecast2 , ices2 AL INICIAR UBUNTU

1.- INSTALACIÓN DE icecast2Instalamos icecast2, ices2 y herramientas vorbis para manejo de formatos de audio libres (ogg). Nos vamos a una terminal y tecleamos

apt-get install icecast2 ices2 vorbis-tools

2.- CONFIGURACIÓN DE icecast2Icecast2 viene con los archivos de configuración ubicados en /etc/icecast2. Debemos configurar los password para las fuentes y para el administrador, así como el nombre del servidor, editando el archivo /etc/icecast2/icecast.xml

sudo gedit /etc/icecast2/icecast.xml

Buscamos la sección <authentication> y configuramos los siguientes parámetros

PASSWORD_FUENTES , PASSWORD_RELAY , ADMINISTRADOR, PASSWORD_ADMINISTRADOR

<authentication> <source-password>PASSWORD_FUENTES</source-password> <relay-password>PASSWORD_RELAY</relay-password> <admin-user>ADMINISTRADOR</admin-user> <admin-password>PASSWORD_ADMINISTRADOR</admin-password></authentication>

♦ Buscamos la sección <hostname> Indicamos el nombre del servidor que vamos a utilizar. Si emitimos desde nuestro equipo en local ponemos localhost

<hostname>www.miservidor.com</hostname>

♦ Buscamos la sección <listen-socket> Indicamos el puerto desde el que emitimos. Si emitimos desde nuestro equipo en local podemos dejar el 8000

<listen-socket> <port>8000</port>

Page 21: Guia2 Servicio Linux y Windows

3.- HABILITAR EL SERVICIO.

Nos vamos a una terminal y editamos el archivo /etc/default/icecast2 poniendo la variable ENABLE a true que por defecto viene inhabilitada.

sudo gedit /etc/default/icecast2

# Edit /etc/icecast2/icecast.xml and change at least the passwords.# Change this to true when done to enable the init.d scriptENABLE=true

icecast2 viene con un servicio montado en /etc/init.d/icecast2 (el cual acabamos de habilitar), ahora lo activamos

sudo /etc/init.d/icecast2 start

En consola nos mostrará

Starting icecast2:

Si ahora nos vamos a la barra de direcciones del navegador web y tecleamos http://localhost:8000 , si todo fue correcto veremos la página de icecast , desde la cual tenemos acceso a administración, listas de reproducción, conexiones clientes

Page 22: Guia2 Servicio Linux y Windows

Como vemos aún no tenemos ningún Active Mountpoints, lo cual conseguiremos tras instalar el cliente ices2 y establezcamos las "lista de canciones"

4.- CONFIGURACIÓN DEL CLIENTE ices2 PARA icecast2

Ices2 no viene con archivos de configuración por defecto. Lo que si trae en /usr/share/doc/ices2/examples son archivos de ejemplo para configuraciones de alsa (ices-alsa.xml), oss (ices-oss.xml) y playlist (ices-playlist.xml).

Vamos a utilizar esta última: creamos una carpeta en /etc llamada ices2 ,copiamos allí el archivo y le otorgamos permisos

sudo mkdir /etc/ices2

sudo cp /usr/share/doc/ices2/examples/ices-playlist.xml /etc/ices2/

sudo chmod +x /etc/ices2/ices-playlist.xml

A continuación editamos el archivo y lo configuramos

sudo gedit /etc/ices2/ices-playlist.xml

Es muy sencillo, vamos a ir viéndolo por secciones:

♦ En la sección <background> cambiamos el 0 por 1, de esta forma evitaremos que se mantenga la terminal abierta hasta que lo cerremos.

Page 23: Guia2 Servicio Linux y Windows

<background>1</background>

♦ En la sección <metadata> configuramos:

<metadata> <name>NOMBRE ESTACION</name> <genre>GENERO ESTACION</genre> <description>DESCRIPCION ESTACION</description> </metadata>

♦ En la sección <input> configuramos:

<param name="file">/miruta/playlist.txt</param><param name="random">1</param><param name="once">0</param>

Establecemos la ruta al archivo que contiene la lista de canciones: /miruta/playlist.txt

Random: indicamos si queremos que la reproducción de los archivos sea secuencial (0) o aleatoria (1).

Once: Indicamos si queremos que la emisora deje de emitir al terminar la lista de reproducción (1) o que continúe emitiendo sin interrupción (0).

♦ En la sección <instance> configuramos:

<hostname>localhost</hostname><port>8000</port><password>PASSWORD_FUENTES</password><mount>/lista_de_reproduccion.ogg</mount>

La dirección del servidor: localhost (porque lo tengo en local, si lo instalásemos en un hosting pondríamos la dirección)El puerto: por defecto trae 8000 (lo dejamos tal cual)El password de las fuentes: PASSWORD_FUENTES (es el mismo password que hemos puesto en /etc/icecast2/icecast.xml)

En <mount></mount> debemos escojer el ‘mount point’ que queramos para emitir. Podemos poner algo descriptivo (sin espacios y acabado en .ogg), por ejemplo lista_de_reproduccion.ogg

Y aquí está el archivo completo:

Page 24: Guia2 Servicio Linux y Windows

<?xml version="1.0"?><ices> <!-- run in background --> <background>1</background> <!-- where logs, etc go. --> <logpath>/var/log/ices</logpath> <logfile>ices.log</logfile> <!-- 1=error,2=warn,3=info,4=debug --> <loglevel>4</loglevel> <!-- set this to 1 to log to the console instead of to the file above --> <consolelog>0</consolelog>

<!-- optional filename to write process id to --> <!-- <pidfile>/home/ices/ices.pid</pidfile> -->

<stream> <!-- metadata used for stream listing (not currently used) --> <metadata> <name>Radio La Vida es TUX</name> <genre>Linux Ubuntu Radio</genre> <description>Música para relajarse</description> </metadata>

<!-- input module

The module used here is the playlist module - it has 'submodules' for different types of playlist. There are two currently implemented, 'basic', which is a simple file-based playlist, and 'script' which invokes a command to returns a filename to start playing. -->

<input> <module>playlist</module> <param name="type">basic</param> <param name="file">/home/greiscool/musicaradio/playlist.txt</param> <!-- random play --> <param name="random">1</param> <!-- if the playlist get updated that start at the beginning --> <param name="restart-after-reread">0</param> <!-- if set to 1 , plays once through, then exits. --> <param name="once">0</param> </input>

<!-- Stream instance You may have one or more instances here. This allows you to send the same input data to one or more servers (or to different mountpoints on the same server). Each of them can have different parameters. This is primarily useful for a) relaying to multiple independent servers, and b) encoding/reencoding to multiple bitrates. If one instance fails (for example, the associated server goes down, etc), the others will continue to function correctly.

Page 25: Guia2 Servicio Linux y Windows

This example defines two instances as two mountpoints on the same server. --> <instance> <!-- Server details: You define hostname and port for the server here, along with the source password and mountpoint. --> <hostname>localhost</hostname> <port>8000</port> <password>PASSWORD_FUENTES</password> <mount>/lista_de_reproduccion.ogg</mount>

<!-- Reconnect parameters: When something goes wrong (e.g. the server crashes, or the network drops) and ices disconnects from the server, these control how often it tries to reconnect, and how many times it tries to reconnect. Delay is in seconds. If you set reconnectattempts to -1, it will continue indefinately. Suggest setting reconnectdelay to a large value if you do this. --> <reconnectdelay>2</reconnectdelay> <reconnectattempts>5</reconnectattempts>

<!-- maxqueuelength: This describes how long the internal data queues may be. This basically lets you control how much data gets buffered before ices decides it can't send to the server fast enough, and either shuts down or flushes the queue (dropping the data) and continues. For advanced users only. --> <maxqueuelength>80</maxqueuelength>

<!-- Live encoding/reencoding: Currrently, the parameters given here for encoding MUST match the input data for channels and sample rate. That restriction will be relaxed in the future. --> <encode> <nominal-bitrate>64000</nominal-bitrate><!-- bps. e.g. 64000 for 64 kbps --> <samplerate>44100</samplerate> <channels>2</channels> </encode> </instance>

</stream></ices>

Creamos la carpeta para el archivo log para ices

sudo mkdir /var/log/ices

Page 26: Guia2 Servicio Linux y Windows

y le damos permisos, si no lo hacemos al arrancar ices2 nos lanzará un ERROR

sudo chmod 777 /var/log/ices

5.- CONFIGURACIÓN DEL ARCHIVO DE CANCIONES A REPRODUCIR

Para ello tenemos dos opciones:

Opción a) Creamos la ruta hacia un archivo con la lista de canciones con el comando siguiente

sudo find /RUTA_DONDE_ESTAN_LAS_CANCIONES -iname "*.ogg" > /RUTA_DONDE_TENGO_EL_ARCHIVO_LISTA/LISTA.TXT

Opción b) Editamos el archivo y tecleamos la ruta completa para cada canción

sudo gedit /RUTA_DONDE_TENGO_EL_ARCHIVO_LISTA/LISTA.TXT

/RUTA_DONDE_ESTAN_LAS_CANCIONES/nombre_cancion1.ogg/RUTA_DONDE_ESTAN_LAS_CANCIONES/nombre_cancion2.ogg…..

6.- ARRANCAR ices2

Tecleando en consola

sudo ices2 /etc/ices2/ices-playlist.xml &

Si ahora nos vamos a la página (en este caso http://localhost:8000 veremos que aparece el enlace http://localhost:8000/lista_de_reproduccion.ogg , con el que podemos conectarnos a la radio.

Page 27: Guia2 Servicio Linux y Windows

7.- DETENER icecast2 , ices2

Si deseamos detener icecast2 tecleamos en una terminal

sudo /etc/init.d/icecast2 stop

nos responderá

Stopping icecast2: icecast2.

Si deseamos detener ices2 tecleamos en una terminal

ps ax | grep ices2

nos responderá dandonos el pid del proceso, algo como lo siguiente

Page 28: Guia2 Servicio Linux y Windows

23242 pts/0 S+ 0:00 grep –color=auto ices2

(23242 es el pid que me ha dado, debemos comprobarlo en el momento que deseemos)

Este número nos permitirá detener el ices2 (la emisión) cuando deseemos, tecleando en consola

sudo kill -9 23242

8.- INICIAR icecast2 , ices2 al iniciar Ubuntu

Creamos un archivo icecast2 y lo colocamos en /etc/init.d , tecleando en consola

sudo gedit /etc/init.d/icecast2

con las siguientes líneas de código (aunque tiene una cabecera que identifica al autor original, ha sido modificado posteriormente en varias ocasiones, incluso yo mismo lo he modificado) es funcional si se han seguido los pasos anteriores.

#!/bin/sh###BEGIN INIT INFO# Provides: icecast2# Required-Start: $remote_fs $network# Required-Stop: $remote_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Starts the icecast audio streaming server daemon### END INIT INFO## icecast2## Written by Miquel van Smoorenburg <[email protected]>.# Modified for Debian# by Ian Murdock <[email protected]>.## Further modified by Keegan Quinn <[email protected]># for use with Icecast 2#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binDAEMON=/usr/bin/icecast2NAME=icecast2DESC=icecast2ICES=/usr/bin/ices2ICES_CONFIGFILE=/etc/ices2/ices-playlist.xml

Page 29: Guia2 Servicio Linux y Windows

test -x $DAEMON || exit 0

# DefaultsCONFIGFILE="/etc/icecast2/icecast.xml"CONFIGDEFAULTFILE="/etc/default/icecast2"USERID=icecast2GROUPID=icecastENABLE="false"

# Reads config file (will override defaults above)[ -r "$CONFIGDEFAULTFILE" ] && . $CONFIGDEFAULTFILE

if [ "$ENABLE" != "true" ]; then echo "$NAME daemon disabled - read $CONFIGDEFAULTFILE." exit 0fi

set -e

case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \ --exec $DAEMON -- -b -c $CONFIGFILE sleep 3 start-stop-daemon --start --quiet --exec $ICES $ICES_CONFIGFILE echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --oknodo --quiet --exec $ICES

start-stop-daemon --stop --oknodo --quiet --exec $DAEMON echo "$NAME." ;; reload|force-reload) echo "Reloading $DESC configuration files." start-stop-daemon --stop --oknodo --quiet --exec $ICES start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON sleep 3 start-stop-daemon --start --quiet --exec $ICES $ICES_CONFIGFILE ;; restart) echo -n "Restarting $DESC: " start-stop-daemon --stop --oknodo --quiet --exec $ICES

start-stop-daemon --stop --oknodo --quiet --exec $DAEMON sleep 3 start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \ --exec $DAEMON -- -b -c $CONFIGFILE sleep 3

Page 30: Guia2 Servicio Linux y Windows

start-stop-daemon --start --quiet --exec $ICES $ICES_CONFIGFILE echo "$NAME." ;; *) echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2 exit 1 ;;esac

exit 0

Una vez creado el archivo hacemos que se agregue como servicio y así será iniciado durante el arranque de Ubuntu.

sudo update-rc.d icecast2 defaults

Listo cada vez que arranquemos Ubuntu ya tendremos el icecast2 y su cliente ices2 operativos.

SERVIDOR VPN

El repositorio que se usara a continuación para la configuración vpn será openvpn

OpenVPN es un Software que hace de cliente y servidor según como lo configuremos, aclaro que hay 2 versiones de este:* OpenVPN Community Software : Es la versión que utilizaremos y es 100% Open Source* OpenVPN Access Server : Es la versión de pago, puede usar gratis solo hasta 2 usuarios, los usuarios adicionales son muy económicos, además tiene extras como panel de administración web, es súper fácil de configurar y mas.

Introducción

OpenVPN, es un producto de software creado por James Yonan en el año 2001 y que ha estado siendo mejorado desde entonces.

Ninguna otra solución ofrece una mezcla semejante de seguridad a nivel empresarial, seguridad, facilidad de uso y riqueza de características.

Es una solución multiplataforma que ha simplificado mucho la configuración de VPN’s dejando atrás los tiempos de otras soluciones difíciles de configurar como IPsec y haciéndola más accesible para gente inexperta en este tipo de tecnología.

Page 31: Guia2 Servicio Linux y Windows

Supongamos que necesitamos comunicar diferentes sucursales de una organización. A continuación veremos algunas soluciones que se han ofrecido como respuesta a este tipo de necesidades.

En el pasado las comunicaciones se realizaban por correo, teléfono o fax. Hoy en día hay factores que hacen necesaria la implementación de soluciones más sofisticadas de conectividad entre las oficinas de las organizaciones a lo largo del mundo.

Dichos factores son:

* La aceleración de los procesos de negocios y su consecuente aumento en la necesidad de intercambio flexible y rápido de información.* Muchas organizaciones tienen varias sucursales en diferentes ubicaciones así como también tele trabajadores remotos desde sus casas, quienes necesitan intercambiar información sin ninguna demora, como si estuvieran físicamente juntos.* La necesidad de las redes de computación de cumplir altos estándares de seguridad que aseguren la autenticidad, integridad y disponibilidad.

Fuente: Wikipedia

El Servidor:

Esta guía es para Ubuntu 10.04 Server, imagino que funciona en otras versiones y distros, tenemos un ubuntu server ya instalado y funcionando.Instalamos OpenVPN y también OpenSSL, ya que la seguridad se basa en ssl.

sudo apt-get -y install openvpn

sudo apt-get -y install openssl

Configuramos el Demonio de OpenVPN para que No Auto Inicie con el Sistema

Comentamos todo agregando # al comienzo de cada linea.

sudo nano /etc/default/openvpn

tambien eliminar el script de inicio, para evitar que no inicie si configurar

sudo update-rc.d -f /etc/init.d/openvpn remove

Ahora Creamos el Archivo openvpn.conf en /etc/openvpn/

Page 32: Guia2 Servicio Linux y Windows

sudo nano /etc/openvpn/server.conf

y colocamos esta configuración

dev tun

proto tcp

port 1194

ca /etc/openvpn/keys/ca.crt

cert /etc/openvpn/keys/servidor.crt

key /etc/openvpn/keys/servidor.key

dh /etc/openvpn/keys/dh2048.pem

user nobody

group nogroup

server 10.6.0.0 255.255.255.0

ifconfig-pool-persist /etc/openvpn/clients.txt

status /etc/openvpn/status.txt

persist-key

persist-tun

push "redirect-gateway def1"

push "route 192.168.0.0 255.255.255.0"

keepalive 10 120

verb 3

comp-lzo

max-clients 3

Page 33: Guia2 Servicio Linux y Windows

como verán se puede personalizar, este es un ejemplo que fue probado

si no quieren usar la vpn para internet seguro, osea no navegar usan internet desde la vpn,

quitar la linea “redirect-gateway”.

Otros datos que pueden modificar:

* ca, cert, key y dh = son la entidad, el certificados, la llave y la Diffie Hellman del servidor,

mas adelante los crearemos.

* server 10.6.0.0 255.255.255.0 = es el rango de ip que usara la vpn, usen otro pero, no

usar el mismo que la red real.

* ifconfig-pool-persist ipp.txt = guarda a quien se le asigno cada ip en la vpn

* proto y port = protocolo y puerto, se puede usar tcp y utp, en utp no me dio buenos

resultados, el puerto es pueden cambiarlo.

* duplicate-cn = permite que se use el mismo certificado y llave en varios clientes al mismo

tiempo, recomiendo no activarlo.

* up /etc/openvpn/openvpn.up = es un script que carga openvpn al iniciar, se usa para el

ROUTING y FORWARDING, mas adelante lo creamos.

* client-to-client = es para evitar que los usuario de la vpn se vean entre si, según el caso

es útil.

* comp-lzo = compresión, comprime todo el trafico de la vpn.

* verb 3 = aumenta o disminuye los detalles de error en el server.

* max-clients 30 = cantidad máxima de usuarios conectados simultáneamente al servidor,

se puede aumentar o disminuir.

* push route = permite ver o estar en la red detras del vpn server, ojo no activar client-to-

client.

* push “redirect = oblica al cliente a usar la vpn como gateway.

ahora creamos el script para que configure e inicie el servidor de vpn.

sudo nano /etc/init.d/vpnserver

y pegamos este codigo, cambiar el rango de ip según la configuración de paso anterior

#!/bin/sh

#

vpnserver_start()

{

echo "VPN Server [OK]"

Page 34: Guia2 Servicio Linux y Windows

echo 1 > /proc/sys/net/ipv4/ip_forward

/etc/init.d/networking restart > /dev/null

/sbin/iptables -t nat -A POSTROUTING -s 10.6.0.0/24 -o eth0 -j MASQUERADE

/usr/sbin/openvpn --config /etc/openvpn/server.conf 2>> /etc/openvpn/error.txt 1>> /etc/openvpn/normal.txt &

}

vpnserver_stop()

{

echo "VPN Server [NO]"

/usr/bin/killall "openvpn"

iptables -F

iptables -X

/etc/init.d/networking restart > /dev/null

}

vpnserver_restart()

{

vpnserver_stop

sleep 1

vpnserver_start

}

#

case "$1" in

'start')

Page 35: Guia2 Servicio Linux y Windows

vpnserver_start

;;

'stop')

vpnserver_stop

;;

'restart')

vpnserver_restart

;;

*)

vpnserver_start

;;

esac

ahora le asignamos permisos de ejecutable

sudo chmod +x /etc/init.d/vpnserver

tambien y que configurar para que auto inicie con el sistema

sudo update-rc.d vpnserver defaults

bueno ya configuramos OpenVPN, ahora tenemos que activar el modulo TUN en el kernel,

con estas lineas, lo cargamos y listo

sudo modprobe tun

sudo echo "tun" >> /etc/modules

como verán no fue tan difícil la configuración, pero ahora viene lo mas lento:

Page 36: Guia2 Servicio Linux y Windows

* Crear Diffie Hellman de 2048bits

* Crear la Entidad emisora de certificados.

* Crear los Certificados y llaves del servidor.

* Crear los certificados y llaves de cada usuario.

Copiamos los ejemplo de easy-rsa para crear la entidad, los certificados, llaves y

encriptación, que usar OpenVPN,

sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/

ahora hay que entrar en la carpeta donde están las utilidades que copiamos y crear la

carpeta keys

sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/

cd /etc/openvpn/easy-rsa/2.0

sudo mkdir keys

solo nos queda editar el archivo vars que esta en /etc/openvpn/easy-rsa/2.0

sudo nano /etc/openvpn/easy-rsa/2.0/vars

y modificamos estos valores

export KEY_DIR="$EASY_RSA/keys"

por

export KEY_DIR="/etc/openvpn/easy-rsa/2.0/keys"

es para genere si o si en /etc/openvpn/easy-rsa/2.0/keys

seguimos, también modificamos los parámetros para Diffie Hellman de 2048bits

export KEY_SIZE=1024

por

export KEY_SIZE=2048

solo nos faltan los datos para la entidad emisora

Page 37: Guia2 Servicio Linux y Windows

export KEY_COUNTRY="US"

export KEY_PROVINCE="CA"

export KEY_CITY="SanFrancisco"

export KEY_ORG="Fort-Funston"

export KEY_EMAIL="[email protected]"

modifica cada valor por los de tu país, provincia, ciudad, empresa y correo

un ejemplo

export KEY_COUNTRY="AR"

export KEY_PROVINCE="SF"

export KEY_CITY="Armstrong"

export KEY_ORG="LAGA-Systems"

export KEY_EMAIL="[email protected]"

Como ven AR = Argentina, SF = Santa Fe (mi provincia) y los demas se entienden.

bueno ahora estamos preparados para comenzar, seguir estos pasos al pie de la letra,

porque un error y se arruina todo.

ejecutamos

source ./vars

y nos pide que limpiemos por si hay entidades, certificados y llaves, lo hacemos con gusto

./clean-all

ahora generamos la seguridad Diffie Hellman de 2048bits

./build-dh

ahora generamos la entidad emisora de certificados les pedirá los mismos datos que en el

archivos vars recomiendo completar cada uno, aunque ya están, no importa

./build-ca

Page 38: Guia2 Servicio Linux y Windows

ya estamos para poder generar lo certificados y llaves primero el servidor, cambiar server

por el nombre que gusten,les pedirá los mismos datos que en el archivos vars recomiendo

completar cada uno, aunque ya están, no importa.

./build-key-server servidor

ya tenemos los certificados y llaves de servidor ahora el cliente, cambiar cliente por el

nombre que gusten,

les pedirá los mismos datos que en el archivos vars recomiendo completar cada uno,

aunque ya están, no importa.

./build-key cliente

este paso se debe repetir para cada cliente o usuario que quiere conectar a la vpn ya

tenemos todo para funcionar, no, falta copiar los archivos que generamos al lugar que

configuramos en openvpn.conf

ya que copiar la carpeta keys a /etc/openvpn/

sudo cp -R /etc/openvpn/easy-rsa/2.0/keys /etc/openvpn/

ahora comprobamos que este todo en su lugar, entramos en la carpeta /etc/openvpn/keys

cd /etc/openvpn/keys

y con un ls miramos si están los archivos

ahora generamos un archivo mas, este lo genera openvpn

sudo openvpn --genkey --secret ta.key

Solo falta copiar los archivos ca.crt, cliente.crt, cliente.key, si creaste mas clientes copia los

crt y key de cada un pendrive u otro medio no usar email para enviarlos, es como darle la

llave de tu casa a un desconocido.

Listo ya esta todo en el servidor, ahora lo iniciamos para probar que todo esta correcto

sudo /etc/init.d/vpnserver start

Si no hay errores ya tenemos nuestra vpn funcionando, solo falta el cliente.

El Cliente:

Page 39: Guia2 Servicio Linux y Windows

Esta guía es para Ubuntu 10.04 Desktop, imagino que funciona en otras versiones y

distros, tenemos un ubuntu ya instalado y funcionando.

Instalamos OpenVPN y también OpenSSL, ya que la seguridad se basa en ssl

y como usaremos el Network Manager de Ubuntu hay que instalar el plugins para

OpenVPN

sudo apt-get -y install openvpn

sudo apt-get -y install openssl

sudo aptitude -y install network-manager-openvpn

Ahora ya estamos en condiciones de configurar nuestro cliente un ejemplo de

configuración:

Con un editor de texto, gedit puede ser, pegan este código

client

dev tun

proto tcp

remote IP-DEL-SERVIDOR PUERTO

resolv-retry infinite

nobind

#user nobody

#group nobody

persist-key

persist-tun

ca ca.crt

cert cliente.crt

key cliente.key

comp-lzo

Page 40: Guia2 Servicio Linux y Windows

tun-mtu 1500

keepalive 10 120

verb 4

Modifican los datos, IP-DEL-SERVIDOR este es el ip publico o de internet del servidor y

PUERTO por el que asignaron en el servidor, los archivos ca.crt, cliente.crt y cliente.key

son los que generamos y copiamos antes en un pendrive o en lo que sea.

Si Tiene IP Publico Dinámico, les recomiendo usar algún servicio de DDNS (DyDNS, NO-

IP, CDMon), y no se olvide de abrir y redirigir el puerto 1194 o el que eligieron para el

servidor.

Guardan el el código con el nombre que quieran pero con extensión .conf y en la misma

carpeta de los archivos ca.crt, cliente.crt y cliente.key

Ahora abre el Network Manager de Ubuntu y en la pestaña VPN hay un botón Importar,

buscan el archivo .conf que guardamos antes y ya esta todo.

SERVIDOR DE IMPRESORAS

El repositorio que usaremos será cups

Introduccion

El mecanismo principal de impresión y de servicios de impresión en Ubuntu es el Sistema de Impresión Común de UNIX (Common UNIX Printing System , CUPS). Este sistema de impresión es una capa de impresión libre y portable que se ha convertido en el nuevo estándar de impresión en la mayoría de las distribuciones de GNU/Linux.

CUPS gestiona los trabajos y tareas de impresión, y proporciona impresión de red utilizando el Protocolo estándar de Impresión en Internet (IPP ), que dispone de soporte para una gran gama de impresoras, desde matriciales hasta láser. CUPS también soporta PostScript Printer Description (PPD) y autodetección de impresoras de red, y dispone de una sencilla herramienta basada en web para la configuración y administración.

Configuración

El comportamiento del servidor CUPS se configura a través de las directivas contenidas en el archivo /etc/cups/cupsd.conf. El archivo de configuración de CUPS tiene la misma sintaxis que el archivo principal de configuración del servidor HTTP Apache, por lo que los

Page 41: Guia2 Servicio Linux y Windows

usuarios acostumbrados a editar el archivo de configuración de Apache se sentirán como en su casa cuando editen el archivo de configuración de CUPS. Se presentarán aquí algunos ejemplos de opciones que puedes desear cambiar inicialmente.

Antes de editar un fichero de configuración debes hacer una copia del archivo original y protegerla contra escritura, así tendrás la configuración original como referencia, y podrás reusarla si fuera necesario.

Haz una copia del archivo /etc/cups/cupsd.conf con el siguiente comando:

sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original

y protégelo contra escritura

sudo chmod a-w /etc/cups/cupsd.conf.original

ServerAdmin: Para configurar la dirección de correo del administrador designado en el servidor CUPS simplemente edita el fichero de configuración /etc/cups/cupsd.conf con tu editor de textos preferido y modifica la línea ServerAdmin como sea conveniente. Por ejemplo, si tu eres el Administrador del servidor CUPS, y tu dirección de correo es '[email protected]', entonces deberás modificar la línea ServerAdmin con algo como esto:

ServerAdmin [email protected]

Para más ejemplos de directivas de configuración en el archivo de configuración del servidor CUPS, consulta la página de manual asociada introduciendo el siguiente comando en un terminal:

man cupsd.conf

Una vez hayas realizado cambios en el archivo de configuración /etc/cups/cupsd.conf, necesitarás reiniciar el servidor CUPS tecleando la siguiente orden en la línea de órdenes de una terminal:

sudo /etc/init.d/cupsys restart

Otras opciones de configuración para el servidor CUPS se encuentran en el archivo /etc/cups/cups.d/ports.conf:

Listen: De forma predeterminada, en Ubuntu la instalación del servidor CUPS escucha sólo por la interfaz loopback en la dirección IP 127.0.0.1. Para hacer que el servidor CUPS escuche en la dirección IP del verdadero adaptador de red, debes especificar un nombre de host, una dirección IP, o bien, un par dirección IP/puerto, y para ello debes añadir una directiva Listen. Por ejemplo, si tu servidor CUPS reside en una red local con la dirección IP 192.168.10.250 y deseas que sea accesible para los demás sistemas de esta subred, debes editar el archivo /etc/cups/cups.d/ports.conf y añadir una directiva Listen, de esta forma:

Listen 127.0.0.1:631 # existing loopback Listen Listen /var/run/cups/cups.sock # existing socket Listen

Page 42: Guia2 Servicio Linux y Windows

Listen 192.168.10.250:631 # Listen on the LAN interface, Port 631 (IPP)

En el ejemplo anterior, debes comentar o borrar la referencia a la dirección de loopback (127.0.0.1) si no deseas que cupsd escuche por esa interfaz, sinosólo por la interfaz Ethernet de la red local (LAN). Para activar la escucha por todas las interfases de red en las que se haya establecido un nombre de host, incluyendo el loopback, deberás crear una entrada listen para el nombre de host socrates así:

Listen·socrates:631··#·Escuchando en todos los interfaces para la máquina·'socrates'

u omitiendo la directiva Listen y usando Port en su lugar, como en:

Port 631 # Escuchando en el puerto 631 en todos los interfaces

SERVIDOR TERMINAL SERVER

El repositorio que se usara para configurar servidor terminal server en Ubuntu es Freenx y Neatx

Instalación y configuración con Freenx

Pasos:

1.Para poder agregar el repositorio sin problemas tenemos que instalar:

# sudo apt-get install python-software-properties

2.Agregamos el repositorio.

# sudo add-apt-repository ppa:freenx-team

3. Actualizamos

# sudo apt-get update

4. Procedemos a instalar Freenx

# sudo aptitude install freenx

5. Para solucionar un bug que tenemos con Freenx, tenemos que descargar el script "nxsetup", desde aquí

6. Movemos el fichero "nxsetup" previamente descargado en "/tmp/" al directorio"/usr/lib/nx/nxsetup" para remplazar el existente.

# sudo mv nxsetup /usr/lib/nx/nxsetup

Page 43: Guia2 Servicio Linux y Windows

7. Cambiamos el propietario y el grupo a "nxsetup".

# sudo chown root:root /usr/lib/nx/nxsetup

8. Instalamos "nxsetup" para crear el usuario "nx" y crear los ficheros necesarios para la correcta configuración. Para una configuración simple, todo por defecto.

# sudo /usr/lib/nx/nxsetup --install

9. Cambiar el puerto de conexión, ¿por qué? para tener un poquito más de seguridad. Freenx se integra con ssh, entonces debemos de cambiar el puerto. Importante ambos deben de tener el mismo.

Para cambiarlo en ssh, editamos el fichero de configuración "sudo nano /etc/ssh/sshd_conf" cambiamos el puerto, por ejemplo: 77877 . Reiniciamos ssh"sudo /etc/init.d/ssh restart"

Para cambiarlo en Freenz, editamos el fichero " sudo nano /etc/nxserver/node.conf" y desmarcar la línea y añadir el puerto "SSHD_PORT=77877". Reiniciamos el servicio "sudo nxserver --restart"

10. Crear usuarios en el servidor NX

# sudo nxserver --adduser prueba

# sudo nxserver --passwd prueba

Cada vez que creemos un usuario o modifiquemos el fichero"/etc/nxserver/node.conf" tendremos que reinciar el servidor nx con "sudo nxserver --restart".

11. Descarga del cliente

Cliente Linux "sudo apt-get install qtnx"

Cliente Windows, desde http://64.34.161.181/download/3.4.0/Windows/nxclient-3.4.0-10.exe

Configuración con Neatx

Pasos:

1. Agregamos el repositorio

# sudo add-apt-repository ppa:freenx-team

2. Actualizamos

# sudo apt-get update

3. Instalamos Neatx

Page 44: Guia2 Servicio Linux y Windows

# sudo apt-get install neatx-server

4. Cambiar el puerto de conexión, ¿por qué? para tener un poquito más de seguridad. Freenx se integra con ssh, entonces debemos de cambiar el puerto. Importante ambos deben de tener el mismo.

Para cambiarlo en ssh, editamos el fichero de configuración "sudo nano /etc/ssh/sshd_conf" cambiamos el puerto, por ejemplo: 77877 . Reiniciamos ssh"sudo /etc/init.d/ssh restart"

Para cambiarlo en Freenz, editamos el fichero " sudo nano /etc/nxserver/node.conf" y desmarcar la línea y añadir el puerto "SSHD_PORT=77877". Reiniciamos el servicio "sudo nxserver --restart"

5. Crear usuarios en el servidor NX

# sudo nxserver --adduser prueba

# sudo nxserver --passwd prueba

Cada vez que creemos un usuario o modifiquemos el fichero"/etc/nxserver/node.conf" tendremos que reinciar el servidor nx con "sudo nxserver --restart".

6. Descarga del cliente

Cliente Linux "sudo apt-get install qtnx"

Cliente Windows, desde http://64.34.161.181/download/3.4.0/Windows/nxclient-3.4.0-10.exe

Ya tenemos nuestro servidor Nx configurado y listo para nuestras conexiones terminal server en Ubuntu.

Servicios en Windows Server 2008

INSTALACION SERVIDOR WEB EN WINWDOS SERVER

DESCRIPCIONLos servidores web son equipos con un software específico que les permite aceptar solicitudes de equipos cliente y responder a esas solicitudes. Los servidores web permiten compartir información a través de Internet o a través de intranets y extranets.El Servidor web IIS (Internet Information Services) permite compartir información en Internet, una intranet o una extranet. Es una plataforma web unificada que integra IIS 7.0, ASP.NET y Windows Communication Foundation.Lo primero que debemos hacer para instalarlo dirigirnos a: Inicio > Herramientas Administrativas > funciones y seleccionamos la opcion Agregarfunciones en esta ventana debemos seleccionar la opcion (servidor web IIS)

Page 45: Guia2 Servicio Linux y Windows

Luego

Luego de marcar las opciones de ftp que se muestran al final del recuadro le damos a la opción siguiente. En esta siguiente ventana podemos ver las características con las cuales quedara instalado el servidor web, nos informa también que es posible que se reinicie el equipo una vez completa la instalación.

Page 46: Guia2 Servicio Linux y Windows

Si estamos seguros de que son las características que queremos que tenga nuestro servidor le damos a la opción instalar.

Debemos esperar unos segundos mientras se instala, si lo hicimos bien nos mostrara que fue una correcta instalación

Con esto terminamos la instalacion

Ahora configuraremos un sitio web en el servidor web IIS que acabamos de instalar.

Nos dirigimos a:

Inicido > Herramientas Administrativas > Administrador de servidor > Funciones > Servidor Web (IIS) > Administracion De (IIS) > (nombre de nuestro servidor)

Luego este nos mostrara la carpeta sitios, le damos click derecho y seleccionamos la opcion agregar sitio web.

Page 47: Guia2 Servicio Linux y Windows

Nombre del sitio: es el nombre que tendrá nuestro sitio.

Ruta de acceso específica: es el directorio donde se alojara nuestro sitio, el cual debemos crear

Enlace: aquí ponemos que dirección tendrá nuestro host y el nombre, también porque puerto trabajara.

Ponemos los valores correspondientes y aceptamos

Lo que debemos hacer ahora es agregar la página web al directorio que se definió anteriormente, en este caso en:

C:\ABC-WEB\abc.com (esta carpeta abc.com es donde se encuentra la página)

Page 48: Guia2 Servicio Linux y Windows

Recordemos que en nuestro servidor DNS debe estar agregado el registro del host, que contiene la página web, si no está lo agregamos con u (CNAME).

Nos vamos a nuestra zona de búsqueda directa, le damos clic derecho y elegimos la opción (Alias Nuevo CNAME) con la siguiente información.

Configuramos los valores y aceptamos

Ahora abrimos un explorador y ponemos (www.abc.com)

Como podemos ver nuestro sitio web ya está creado.

Ahora debemos si podemos acceder desde un usuario local en otra máquina, en este caso

Windows XP, recordemos que deben estar en la misma subred lo que podemos ver con los siguientes comandos:ipconfig /releaseipconfig /renew

Page 49: Guia2 Servicio Linux y Windows

nslookupwww.abc.com

Después de verificar que los equipos estén conectados y los servicios funcionen correctamente, ingresamos a un explorador web usando www.abc.com

Page 50: Guia2 Servicio Linux y Windows

INSTALACIÓN DE UN SERVIDOR DHCP EN WINDOWS SERVER

Instalación de DHCP

Inicio, - panel de control,- agregar o quitar programas.- agregar o quitar componentes de Windows

Damos clic en detalles

Page 51: Guia2 Servicio Linux y Windows

Aceptar

Siguiente

Page 52: Guia2 Servicio Linux y Windows

Configuración DHCP

Inicio,- herramientas administrativas,- DHCP

Page 53: Guia2 Servicio Linux y Windows

Clic derecho

Page 54: Guia2 Servicio Linux y Windows

Siguiente

Page 55: Guia2 Servicio Linux y Windows

En esta parte se reservaran las direcciones que no serán utilizadas por el DHCP, y que tendrán carácter estático.

Siempre que se asigne el rango de direcciones se debe dar en agregar.

Siguiente

En esta parte de la configuración se asignara el tiempo en que el DHCP cambiara las direcciones que están en el rango de direccionamiento y dentro del DHCP.

Page 56: Guia2 Servicio Linux y Windows

Siguiente

Siguiente

Page 57: Guia2 Servicio Linux y Windows

Siguiente

A qui se pondrá el nombre del dominio al cual esta vinculado y la dirección ip del DNS

Page 58: Guia2 Servicio Linux y Windows

Siguiente

Para este laboratorio no se instalaron servidores WINS, entonces no se escoge ninguna opción.

Page 59: Guia2 Servicio Linux y Windows

Aquí se autoriza el DHCP

Page 60: Guia2 Servicio Linux y Windows

Listo solo se debe configurar la tarjeta de red de los clientes en modo DHCP.

CONFIGURACIÓN DE UN SERVIDOR FTP EN WINDOWS SERVER

INTRODUCCIÓN

FTP es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmisión Control Protocol), basado en la arquitectura cliente-servidor.

El Servicio FTP es ofrecido por la capa de Aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21.

Usuarios: Existe en la actualidad, dentro de lo que es Internet, un servicio que permite trabajar con archivos (copiar, modificar, borrar) desde una PC hacia un servidor remoto. En dichos servidores remotos se alojan grandes cantidades de shareware y freeware, que están a disposición del público para que haga un download a su computadora. Generalmente estos servidores permiten el acceso a cualquier usuario (servidores llamados "anonymous") pero también existen los servidores que tienen acceso restringido por medio de passwords.

Algunas definiciones que común mente s configuran son: Abajo encontrará una lista con los términos más comunes en el uso del FTP:

Download: Copiar un archivo desde una computadora remota (FT site, server) a su computadora.

Upload: Copiar un archivo desde su computadora a una computadora remota (FTP site, server).

Page 61: Guia2 Servicio Linux y Windows

Server: Es como se llama comúnmente a un FTP site.

Session Profile: Es el conjunto de información necesaria para conectarse a un server.

Hay varios datos importantes que Usted debe saber para conectarse a un server FTP y bajar un programa a su computadora: El nombre del Host (ej.: www.ba.net), La ubicación del archivo, dentro de que directorio se encuentra (ej.: /pub/windows7),

El nombre del archivo (ej.: n16e30.exe)

Usuarios Enjaulados

Usuarios Enjaulados

Un usuario enjaulado es aquel que tiene solo un espacio para el “ya sea usuario o dependencia” por ejemplo, Si tengo un servidor FTP corriendo con la opción usuarios enjaulados deshabilitada. Entonces estaríamos compartiendo nuestro documentos con todas las personas que tenga acceso a el, y como ya sabemos hay personas inescrupulosas que nos pueden cambiar el contenido de algún documento, entonces la ventaja de usar usuarios enjaulados es la de la seguridad de nuestros documentos. Y en casos contrarios estaríamos enjaulando a personas peligrosas.

INSTALACIÓN Y CONFIGURACIÓN DEL SERVICIO FTP

Se instala cuando agregamos la función: Servidor Web (IIS). Vamos a la opción Funciones Agregar funciones Esto lo hacemos por Inicio - Administrador de servidor de la siguiente manera

Page 62: Guia2 Servicio Linux y Windows

SELECCIONAMOS LA FUNCION SERVIDOR WEB (IIS)

Esto se realiza para poder especificarle al servidor el servicio que vamos a configurar e instalar.

Page 63: Guia2 Servicio Linux y Windows

Nos aparece esta confirmación y le damos agregar características requeridas

Añadimos a la instalación la función servicio de publicación ftp

Page 64: Guia2 Servicio Linux y Windows
Page 65: Guia2 Servicio Linux y Windows

Es importante tener encuentra que las 2 opciones seleccionadas anteriormente como filtro de solicitudes y consola de administración IIS son aplicaciones mejoradas de Windows server 2008 basado en el aislamiento del grupo de aplicaciones que estuvo disponible con IIS7.0, que mejoró la seguridad y confiabilidad, todo grupo de aplicaciones IS7.5 se ejecuta con una identidad única con menos privilegios. Esto ayuda a fortalecer la seguridad de las aplicaciones y los servicios ejecutados en IIS7.5.

Este servidor FTP está totalmente integrado a la interfaz de administración de IIS7.5 y almacenamiento de configuración. Esto permite a los administradores realizar tareas administrativas comunes en una consola de administración común.

INSTALACION

En esta parte se está inicializando el proceso de instalación del servidor FTP

Page 66: Guia2 Servicio Linux y Windows

Ahora nos dirigiremos a Inicio clic en Equipo allí buscaremos en el Disco local (C:) damos clic en la carpeta “inetpub”, la cual tiene la carpeta de configuración del FTP “ftproot”, le damos clic y vemos que está vacía.

Para la configuración del servicio FTP en Windows Server 2008 debemos ingresar a inicio y Herramientas Administrativas – Internet Information Services (IIS)

Page 67: Guia2 Servicio Linux y Windows

Nos Ubicamos en sitios FTP clic derecho – nuevo – sitio FTP

Page 68: Guia2 Servicio Linux y Windows

Se inicia el asistente – siguiente

Aquí colocamos un nombre a nuestro sitio para que pueda ser identificado – siguiente

Ahora vamos a colocar una ip a nuestro servidor en este caso utilizaremos la 192.168.1.4 y dejamos por defecto el puerto 21

Page 69: Guia2 Servicio Linux y Windows

Aquí enjaulamos todos los usuarios es decir solo tienen acceso a un directorio especifico.

Ahora ponemos la ruta de la carpeta que deseamos compartir en nuestro sitio FTP en este caso la llamaremos drupal

Page 70: Guia2 Servicio Linux y Windows

Aquí damos los respectivos permisos en este caso solo lectura

Aquí ya nos aparece nuestro sitio ftp detenido ahora vamos a iniciarlo

Page 71: Guia2 Servicio Linux y Windows

Ahora verificamos los permisos de los usuarios para este sitio ftp en este caso con el usuario juan

Page 72: Guia2 Servicio Linux y Windows

Ahora debemos habilitar la autenticación básica para que el usuario se pueda loguear

Page 73: Guia2 Servicio Linux y Windows

Miramos las propiedades de la carpeta a la cual el usuario va accesar atraves de nuestro sitio FTP

Ingresamos ftp://192.168.1.4

Page 74: Guia2 Servicio Linux y Windows

Listo ya podremos poder visualizar los archivos y descargarlos.

CONFIGURACIÓN DE UN SERVIDOR SSH EN WINDOWS SERVER

INTRODUCCIÓN

Servidor SSH

Secure Shell (SSH, intérprete de comandos seguro).

El servicio SSH es un protocolo de comunicación para controlar un ordenador remotamente.

Es parecido a Telnet, con la gran diferencia de que en el caso de Ssh, la información viaja codificada con lo cual es muchísimo más segura,

Para conectarnos con un servidor SSH remoto desde Windows, tenemos un cliente por defecto. Ingresamos con un nombre y una contraseña la cual Sabemos que estamos conectados porque el prompt cambia y aparece en lugar del nombre de nuestro host el nombre del host remoto.

Instalacion y configuracion de SSH

Para la instalación y configuración del servidor SSH en Windows-server 2008 debemos instalar el siguiente paquete y después le asignamos la ruta específica y le damos siguiente hasta instalar el servicio.

freeSSHd SSH/Telnet server

Page 75: Guia2 Servicio Linux y Windows
Page 76: Guia2 Servicio Linux y Windows

Al salir la ventanita de freeSSHd el cual nos dice que si quieres correr freeSSHd como un servicio del sistema le damos la opción si, ya que este nos quedara situado en nuestro sistema.

Page 77: Guia2 Servicio Linux y Windows

El siguiente paso después de haber instalado el servicio freeSSHd, es agregar los usuarios.

Para añadir un nuevo usuario, nos dirigimos a la pestaña Usuarios y clic en aplicar.

Creamos varias entradas de cuentas las cuales vamos a utilizar en Windows, asignamos una contraseña a cada uno de los usuarios registrados en la base de datos FreeSSHd. Ejemplos:

Login: lared

Password: *****

Password: *****

Authorization: password stored as SHA1 hash

(Contraseña de autorización almacena como hash SHA1)

Hacemos lo mismo con cada uno de los demas usuarios

Page 78: Guia2 Servicio Linux y Windows

Login: wwwgalileo

Password: *****

Password: *****

Authorization: password stored as SHA1 hash

(Contraseña de autorización almacena como hash SHA1)

Login: secgalileo

Password: *****

Password: *****

Page 79: Guia2 Servicio Linux y Windows

Authorization: password stored as SHA1 hash

(Contraseña de autorización almacena como hash SHA1)

Login: wwwvoyager

Password: *****

Password: *****

Authorization: password stored as SHA1 hash

(Contraseña de autorización almacena como hash SHA1)

Page 80: Guia2 Servicio Linux y Windows

Login: confvoyager

Password: *****

Password: *****

Authorization: password stored as SHA1 hash

(Contraseña de autorización almacena como hash SHA1)

Como podemos observar en la imagen nos muestran todos los usuarios que fueron creados, los cuales fueron:

lared

wwwgalileo

secgalileo

wwwvoyager

confvoyager

Page 81: Guia2 Servicio Linux y Windows

El siguiente paso es Tomar los valores por defecto para permitir la conexión, aplicar esto a todos los ámbitos, y darle la regla de un nombre de su elección.

En el siguiente paso nos muestra una ventanita que nos dice que la configuración del servidor SSH está funcionando, y que si no hay usuarios en línea haga clic en stop para detenerlo.

Page 82: Guia2 Servicio Linux y Windows

Para comprobar si el servidor SSH si nos funciona como corresponde configuramos las Opciones básicas para la sesión PuTTY (Implementación libre de Telnet y SSH ), seguido de la dirección ip (172.16.0.3) y del puerto (22).

Iniciar una sesión SSH usando el nombre de usuario y contraseña, Al preparar la conexión de la opción (PuTTY),se abrirá la ventana del terminal. Introducir el nombre de usuario seguido del password, Si el nombre de usuario y password son correctos podrá iniciar la sesión SSH de la siguiente forma:

login as: lared

[email protected] password *****

Page 83: Guia2 Servicio Linux y Windows

(Bienvenidos a la red)

Nos dirigimos al servidor cliente para comprobar si el servicio SSH si nos funciona correctamente.

Lo primero que hay que hacer es mirar que nuestro cliente este corriendo por Red interna para su verificación.

Page 84: Guia2 Servicio Linux y Windows

Abrimos la terminal y observamos la ip de ese servidor cliente con el siguiente comando verificamos:

ipconfig

En la imagen siguiente nos muestra la configuración completa de nuestro administrador del sistema.

Page 85: Guia2 Servicio Linux y Windows

CONFIGURACIÓN DE TELNET EN WINDOWS SERVER

Telnet no está habilitado de forma predeterminada en Windows Server 2008. Sin embargo, el cliente Telnet es una característica incluida con Microsoft Windows Server 2008 y Windows Vista. En Windows Server 2008, puede instalar el cliente Telnet utilizando el Asistente para Añadir funciones en el Administrador de servidores.

El cliente telnet nos permite conectarnos a un servidor de telnet remoto y ejecutar aplicaciones y utilizar los recursos del mismo. En mi caso me es de gran ayuda para comprobar si un puerto o servicio esta activo o tiene habilitado trafico desde mi red.

La primera vez que se intenta ejecutar el comando telnet en una pc con Windows 2008/Vista o Windows 7 falla, ya que los sistemas nos informan que la instruccion de telnet no es reconocida como un comando.

Procedimiento para habilitar Telnet en Windows 2008

Empezamos por hacer clic en el boton de Inicio:

1. Inicio > Administrador del Servidor2. Del panel izquierdo ingresamos en Caracteristicas3. Agregar caracteristicas, y del listado de caracteristicas disponibles buscamos Cliente

Telnet y hacemos clic en Siguiente y procedemos a instalar4. Al terminar la instalacion existosamente cerrarmos la ventana

Ahora desde una linea de comandos ejecutamos telnet

C:UsersAdministrador> telnet servidor puerto

Como pueden ver el programa telnet ya es reconocido por Windows Server 2008.

Page 86: Guia2 Servicio Linux y Windows

Glosario

BIND (Berkeley Internet Name Domain, anteriormente: Berkeley Internet Name Daemon)

Es el servidor de DNS más comúnmente usado en Internet, especialmente en sistemas Unix, en los cuales es un Estándar de facto. Es patrocinado por la Internet SystemsConsortium. BIND fue creado originalmente por cuatro estudiantes de grado en la University of California, Berkeley y liberado por primera vez en el 4.3BSD. Paul Vixie comenzó a mantenerlo en 1988 mientras trabajaba para la DEC.

Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes anteriormente para auditar el código en las primeras versiones de BIND, y también para incorporar DNSSEC (DNS Security Extensions). BIND 9 incluye entre otras características importantes: TSIG, notificación DNS, nsupdate, IPv6, rndcflush, vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad. Es comúnmente usado en sistemas GNU/Linux.

Actualmente todas las versiones mas antiguas de bind contienen un error de seguridad, debe actualizarse a la última.

LDAP ("LightweightDirectory Access Protocol"), Protocolo de Acceso Ligero a Directorios.

Es un protocolo de tipo cliente-servidor para acceder a un servicio de directorio. Este se encuentra condensado en el estándar de Internet, el RFC 1777.

¿Como funciona este servicio?

El cliente se conecta a los servidores y les formula preguntas. Los servidores responden con una respuesta o con un puntero donde el cliente puede obtener información adicional (normalmente otro servidor LDAP). No importa a que servidor LDAP se conecte un cliente, este siempre obtendrá la misma visión del directorio.

Postfix

Es un Agente de Transporte de Correo (MTA) de código abierto, o lo que es lo mismo, un programa informático para el enrutamiento y envío de correo electrónico.

Fue creado como alternativa a Sendmail, buscando un servidor que fuera más rápido, fácil de administrar y seguro.

Postfix es de hecho, el MTA que se usa por defecto en muchos sistemas operativos derivados de UNIX, entre ellos, GNU/Linux.

Page 87: Guia2 Servicio Linux y Windows

Se distribuye bajo Licencia Pública IBM v.1.0, que a pesar de ser una licencia de software libre, resulta incompatible con la Licencia GPL (aunque sí lo sea con GPL v1.0).

Fue desarrollado por WietseVenema durante una estancia en el Centro de Investigación Thomas J. Watson de IBM y fue conocido con el nombre de VMailer e IBM Secure Mailer, siendo distribuido al gran público por primera vez a mediados de 1999. Desde entonces sigue en proceso de desarrollo y mejora de una forma activa.

Las principales características de Postfix son:

Soporte para TLS (TransportLayer Security).

Soporte para distintas bases de datos LDAP, MySQL, PostgreSQL.

Soporte para mbox, maildir y dominios virtuales.

SMTP-AUTH, SASL y reescritura de dirección.

Soporte para Milter

Capacidad de manejar altos volúmenes de correo.

Dovecot

Es un servidor de IMAP y POP3 de código abierto para sistemas GNU/Linux / UNIX-like, escrito fundamentalmente pensando en seguridad. Desarrollado por Timo Sirainen, Dovecot fue liberado por primera vez en julio del año 2002. Dovecot apunta fundamentalmente a ser un servidor de correo de código abierto ligero, rápido, fácil de instalar y por sobre todo seguro.

Características

Dovecot puede trabajar con el estándar mbox, Maildir y sus propios formatos nativos dbox de alto desempeño. Es completamente compatible con implementaciones de servidores UW IMAP y Courier IMAP, así como con clientes que accedan directamente a los buzones de correo.

Dovecot también incluye un Agente de Entrega de Correo (llamado Local DeliveryAgent (agente de entrega local o LDA en la documentación de Dovecot) con un filtro de apoyo Sieve opcional.

SquirrelMail

Es una aplicación webmail creada por Nathan y LukeEhresman y escrita en PHP. Puede ser instalado en la mayoría de servidores web siempre y cuando éste soporte PHP y el servidor web tenga acceso a un servidor IMAP y a otro SMTP.

Page 88: Guia2 Servicio Linux y Windows

SquirrelMail sigue el standard HTML 4.0 para su presentación, haciéndolo compatible con la mayoría de servidores web. SquirrelMail está diseñado para trabajar con plugins, lo cual hace más llevadera la tarea de agregar nuevas características entorno al núcleo de la aplicación.

Licenciada bajo la GNU General PublicLicense, Squirrelmail es software libre. Actualmente está disponible en más de 40 lenguajes.

OpenVPN

Es una solución de conectividad basada en software: SSL (Secure Sockets Layer) VPN Virtual Private Network (red virtual privada), OpenVPN ofrece conectividad punto-a-punto con validación jerárquica de usuarios y host conectados remotamente, resulta una muy buena opción en tecnologías Wi-Fi (redes inalámbricas EEI 802.11) y soporta una amplia configuración, entre ellas balanceo de cargas. Está publicado bajo la licencia GPL, de software libre.

IPsec

Seguridad del protocolo Internet (IPSec) es un conjunto de protocolos para asegurar Protocolo de Internet (IP) de las comunicaciones por la autenticación y el cifrado de cada paquete IP de una sesión de comunicación. IPsec también incluye protocolos para establecer la autenticación mutua entre los agentes en el inicio de la sesión y la negociación de claves criptográficas que se utilizarán durante la sesión.

IPsec es un operativo de seguridad de extremo a extremo en el esquema de capa de Internet del conjunto de protocolos de Internet . Puede ser utilizado en la protección de los flujos de datos entre un par de anfitriones (host-to-host), entre un par de gateways de seguridad (de red-a-red), o entre un gateway de seguridad y una gran cantidad (red-a-host)

Common Unix PrintingSystem

Common Unix PrintingSystem (Sistema de impresión común de Unix, abreviado CUPS) es un sistema de impresión modular para sistemas operativos de tipo Unix que permite que un computador actúe como servidor de impresión. Un computador que ejecuta CUPS actúa como un servidor que puede aceptar tareas de impresión desde otros computadores clientes, los procesa y los envía al servidor de impresión apropiado.

CUPS está compuesto por una cola de impresión con su planificador, un sistema de filtros que convierte datos para imprimir hacia formatos que la impresora conozca, y un sistema de soporte que envía los datos al dispositivo de impresión. CUPS utiliza el protocolo IPP (Internet PrintingProtocol) como base para el manejo de tareas de impresión y de colas de impresión. También provee los comandos tradicionales de línea de comandos de impresión de los sistemas Unix, junto a un soporte limitado de operaciones bajo el protocolo server

Page 89: Guia2 Servicio Linux y Windows

messageblock (SMB). Los controladores de dipositivos de impresión que CUPS provee pueden ser configurados utilizando archivos de texto con formato PostScript PrinterDescription (PPD) de Adobe Systems. Existen varias interfaces de usuario para diferentes plataformas para configurar CUPS; cuenta también con una interfaz como aplicación Web. CUPS es software libre y se distribuye bajo licencia GNU General PublicLicense y GNU Lesser General PublicLicense, versión 2.

Bibliografía

http://es.wikipedia.org/wiki/BIND

http://www.linuxparatodos.net/portal/staticpages/index.php?page=servidor-ldap

http://doc.ubuntu-es.org/Postfix

http://es.wikipedia.org/wiki/Dovecot