Академический Документы
Профессиональный Документы
Культура Документы
Red de Servicios
Para la red de servicios se requiere de servidores que puedan ofrecer conexiones seguras a
travs de consolas remotas, acceso web, acceso a archivos y correo electrnico.
Los servicios ofrecidos son los siguientes teniendo en cuenta que para cada servicio se tendrn
que configurar de uno a mas sistemas:
Servicio Secure Shell
Servicio DHCP
Servicio DNS
Servicio Web y Webmail
Servicio FTP
Servicio Correo Electrnico
Servicio comparticin de datos
SSH
DHCPd
Bind
Apache, Squirrelmail
ProFTPd
Exim, SASL, Spamassassin, Courier
Samba, NFS
DHCP range
Static range
Servers range
Gateway address
FQDN intranetwork
192.168.0.1 192.168.0.100
192.168.0.101 192.168.0.240
192.168.0.241 192.168.0.253
192.168.0.254
itel.unefamcy.net
Servidores
Para lograr los objetivos planteados se usaran 2 servidores; uno de comunicaciones, el principal
que marca las pautas de conectividad de los equipos clientes con la red y que adems
contendr los servicios crticos de comunicaciones de la red. Un servidor de datos, secundario
que se encargara en mayor medida para el alojamiento y resguardo de archivos y respaldos.
Los servidores son efectivos mientras mas sencilla sea su interfaz, ligero el arranque del nucleo,
estable los paquetes de software y mejor manejo de los recursos del hardware. Una vez
configurado el acceso remoto no necesitara monitor, teclado o mouse.
Una seleccin acertada es el uso de sistemas operativos especializados en redes de datos, que
sea libre, sencillo y amigable pero a la vez estable, robusto y confiable; una excelente seleccin
un sistema que este basado en UNIX system V. Un sistema libre como GNU/Linux, del cual se
toma en consideracin la distribucin Debian; el cual junto con Slackware y RedHat han
demostrado ser los sistemas mas estables y confiables para la construccin de servidores
fiables para trabajos pesados y de seguridad.
De la distro seleccionada, Debian GNU/Linux se decide utilizar la versin 5.0 Lenny la cual a
probado ser muy ligera adems de estable y amigable para los servidores contemplados para
este proyecto.
Se establecen los parmetros de configuracin para los servidores de la intranet de la
Coordinacin de Ingeniera en Telecomunicaciones como se pueden apreciar a continuacion:
Servidor de comunicaciones:
IP address
Services
comm
comm.itel.unefamcy.net
192.168.0.253/24
SSH, DHCP, DNS, HTTP, HTTPS, FTP, SMTP, IMAP
Servidor de datos:
IP address
Services
data
data.itel.unefamcy.net
192.168.0.252/24
SMB, NFS, FTP
El primer comando carga el prompt de superusuario ejecutando el bash (bourne again shell) con
privilegios de root. El siguiente manda a instalar con apt-get los paquetes mc, zip, unzip y ssh.
Con el tercero manda a editar el archivo de configuracion de bases de datos de repositorios del
sistema. Y con el ultimo se manda a apagar el sistema. Todo esto como si se tratara del root
quien llamara estos comandos.
Con ssh tambin se puede trasladar archivos de un host al server por medio de scp (secure
copy) tal como se indica a continuacin:
lmolina@hostlocal:~$ scp jan2015.tar.gz iadmin@comm:/home/iadmin/temp
iadmin@comm's password:
jan2015.tar.gz
100%
753
0.7KB/s
00:00
lmolina@hostlocal:~$ _
Ahora cuando se manejan archivos comprimidos para la elaboracion de respaldos, lo mas
recomendable es usar el comando tar para comprimir:
iadmin@comm:~$ tar czvf jan2015.tar.gz backup/*
Y para descomprimir:
iadmin@comm:~$ tar xzvf jan2015.tar.gz
Una herramienta que se instalara entre las primeras es el sudo (superuser do):
comm:~# apt-get install sudo
Verificamos con el editor nano la siguiente linea en el archivo /etc/sudoers:
comm:~# nano /etc/sudoers
%sudo
ALL=NOPASSWD: ALL
comm.itel.unefamcy.net:
Servicio Secure Shell (ssh):
Se instala el servicio ssh con la herramienta apt:
comm:~# apt-get install ssh
Una vez instalado se procede a limitar el acceso al root editando el archivo de configuracin del
servicio con el editor nano:
comm:~# nano /etc/ssh/sshd-config
Y se configura el acceso al root como sigue:
PermitRootLogin no
Listo se sale guardando los cambios con ctrl+X y se reinicia el servicio:
/etc/init.d/ssh restart
;
@
@
comm
intratel
webmail
data
SOA
itel.unefamcy.net. root.itel.unefamcy.net. (
1
; Serial
604800
; Refresh
86400
; Retry
2419200
; Expire
86400 )
; Negative Cache TTL
IN
NS
IN
A
IN
A
IN MX 10
IN
A
IN
A
IN
A
comm.
192.168.0.253
192.168.0.253
comm.
192.168.0.253
192.168.0.253
192.168.0.252
IN
SOA
itel.unefamcy.net. root.itel.unefamcy.net. (
1
604800
86400
2419200
604800 )
;
@
IN
NS
comm.
; Serial
; Refresh
; Retry
; Expire
; Negative Cache TTL
253
IN
PTR
comm.
253
IN
PTR
intratel.
253
IN
PTR
webmail.
252
IN
PTR
data.
Seguidamente se asignan las zonas creadas atribuyendo los nobres de cada base de datos a
tal fin en named.conf.local:
comm:~# nano named.conf.local
Cuyo contenido se debe definir dependiendo de los archivos creados:
zone "itel.unefamcy.net" {
type master;
file "/etc/bind/db.itel.unefamcy.net";
allow-transfer { none; };
allow-query { any; };
};
zone "192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
allow-transfer { none; };
allow-query { any; };
};
Seguidamente se configuran las opciones generales del servicio:
comm:~# nano named.conf.options
Donde se definen los siguientes parmetros:
options {
directory "/var/cache/bind";
forwarders {
200.44.32.12;
};
auth-nxdomain no;
listen-on-v6 { any; };
};
IdentLookups
off
ServerName
"comm"
ServerType
standalone
DeferWelcome
off
MultilineRFC2228
on
DefaultServer
on
ShowSymlinks
on
UseIPv6
off
TimeoutNoTransfer
600
TimeoutStalled
600
TimeoutIdle
1200
DisplayLogin
welcome.msg
DisplayChdir
.message true
ListOptions
"-l"
DenyFilter
\*.*/
Port
21
MaxInstances
30
MaxClients
10
MaxClientsPerHost
MaxClientsPerUser
AuthUserFile
"/etc/passwd"
AuthGroupFile
"/etc/group"
DefaultRoot
RequireValidShell
off
User
proftpd
Group
nogroup
Umask
022
AllowOverwrite
on
022
TransferLog
/var/log/proftpd/xferlog
SystemLog
/var/log/proftpd/proftpd.log
<IfModule mod_tls.c>
TLSEngine
off
</IfModule>
<IfModule mod_quotatab.c>
QuotaEngine
on
</IfModule>
<IfModule mod_ratio.c>
Ratios
on
</IfModule>
<IfModule mod_delay.c>
DelayEngine
on
</IfModule>
<IfModule mod_ctrls.c>
ControlsEngine
off
ControlsMaxClients
ControlsLog
/var/log/proftpd/controls.log
ControlsInterval
ControlsSocket
/var/run/proftpd/proftpd.sock
</IfModule>
<IfModule mod_ctrls_admin.c>
AdminControlsEngine
off
</IfModule>
<Directory /*>
Umask
022
AllowOverwrite
on
AllowRetrieveRestart
on
AllowStoreRestart
on
022
<Limit READ>
AllowAll
</Limit>
<Limit WRITE>
AllowAll
</Limit>
<Limit STOR>
AllowAll
</Limit>
</Directory>
Hay que tener en cuenta que el servicio FTP esta directamente enlazado a las labores
del servicio web, lo que lo hace necesario en funcin al contenido que pueda alojar el
servidor web.
DocumentRoot /home/intratel/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/intratel/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
</VirtualHost>
Una vez terminada la edicion y guardado el archivo, nos movemos al directorio hermano de
sitios activos:
comm:~# cd ../sites-enabled
Y se procede a crear el enlace simblico que apunta al archivo de configuracin del sitio recin
creado borrando cualquier enlace que exista anterior al que se va a configurar:
comm:~# ln -s ../sites-available/intratel intratel
comm:~# rm 000-*
Se aade el registro intratel en la base de datos principal del DNS en db.inet.unefamcy.net:
intratel
IN
192.168.0.253
IN
PTR
intratel.
Se reinicia el servicio bind y se procede a aadir un usuario que coincida con el directorio casa
del sitio recien creado; /home/intratel:
comm:~# adduser intratel
Se aaden los datos, contrasea y se procede a agregar al usuario al grupo www-data:
comm:~# adduser intratel www-data
Se elimina todo el contenido del directorio casa de intratel:
comm:~# rm -r /home/intratel/*
Se deshabilita la propiedad de inicio de sesion para el usuario intratel de manera que el
directorio casa de intratel sea solo un contenedor accesible solo por ftp o sftp:
comm:~# usermod -s /bin/false intratel
Una vez llegado hasta aqui se prueba el acceso desde un cliente ftp (yo uso gFTP) contra el
servidor usando el usuario intratel y su contrasea para entrar al contenedor y alojar un archivo
de prueba creado como index.html (en /home/intratel/) que podra contener:
<html>
<head>
<title>Intratel</title>
</head>
<body>
<h1>Pagina de prueba de intratel</h1>
<p>La pagina y el sitio se encuentran en construccion</p>
</body>
</html>
Alojado el archivo de prueba se reinicia el servicio de apache:
/etc/init.d/apache2 restart
Y por ultimo se prueba la carga de la pagina web recin alojada en el servidor desde cualquier
navegador web al alcance (Internet Explorer, Firefox, Iceweasel, Cunaguaro, Chrome, Opera,
etc) de manera que al llamar a intratel, se pueda ver algo parecido a esto:
http://intratel
dc_relay_domains='itel.unefamcy.net'
dc_minimaldns='false'
dc_relay_nets='192.168.0.0/24;127.0.0.1'
dc_smarthost='itel.unefamcy.net'
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname='true'
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'
Sin reiniciar el servicio aun, se procede a instalar el sistema de autenticacin segura sasl con el
servicio saslauthd:
comm:~# apt-get install sasl2-bin libsasl2-modules
Se configura el arranque automtico del servicio:
comm:~# nano /etc/default/saslauthd
Y se configura la siguiente linea:
START=yes
Se reinicia el servicio saslauthd:
/etc/init.d/saslauthd restart
Y volvemos a la configuracin de exim4, pero esta vez de los archivos contenidos en
/etc/exim4/conf.d/ y asumiendo que seguimos posicionados en /etc/exim4/:
comm:~# nano conf.d/main/03_exim4-config_tlsoptions
Donde se aade lo siguiente casi al principio del archivo:
# TLS/SSL configuration for exim as an SMTP server.
# See /usr/share/doc/exim4-base/README.Debian.gz for explanations.
MAIN_TLS_ENABLE = 1
.ifdef MAIN_TLS_ENABLE
Luego se edita el siguiente archivo:
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
.endif
Ahora se genera un certificado de seguridad con lo que quedan creados exim.crt y exim.key
alojados en /etc/exim4/:
comm:~# /usr/share/doc/exim4-base/examples/exim-gencert
Country Code (2 letters) [US]:VE
State or Province Name (full name) []:Aragua
Locality Name (eg, city) []:Maracay
Organization Name (eg, company; recommended) []:UNEFA
Organizational Unit Name (eg, section) []:Coordinacion de Telecom
Server name (eg. ssl.domain.tld; required!) []:comm.itel.unefamcy.net
Email Address []:postmaster@itel.unefamcy.net
Se agrega al usuario Debian-exim al grupo sasl:
comm:~# addgroup Debian-exim sasl
Se reinicia el servicio de correo:
comm:~# update-exim4.conf
comm:~# /etc/init.d/exim4 restart
Se puede realizar una prueba de conexin smtp por telnet con el prompt del usuario iadmin:
iadmin@comm:~$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 comm.inet.unefamcy.net ESMTP Exim 4.69 Tue, 05 Jan 2015 11:42:31
-0430
EHLO comm.inet.unefamcy.net
250-comm.inet.unefamcy.net Hello iadmin at localhost [127.0.0.1]
250-SIZE 52428800
250-PIPELINING
250-AUTH LOGIN
250-STARTTLS
250 HELP
Se puede notar que al escribir EHLO comm.inet.unefamcy.net se obtiene una respuesta donde
las lineas 250-AUTH LOGIN y 250-STARTTLS indican que la autenticacin smtp con TLS esta
funcionando.
Ahora se aade la configuracin que permita el bloqueo de DNS con listas negras:
comm:~# nano conf.d/acl/30_exim4-config_check_rcpt
Se aade las siguientes listas justo despus de aceptar mensajes autenticados:
# Accept if the message arrived over an authenticated connection,
# from any host. Again, these messages are usually from MUAs, so
# recipient verification is omitted,and submission mode is set. And
# again, we do this
check before any black list tests.
accept
authenticated = *
control = submission/sender_retain
# DNS Whitelist
accept
domains = +local_domains
# whitelist only medium and high trust levels
dnslists = list.dnswl.org&0.0.0.2
logwrite = $sender_host_address is whitelisted
# DNS blacklist
drop
Las listas negras usadas aqu son de SpamHaus, Distributed Sender Blackhole (DSBL) y
SORBS, que aunque el equipo no se encuentre en este momento conectado a la red WAN, no
esta de mas dejarlo configurado para evitar futuras sorpresas en caso que en algn momento
se conecten a la internet y no tengan de respaldo una pared de fuego que la proteja. El correo
electrnico rechazado por una lista negra queda registrado en /var/log/exim4/mainlog.
Se reinicia nuevamente el servicio de correo:
comm:~# update-exim4.conf
comm:~# /etc/init.d/exim4 restart
Ahora se instalan los servicios spamassassin y spamc para aadirlo al servicio de correo
electrnico:
comm:~# apt-get install spamassassin spamc
Se configura el arranque automtico de spamassassin:
comm:~# nano /etc/default/spamassassin
Y se configura la siguiente linea:
ENABLED=1
Se reinicia el servicio spamassassin:
/etc/init.d/spamassassin restart
De vuelta a la configuracin de exim4, con los archivos de /etc/exim4/conf.d/ y asumiendo que
seguimos posicionados en /etc/exim4/:
comm:~# nano conf.d/main/02_exim4-config_options
Se descomenta la siguiente linea en el archivo:
spamd_address=127.0.0.1 783
Seguidamente en la siguiente direccin:
comm:~# nano conf.d/acl/40_exim4-config_check_data
Se aaden las siguientes lineas de contenido:
# Put headers in all messages (no matter if spam or not)
warn
spam = nobody:true
add_header = X-Spam_score: $spam_score ($spam_bar)
add_header = X-Spam-report: $spam_report
# Add second subject line with *SPAM* marker when message is over
# threshold.
warn
spam = nobody
add_header = Subject: ***SPAM (score:$spam_score)*** $h_subject:
test iadmin
Con esto se construye un mensaje de texto el cual se direcciona al comando mail cuyo subject
test sera enviado a iadmin. No se especifica el @FQDN al usuario ya que esa funcin le
concierne al mailname previamente configurado. Si se desea ver el movimiento continuo del
servicio se usa el siguiente comando:
comm:~# tail -f /var/log/exim4/mainlog
Con esto la consola queda ocupada mostrado en tiempo real las acciones del servicio de correo
electrnico. Para cerrar el proceso y volver al prompt basta con usar ctrl+C para resolverlo.
Una manera de ver que todo esta funcionando es que las acciones registradas en
/var/log/exim4/mainlog terminen con completed al final o con revisar con la consola el
/home/iadmin/Maildir/cur/ los mensajes de entrada para el usuario iadmin.
continuacin:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName webmail.itel.unefamcy.net
ServerAdmin webmaster@itel.unefamcy.net
DocumentRoot /usr/share/squirrelmail/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /usr/share/squirrelmail/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
</IfModule>
Cambiamos de posicin al directorio hermano sites-enabled para activar el site:
comm:~# cd ../sites-enabled
Aadimos un enlace simbolico al archivo de configuracion ssl recien creado:
comm:~# ln -s ../sites-available/ssl ssl
Se reinicia el servicio web de apache nuevamente:
comm:~# /etc/init.d/apache2 restart
Se aade el registro webmail en la base de datos principal del DNS en db.inet.unefamcy.net:
webmail
IN
192.168.0.253
IN
PTR
webmail.
[logo squirrelmail]
Squirrelmail
Usuario:
Contrasea: