2009-03-22

Documentos Compartidos VirtualBox

En la PC de mis hermanos les instale una maquina virtual con windows para que tuvieran donde hacer unas cosas que según ellos solo se pueden hacer en win, como por ejemplo el uso de Published, el cual es reemplazado por uno mucho mejor en Linux que se llama Scribus, pero mi hermana no lo pudo manejar bien, el lío se presentaba en que no podía compartir lo que hacia en el win con Ubuntu o no podía leer bien la memoria USB en la maquina virtual.

Por esto me toco ponerme a estudiar bien como se compartían los documentos en la maquina virtual, por lo que lo primero que hice fue actualizar el paquete a la última versión existente, la cual es muy buena para esto, la pueden descargar de acá. Bueno la creación de la maquina y su configuración si la hemos visto antes entonces ese me lo salto, entonces lo primero es colocar la tarjeta de la maquina virtual no como NAT sino como Bridge, o en la misma red, esto se hace colocando las propiedades de red de la maquina de la siguiente forma



Una vez hecho esto entonces en una carpeta que deseemos ver en la maquina virtual le damos click derecho y escogemos Opciones de Compartición, lo cual gráficamente es así






Esto nos abre la siguiente ventana la cual debemos configurar como se ve en la imagen de la derecha









Ahora le diremos a la maquina virtual que tiene un directorio compartido, lo cual es uno de los items de configuración de la misma y que al editarla nos muestra la siguiente imagen

Como se puede apreciar ya aparece compartida el mismo directorio que le dimos permisos,eso lo haces dando click en el icono que tiene un simbolo de mas (+) verde el cual te muestra la siguiente ventana



Configuras el path del directorio y listo. Bueno ahora veremos las configuración que hay que hacer en el win, lo primero es darle una IP estatíca a la tarjeta que este dentro de nuestro mismo rango de red, como se puede apreciar en la siguiente imagen


Ya con esto solo debemos buscar el mis sitios de red la carpeta o el equipo compartido, usualmente no te lo toma de una sino que debes buscar dentro del grupo de trabajo de la maquina y lito ya la puedes ver completa y tener completo control sobre esta.

Como en Win nada funciona del todo bien me toco compartir toda la Unidad C: para que puedan copiar los archivos desde ubuntu a este directorio.

Y como en Ubuntu todo es seguro cuando intentes ingresar al directorio que compariste te pide usuario, ese debe ser root.






Como puedes ver hay ya tiene el acceso a las dos maquinas.

2009-03-17

Instalaciones para novatos

No soy de recomendar paginas pero como este blog se trata de ayudar a la gente principiante en Debian o Ubuntu principalmente, colocare esta entrada de una pagina que me recomendó mi amigo David Davila, la cual es http://appnr.com/

Nos permite con un simple click instalar muchas opciones de aplicaciones que son muy útiles, visualmente se ve así



Espero que les sirva y cualquier agradecimiento se lo envían a David :D

Aseguramiento de SSH

Bueno todos sabemos que Linux por defecto es muy seguro pero no nos podemos confiar de nada día a día salen mas ataques contra todas las distribuciones de Linux debido a que ya tenemos una buena parte del mercado de los servicios, debido a esto hacer mas seguros nuestros sistemas solo depende de nosostros mismos.

Obviamente acá no voy a explicar todo pero vamos a asegurar el que para mi es el servicio primordial de todo administrador, pero a su vez se puede convertir en su peor pesadilla, este es el SSH en anteriores entradas se ha explicado como conectarse por medio de esta para administrar nuestros equipos remotamente y como se debe asegurar que sea con llave cifrada y no con contraseña, este nos evita un ataque por diccionario o por fuerza bruta.

bueno manos a la obra, lo primero es saber cual es el archivo de configuración que vamos a manejar y sacarle su respectiva copia, lo cual haremos así

root@localhost:~#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.tmp

bueno empezaremos a asegurar el servicio paso a paso, por lo que nos pasamos al directorio /etc/ssh, primero que haremos será evitar que se puedan loguear como root, lo cual es fundamental y se debe hacer en ubuntu y en debian, así

root@localhost:/etc/ssh#awk '/^#? *PermitRootLogin/ { print "PermitRootLogin no"; next }; {print}' sshd_config.tmp > sshd_config

Ahora evitaremos que usen contraseña para el login, se debe usar llave cifrada como esta explicado en anteriores entradas del blog, lo cual es fundamental y se debe hacer en ubuntu y en debian, así

root@localhost:/etc/ssh#awk '/^#? *PasswordAuthentication/ { print "PasswordAuthentication no"; next }; {print}' sshd_config.tmp > sshd_config

