Beruflich Dokumente
Kultur Dokumente
IP:10.100.6.215 /24
GW:10.100.6.254
DNS:10.50.1.16
Nombre Host: Educnet-Clon
vi /etc/resolv.conf
nombre de host
#vi /etc/hosts
ponemos:
Luego editamos /etc/host.conf, verificando que se encuentre hosts, antes que bind
#vi /etc/host.conf
hosts
bind
dns
Luego editamos /etc/rc.conf, que es el archivo que guarda la configuracin con que
arranca el equipo. configurando:
#vi /etc/rc.conf
ifconfig_fxp0="inet 10.100.6.215 netmask 255.255.255.0"
defaultrouter="10.100.6.254"
hostname="educnet-clon.decom-uv.cl"
nota: para nuestro siguiente acceso al sistema, deberia aparecernos en el promt:
educnet-clon#
1
Creacin y portabilidad de jaulas
Entramos a /usr/ports/java/diablo-jre13
Deben existir los siguientes directorios:
Makefile
distinfo
files
pkg-descr
pkg-plist
Nota: nos damos cuenta que la versin de diablo con la que cuenta nuestro sistema corresponde
a la 1.3, lo cual es demasiado antigua, es necesario adems de actualizar la lista de
vulnerabilidades, actualizar nuestra lista de puertos (ports).
Entrar a /usr/ports/security/portaudit
2
Creacin y portabilidad de jaulas
Ejecutar
#make
y luego
#makeinstall
Antes de empezar a instalar los servicios se debe tener los Ports actualizados, estos se
pueden descargar de la siguiente direccin ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/
Una vez bajados los Ports se pueden dejar en un directorio como ports2 o renombrar el directorio
original como ports.ori y el original se deja como ports, eso a gusto de la persona, lo importante es
realizar la actualizacin desde los ports descargados y no los que trae. En este caso se utilizo el
ports2
cd /ports2/port/shells/bash
make
make install
3
Creacin y portabilidad de jaulas
/etc/rc.d/sshd star
4.3.- En caso de no partir ssh, debera agregar estas lnea de cdigo al archivo
etc/ssh/sshd_config
IgnoreRhosts yes
RhostsRSAAuthentication no
RhostsAuthentication no
IgnoreUserKnownHosts no
PrintMotd yes
StrictModes yes
RSAAuthentication yes
PermitRootLogin yes
PermitEmptyPasswords no
PasswordAuthentication yes
Uno de los problemas que se pueden presentar posterior a la instalacin por ssh, es que al
servidor donde intentamos acceder haya generado nuevamente las claves (trabaja con claves
publicas y privadas), es decir, se haya desinstalado ssh y luego instalado.
4
Creacin y portabilidad de jaulas
69:ca:9d:10:03:c9:20:ba:a7:dc:46:d4:b7:7c:e5:44.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:7
DSA host key for 192.168.20.6 has changed and you have requested strict checking.
Host key verification failed.
En este caso se borra .ssh/known_hosts. Y se volver a poder entrar por ssh desde esta cuenta.
Este problema se puede presentar en cualquier cuenta de usuario que se tenga en la mquina por
ejemplo puede darse con /home/1998/mferrand/.ssh/known_hosts.
Cabe sealas que el problema es de una cuenta en especfico y no de TODAS las cuentas, esto
fue probado entrando con otra cuenta mientras persista el problema desde root y mferrand que
se encontraban en la mquina desde donde se quera acceder al servidor
Este problema se presenta cuando se tienen servidores virtuales y ocurre cuando las interfaces de
los servidores virtuales (Jails) son cambiadas, entiendase por interfaces los alias que utilizan para
identifarse las distintas jaulas. El problema tiene relacin con lo mismo explicado anteriormente, y
se soluciona desinstalando (parando ssh y comenarlo de rc.conf) ssh y luego instalndolo para
que se generen las llaves pblicas y privadas nuevamente, en caso que no se pueda ingresar una
de las posibilidades es que pase lo sealado en el parrafo anterior, es decir, la cuenta del servidor
desde donde se est accediendo mantenga las llaves (publicas y privadas) antiguas.
5
Creacin y portabilidad de jaulas
Configuracin de Jaulas en
FreeBSD
Es necesario revisar los demonios que se encuentran escuchando cualquier direccin ip del
sistema. Esto se realiza con el comando sockstat l4 con lo que se obtiene el siguiente resultado
Ac se puede apreciar que los demonios sshd y syslog se encuentran escuchando en cualquier
direccin IP (asterisco en el campo LOCAL ADDRESS), a diferencia de sendmail que lo hace en
la direccin de loopbak
setenv D /usr/jails/baseJail
cd /usr/src
6
Creacin y portabilidad de jaulas
mkdir p $D
make world DESTDIR=$D
cd etc
make distribution DESTDIR=$D
Con lo anterior se consigue poblar el directorio /usr/jails/baseJail con una estructura de archivo
similar al sistema base, es decir, dentro de este directorio existen los directorios /bin, /etc y /var,
entre otros.
En la url ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/
Se pueden descargar los ports actualizados, estos ports se dejan en el directorio /root de la
mquina y luego son descargados por las distintas jaulas, como es sealado en el punto 8
7
Creacin y portabilidad de jaulas
Primero se saca del jail_list, luego se comenta o elimina todo lo relacionado con la jaula que se
desea borrar, luego se aplican los siguientes comandos
# cd /usr/jails/my_jail
# chflags -R noschg *
# rm -rf *
En rc.conf debe tener la siguiente estructura para que la jaula pueda partir
8
Creacin y portabilidad de jaulas
Observacin: En este caso se tuvo que cambiar el nombre del directorio de la jaula, que
actualmente aparece como Jail1 (en la cuarta lnea) pero este directorio se llamaba NewJail, al
llamarse de esta forma la jaula no iniciaba al reiniciar el servidor
scox07# jls
JID IP Address Hostname Path
3 10.100.6.182 jail3 /usr/jails/jail3
2 10.100.6.181 jail2 /usr/jails/jail2
1 10.100.6.171 jail1 /usr/jails/jail1
9
Creacin y portabilidad de jaulas
Estas jaulas aparecen creadas unas vez que estn agregados los parmetros anteriormente
descritos en el rc.conf de la mquina
Se utiliza el shell csh para que los comandos sea reconocido por la mquina
OBS: Los Ports que se pasan a las dems jaulas son ports limpios son los que se descargan
desde internet, ya que al instalar el FreeBSD en el server no se instalan los ports.
Primero se dejan los ltimos ports en el directorio /root luego posicionndome dentro del directorio
usr de la jaula descomprimo los ports, esto se realiza para cada una de las jaulas.
scox07# cd /usr/jails/jail1/usr/
scox07# gzip -dc /root/ports.tar.gz | tar -xvf
Las jaulas por default no aceptan ping por lo que hay que activar esta opcin, se realiza con el
siguiente comando
10
Creacin y portabilidad de jaulas
kill KILL -1
En /var/run el archivo jail_jail20.id se elimina con rm para matar por completo el proceso de la
jaula y luego se puede volver a activar nuevamente la jaula con
Para que las jaulas puedan navegar es necesario crear el archivo resolv.conf, ya que este no se
encuentra creado, por lo que las jaulas no cuentan a la hora de ser creadas con un dns
vi /etc/resolv.conf
nameserver 10.50.1.16
---------------------------------------------------------------------------------------------------------------------
11
Creacin y portabilidad de jaulas
Una vez bajados los Ports se pueden dejar en un directorio como ports2 o renombrar el directorio
original como ports.ori y el original se deja como ports, eso a gusto de la persona, lo importante es
realizar la actualizacin desde los ports descargados y no los que trae. En este caso se utilizo el
ports2
cd /ports2/port/shells/bash
make
make install
4.3.- En caso de no partir ssh, debera agregar estas lnea de cdigo al archivo
etc/ssh/sshd_config
IgnoreRhosts yes
RhostsRSAAuthentication no
RhostsAuthentication no
IgnoreUserKnownHosts no
PrintMotd yes
StrictModes yes
RSAAuthentication yes
PermitRootLogin yes
PermitEmptyPasswords no
PasswordAuthentication yes
12
Creacin y portabilidad de jaulas
Al ejecutar apache apachectl start, es posible que el comando no sea reconocido por lo que
habr que salir de ese Prom. con exit y luego ejecutar apachectl Stara
Para que el comando que viene a continuacin pueda ejecutarse se ingresa por el shell tcsh
#apachectl start
Al instalar PHP5 con Apache13 debo instalar otras aplicaciones como php5-mysql y php5-
extensions, todas estas instalaciones quedarn descritas en esta seccin
cd /usr/ports/lang/php5
make install clean
13
Creacin y portabilidad de jaulas
##Este paso de comprobacin de php se puede omitir, o realizar una vez instaladas las
otras aplicaciones como php5-extensions y php5-mysql#############
> Para probar php5 agregamos una pgina hecha en php en el directorio
/usr/local/www/data (para este caso debera agregarse en la jaula que se est instalando)
Dentro del directorio data agregamos una pgina pruebaphp.php
AddModule mod_php5.c
Luego se reinicia apache (apachectl restart) y al ingresar a la ip del servidor deber aparecer la
pgina de PHP PHP Version 5.
cd /usr/ports/lang/php5-extensions
make config
Ac aparecern una serie de opciones que solo algunas se debern marcar adems de dejar las
que aparecen por default, las opciones a marcar son las siguientes (estas aparecern en una
pantalla azul)
select type, curl, dom, gd, imap, mbstring, mcrypyt, mysql, mysqli, pcre, posix, session,
simplexml, xml, xmlreader, xmlwriter, zlib
make install
make clean
14
Creacin y portabilidad de jaulas
cd /usr/local/etc
cp php.ini-recommended php.ini
Ac se da el soporte de mysql en PHP, se produce la conexin entre ambas aplicaciones, para ver
si tengo instalado php5-mysql realizo el siguiente comando
Si el commando arroja algn resultado quiere decir que la aplicacin est instalada, en caso
contrario (de no arrojar nada) hay que instalarla.
cd /usr/ports/database/php5-mysql
make
make install
make clean
Observacin: Es probable que no inicie php5 por lo que hay que meterse al archivo
vi /usr/local/etc/apache/httpd.conf y cambiar todos lod php4 por php5
The MySQL database server can be installed with the following commands
# cd /usr/ports/databases/mysql41-server
# make install
A start up script is installed to /usr/local/etc/rc.d and the databases are stored in /var/db/mysql
15
Creacin y portabilidad de jaulas
Starting MySQL
/etc/rc.conf must contain the following line to allow the MySQL server to start
mysql_enable="YES"
Once this line is there you can run the start up script with
# sh /usr/local/etc/rc.d/mysql-server.sh start
After MySQL has start you need to set passwords on both root accounts and the two anonymous
accounts. By default these are left blank and give full access to the database server to anyone.
To set a password on the anonymous accounts use
# mysql -u root
# SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');
# SET PASSWORD FOR ''@'host_name' = PASSWORD('newpwd');
Luego de haber sido creado, dar privilegios de usuario con los siguientes comandos:
16
Creacin y portabilidad de jaulas
3. Quitar privilegios:
17
Creacin y portabilidad de jaulas
Ya
tenem
os
instalado nuestro nuevo Shell.
18
Creacin y portabilidad de jaulas
Una ves hecho esto se debe crear un usuario, de preferencia con un nombre alusivo al
sitio web, en este caso lo llamaremos test1. Es importante que la creacin de este usuario
sea bajo un temple, el cual se encuentra en la siguiente direccin.
[root@hosting ~]# cd /usr/local/share/examples/scponly
[root@hosting /usr/local/share/examples/scponly]# sh setup_chroot.sh
Al ejecutarse el ltimo comando, se empezara la creacin del nuevo usuario.
La creacin se muestra hosting# sh setup_chroot.sh
Next we need to set the home directory for this scponly user.
please note that the user's home directory MUST NOT be writeable
by the scponly user. this is important so that the scponly user
cannot subvert the .ssh configuration parameters.
Your platform (FreeBSD) does not have a platform specific setup script.
This install script will attempt a best guess.
If you perform customizations, please consider sending me your changes.
Look to the templates in build_extras/arch.
- joe at sublimation dot org
19
Creacin y portabilidad de jaulas
Mkdir dev
Cd dev
Touch null
Chmod 0666 null
<VirtualHost>
#ServerAdmin mitchell.ferrand@gmail.com
DocumentRoot /usr/local/www/data/data/test1/www
ServerName test1.uv.cl
ErrorLog var/log/test1_error_log
#CustomLog var/log/test1_log combined
</VirtualHosts>
20
Creacin y portabilidad de jaulas
Tutorial de scpOnly
Uno de los mayores problemas, para los administradores de red esta en dar acceso limitado a los
usuarios de forma segura, esto no siempre es posible, por que por un lado se puede dar acceso
con ftp pero debido a que esta conexin no es encriptada y susceptible a ser interceptada, por otro
lado esta ssh, pero el gran problema es que como sistema puro no entrega limitaciones a los
usuarios y con el acceso a consola las posibilidades de cambiar al sistema son altas.
Para dar solucin a esto se utiliza la shell scponly y mas especficamente scponlyc o sea una shell
que bloquea las capacidades de acceso a consola y al mismo tiempo enjaula al usuario de tal
manera que queda totalmente restringido al acceso entregado por el administrador.
Requisitos
Los requisitos son, primero tener instalado FreeBSD o Linux con acceso a Internet, para nuestro
caso todo el proceso que se describe es para FreeBSD especficamente en la versin 6.2.
recordar que debe estar los ports actualizados y deben seguir los siguientes pasos:
Paso 1
Instalar Openssh-Portable, esto es necesario debido a que la versin que viene con Freebsd
preinstalada no tiene compatibilidad con chroot necesario para el uso de las jaulas, para eso se
realiza
# cd /usr/ports/security/openssh-portable/
# make install clean
21
Creacin y portabilidad de jaulas
Con estas opciones el sh ya se encuentra en condiciones, para permitir chroot, por intermedio de
ssh, posteriormente se debe configurar como cualquier otro ssh (Capitulo de otro tutorial), lo que
se se debe reemplazar del archivo /etc/rc.conf lo siguiente
La linea sshd_enable=YES
Reemplazarla por openssh_enable=YES
Y para levantar ssh es similar a lo que ya conocido para este caso es:
# /usr/local/etc/rc.d/openssh start
Paso 2
Con esto ya se tienen las herramientas necesarias para la utilizacin de usuarios limitados.
Paso 3
Crear un nuevo usuario, para crear este usuario no se debe utilizar el comando adduser, sino que
debe ser utilizado el script que es instalado en conjunto con scponly, este se encuentra en
22
Creacin y portabilidad de jaulas
# cd /usr/local/share/examples/scponly/
# sh setup_chroot.sh
Se deben seguir unos pasos simples que permiten crear el usuario con su jaula, la gran ventaja de
este usuario es que su jaula es totalmente reducida y son obviados todo los elementos no
necesarios.
Una vez creada la base de datos, debemos gestionar los archives de wordpress. El
primero de ellos el el archivo wp_config.php. El cual en un comienzo no existe, por lo
tanto debemos generarlo de una plantilla.
23
Creacin y portabilidad de jaulas
Awstats, abreviatura de Advanced Web Statistics, es una poderosa y completa herramienta que
genera estadsticas grficas avanzadas para sitios web a partir de los logs de Apache. Toda esta
informacin Awstats la transforma en estadsticas y la mejor forma de ver como quedan y tener
estadsticas de nuestro servidor web es comprobarlo instalando Awstats en nuestra mquina.
1.- Instalacin
Para realizar la instalacin lo primero que se debe hacer es ir hasta los ports
24
Creacin y portabilidad de jaulas
# cd /usr/ports/www/awstats
# make
# make install
Despus nos dirigimos al archivo de configuracin y hacemos una copia con el nombre de nuestro
servidor:
# cd /usr/local/www/awstats/cgi-bin/
# cp awstats.model.conf awstats.conf
OBS: Para este caso se usa alumnos como nombre del servidor
2.- Configuracin
Procedemos a editar el archivo de cdonfiguracin que acabamos de crear, con las opciones que
ms no interesen, yo suelo editar las siguientes lineas:
# vi awstats.conf
Las lneas que se encuentran a continuacin estn a lo largo de todo este archivo (no van juntas)
para ahorra espacio y no poner el archivo se escribirn todas juntas
LogFile=var/log/httpd-access.log
Este archivo se saca de la ruta
cd /var/log
ls las //aparecer este archivo httpd-access.log
25
Creacin y portabilidad de jaulas
Entrar a /usr/local/www/awstats/cgi-bin/
Hacer una copia de una ya creada:
#vi awstats.nuevo.uv.cl.conf
Modificar las siguientes lineas:
26
Creacin y portabilidad de jaulas
LogFile : /var/log/nuevo.uv.cl_log
SiteDomain = nuevo.uv.cl
# /usr/local/www/awstats/cgi-bin/awstats.pl update
config=nuevo.uv.cl
Por ltimo, agregarlo en el cron con:
# crontab e
mismo formato
27
Creacin y portabilidad de jaulas
Relacin de confianza
ssh / rsa
1. Ingresar los siguientes comandos para el Serv B en el directorio raz de la cuenta:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Serv A
2. Ingresar los siguientes comandos para el Serv A:
Serv B
28
Creacin y portabilidad de jaulas
4.- Crontab
Una de las necesidades es mantener actualizada toda la informacin que muestra awstats la lnea
perl awstats.pl -config=localhost update, slo permite indexar una actualizacin a los
registros, lo cual causa una serie de problemas, dado que el administrador no puede estar, da a
da actualizando los ingresos, para existe crontab o tareas programadas de unx, para lograr
programar la tarea slo basta con ingresar a crontab por medio de
crontab e
Luego se debe agregar
MAILTO=""
*/30 * * * * /usr/bin/perl /usr/local/www/awstats/cgi-bin/awstats.pl -config=loc
alhost -update >>/dev/null
uno de los mayores problemas de crontab se encuentra en que todos los resultados de los
procesos solicitados se envan a sendmail del usuario, lo cual provoca que la memoria se sature,
por lo tanto es necesario agregar en la cabecera del archivo crontab la lnea MAILTO= que
permita no enviar ningn tipo de mensaje, adems como medida particular se le indica al
comando que todo resultado sea dirigido a /dev/null.
Dirigirse hasta
amp3#cd /usr/share/zoneinfo/America
Luego copiar el archivo Santiago que aparece dentro del directorio America.
29
Creacin y portabilidad de jaulas
amp3# date
Wed Jun 11 14:56:46 CLT 2008
ejemplo
30
Creacin y portabilidad de jaulas
Segundo, se debe editar el archivo rc.conf en el server remoto, e ingresar los datos
de la jaula nueva.
#vi /etc/rc.d/rc.conf
31