Ahora evitaremos que se usen contraseñas vacias, si prefieres usaur contraseñas por lo menos que no sean vacias y preferiblemente con un simbolo ("!·$@...) eso aumenta mucho la seguridad, o cual es fundamental y se debe hacer en ubuntu y en debian, así

root@localhost:/etc/ssh#awk '/^#? *PermitEmptyPasswords/ { print "PermitEmptyPasswords no"; next }; {print}' sshd_config.tmp > sshd_config

Ahora evitaremos que en el banner salga información que no se debe publicar como usualmente sale en ubuntu, pero en debian también ocurre asi que es de la siguinete

root@localhost:/etc/ssh#awk '/^#? *Banner/ { print "Banner /etc/issue.net"; next }; {print}' sshd_config.tmp > sshd_config

Ahora miraremos el principal método de seguridad del SSH y es asegurarnos que solo funcione en la versión 2 del protocolo, lo cual se hace así

root@localhost:/etc/ssh#awk '/^#? *Protocol/ { print "Protocol 2"; next }; {print}' sshd_config.tmp > sshd_config

Ahora estos que pasaron son lo principales, pero hay otros que son de mucha ayuda para estar tranquilos habilitarlos y evitarnos lios, estos son asegurarnos que los siguientes valores esten así

X11Forwarding yes
RhostsAuthentication no
RhostsRSAAuthentication no
HostbasedAuthentication no
IgnoreRhosts yes

Bueno con esto tenemos asegurado el SSH, reinicias el servicio y queda asegurado y listo. Como dicen las abuelas "mas vale preveniar que lamentar"

2009-03-05

Administrar Canales con SQUID

Debido a mi trabajo me pusieron a estudiar mucho SQUID lo cual me ha encantado, sigo pensando que el software libre es lo mejor que hay y que con el apoyo de todos demostraremos que nada de lo comercial nos permite hacer ni la mitad de lo que hacemos en el OpenSource, me plantearon el diseño de una red corporativa grande la cual tras el diseño y la segmentación quedo así:


Ahora tenia que garantizar una correcta navegación a las subredes importantes, o sea las que manejan la plata o el core del negocio como le dicen ahora, pero sobre la misma maquina no podía generar enrutamientos por protocolos, la verdad en IPRoute2 no encontré como hacerlo, por lo cual me centre en lo básico que era como controlar la navegación y que me permite eso, nada mas sino un Proxy y para eso nada mejor que squid.

Después de mucho leer y estudiar, encontré una muy buena pagina en Ingles que tiene una descripción de todos los parámetros configurables del SQUID, esta se llama www.squid-cache.org en la sección de documentación encontraras muchas guias.

Para facilidad a la conexión dedicada le vamos a poner la ip 1.1.1.1 y a la publica le vamos a poner 9.9.9.9, entonces ingresamos a la configuración del squid que esta en /etc/squid de la siguiente forma

root@localhost:~#vi /etc/squid/squid.conf

Sobre este buscamos el TAG llamado tcp_outgoing_address, lo cual podemos hacerlo escribiendo lo siguiente

/tcp_outgoing_address

deben ver lo siguiente

# TAG: tcp_outgoing_address
# Allows you to map requests to different outgoing IP addresses
# based on the username or sourceaddress of the user making
# the request.
#
# tcp_outgoing_address ipaddr [[!]aclname] ...
#
# Example where requests from 10.0.0.0/24 will be forwareded
# with source address 10.1.0.1, 10.0.2.0/24 forwarded with
# source address 10.1.0.2 and the rest will be forwarded with
# source address 10.1.0.3.
#
# acl normal_service_net src 10.0.0.0/255.255.255.0
# acl good_service_net src 10.0.1.0/255.255.255.0
# tcp_outgoing_address 10.0.0.1 normal_service_net
# tcp_outgoing_address 10.0.0.2 good_service_net
# tcp_outgoing_address 10.0.0.3
#
# Processing proceeds in the order specified, and stops at first fully
# matching line.
#
#Default:
# none


Hay esta la guia de lo que vamos a hacer, entonces las redes de Gerencia, Juridica, Contabilidad e Ingenieria va a salir por la red dedicada y la red Administrativa y Operativa va asalir por la red publica, entonces para esto vamos a crear las listas de acceso (acl), donde la estructura es:

acl -name- src -ip_red/mask_net-

por lo que quedan así

acl dedicada src 192.168.0.0/29
acl dedicada src 192.168.0.8/29
acl dedicada src 192.168.0.16/28
acl dedicada src 192.168.0.32/27
acl publica src 192.168.0.64/26
acl publica src 192.168.0.128/25

Yo se que para los que saben de redes esto se puede reducir pero para que sea claro lo colocare asi acá. Ahora si creare las reglas de salida para cada una de estas acl, que como pueden ver solo son 2 dedicada y publica y la regla tiene la siguiente estructura

tcp_outgoing_address -ip_salida- -name-

donde el name tiene que ser igual al nombre de cada acl, por lo que queda así

tcp_outgoing_address 1.1.1.1 dedicada
tcp_outgoing_address 9.9.9.9 publica

Y bueno con las demas configuraciones del squid que puedas hacer como puertos como cache y demas que antes fueron explicados acá reinicias el SQUID y listo tienes el tráfico organizado por lo dos canales según las redes origen.