Rincón Informático

Un rincon para hablar sobre GNU/Linux, seguridad informatica, y mas!!

Educaedu: La vidriera virtual de oferta educacional

Posted by Epsilon On agosto - 27 - 2010

El sector de la educación en Colombia ha visto su funcionamiento modificado debido a los avances de la red mundial de información. El aumento del número de personas que busca cursos a través de Internet es tan significativo, que hoy en día la mejor opción para un que un centro de formación de a conocer su oferta educativa es apostar por el mundo online.

Es dentro de este contexto que Educaedu ofrece a los internautas una nueva herramienta online que facilita la comunicación entre las universidades y los usuarios de la Web. El recién lanzado Menú de Centros permite que las propias instituciones de enseñanza suban y administren su oferta de cursos para que estos sean publicados en el portal. Esto les permite tener mayor nivel de autonomía acerca del contenido, así como más eficacia en la promoción de sus nuevos programas para la captación de alumnos.

Con presencia en 20 países (Argentina, Australia, Austria, Brasil, Canadá, Chile, Colombia, Ecuador, España, Estados Unidos, Francia, Alemania, Italia, México, Perú, Polonia, Portugal, Rusia, Turquía y el Reino Unido), Educaedu es el directorio global líder de educación en Internet. Solamente en su versión colombiana, reúne información sobre cerca de 1.800 carreras, 1.700 posgrados, 600 maestrías y más de 1.500 cursos de extensión universitaria y de idiomas, impartidos en 371 diferentes centros de formación.

Cerca de 11 mil colombianos acceden diariamente a la página, que sirve como una herramienta práctica pues pone a disposición del usuario, en un mismo sitio Web, todos los datos necesarios para la elección del curso adecuado para cada perfil.

Invitamos a todos los centros de formacion y a todos los internautas en general,   a que prueben una nueva herramienta online que permite a los centros de formación subir el  contenido de sus carreras y cursos superiores es decir, a probar el primer directorio de educacion en Internet

linux logo1 250x300 Aprenda Linux: Curso de GNU/Linux Para novatos, newbies, principiantes.

Navegando por el foro de La Comunidad DragonJAR, me encontre con un recurso que quizas puede ser muy util para aquellas personas que inician en el maginifico mundo de GNU/Linux.

Se trata de un Curso de GNU/Linux desde cero, es decir, un curso dedicado a todos los usuarios que jamas han tocado un GNU/Linux, usuarios novatos y principiantes, es un documento muy completo  donde se explican todos los pequeños  detalles, explican de forma muy amplia cada concepto.

Por esta razon queria compartir este documento, ya que estoy seguro de que les va ser muy util a todos aquellos novatos  y a quienes apenas estan conociendo un GNU/Linux. Espero que lo lean, y aprendan.

Descargar curso

Nota: Claramente NO soy el autor de este curso, simplemente lo encontre en la web y quise compartirlo. todos los creditos son para el autor.

Ntop: Monitorea el trafico de tu red

Posted by Epsilon On marzo - 12 - 2010

Si alguna vez necesitan  monitorear y analizar el trafico de su red, para identificar algún problema con su ancho de banda,  visualizar estadísticas del trafico, entre otras: Ntop es la herramienta indicada: según la wiki:

TOP (Network TOP) es una herramienta que no puede faltar al administrador de red, porque permite monitorizar en tiempo real los usuarios y aplicaciones que están consumiendo recursos de red en un instante concreto y además es capaz de ayudarnos a la hora de detectar malas configuraciones de algún equipo (esto salta a la vista porque al lado del host sale un banderín amarillo o rojo, dependiendo si es un error leve o grave), o a nivel de servicio. Posee un microservidor web que permite que cualquier usuario, que sepa la clave, pueda ver la salida NTOP de forma remota con cualquier navegador, y además es GNU. El software esta desarrollado para platarfomas Unix y Windows.

Los protocolos que es capaz de monitorizar son: TCP/UDP/ICMP, (R)ARP, IPX, DLC, Decnet, AppleTalk, Netbios, y ya dentro de TCP/UDP es capaz de agruparlos por FTP, HTTP, DNS, Telnet, SMTP/POP/IMAP, SNMP, NFS, X11.

La instalación puede realizarse de formas:

  1. Descargando las fuentes de Ntop e instalando de forma habitual en GNU/Linux:
  2. ./configure
    make
    make install

  3. Usando el gestor de paquetes:

apt-get install ntop graphviz

Después de instalarlo procedemos a configurarlo:

dpkg-reconfigure ntop

Allí debemos seleccionar la interfaz que esta conectada a nuestra red. (Debemos recordar que ntop necesita poner la interfaz en modo promiscuo, para escuchar todo el trafico).

Ahora establecemos la contraseña del usuario de ntop:

ntop –set-admin-password

Solo nos queda iniciar el servicio:

/etc/init.d/ntop start

Por ultimo entramos a la interfaz web de ntop, abrimos un navegador y tecleamos la direccion:

http://127.0.0.1:3000

Como pueden ver la instalación es muy sencilla,  aunque hay que aclarar que esta es una configuracion básica, ya que para notar el total funcionamiento de la aplicacion, necesitamos instalar algunas otras librerías, como MYSQL, openSSL, entre otras. Sin embargo es una buena opción para detectar errores en nuestra red y poder corregirlos a tiempo.

EL NUEVO SISTEMA DE FICHEROS EXT4 EN LINUX

Posted by fortress On febrero - 28 - 2010

Con el rápido crecimiento de la tecnología, todos los días vamos acumulando más y más información en nuestros discos duros (HD) y se va haciendo necesario que esta transferencia de datos ya sea desde internet o desde un disco a otro, sea cada vez más rápida y confiable.

Cuando hablamos de transferencias de datos a través de una red, se hace necesario que esta me garantice cierto nivel de calidad de servicio (QoS) para que mis datos no se vayan a ver corrompidos o que simplemente se vayan a perder en la transferencia. Ahora cuando hablamos de transferencias de datos por ejemplo de un disco duro a otro, también se necesita que haya cierto grado de confiabilidad, pero esto nos lleva a otro punto interesante, y es que cuando empezamos a llenar nuestro HD, este guarda nuestros datos de una forma no consecutiva, provocando el fenómeno de la fragmentación, este fenómeno produce que cuando se quiera acceder a ciertos archivos le tome mucho tiempo cuando el HD se encuentra muy lleno, porque los datos se encuentran dispersos por todo el HD, el fenómeno de la fragmentación ocurre en cualquier tipo de sistema de fichero sea NTFS, FAT, ext2, ext3, etc. Pero lo que diferencia el problema de un sistema a otro es la regularidad con la que sucede.

Ahora hablando más explícitamente del sistema de ficheros de Linux ext3 utiliza un esquema de mapeado de bloques. Un fichero de 100 MB será mapeado en 25.600 bloques de 4 KB cada uno. Cuanto más grande sea el fichero, más bloques serán mapeados, algo que hará el manejo cada vez más lento. Ext4 introduce el concepto de Extent. Un extent es básicamente un conjunto de bloques. En nuestro ejemplo para un fichero de 100 MB, se dirá básicamente «escribe los datos en los próximos n bloques». En lugar de mapear cada bloque individual por separado, Ext4 soportará extents de hasta 128 MB, de forma que para un fichero de un 1 GB, se mapearán 10 extents en lugar de 256.000 bloques. Esto mejora el rendimiento y reduce la fragmentación.

Explicación: En nuestro ejemplo de 100 MB, Ext3 utiliza un alojador de bloques que decide qué bloques libres van a ser utilizados para escribir los datos. Pero el alojador puede trabajar sólo de bloque en bloque, lo que significa que nuestro fichero de 100 MB necesitará 25.600 llamadas al alojador. Ineficiente, ¿no? Resulta aún peor darse cuenta de que el alojador no puede optimizar sus políticas porque en realidad no sabe cuántas veces va a ser llamado. No sabe el tamaño del fichero para el que se le está pidiendo que aloje bloques. 

Algunas de las mejoras que podrás encontrar en este nuevo sistema de ficheros serán relacionadas en la siguiente tabla.

Mejora

Descripción

Sistema de archivos de gran tamaño

El sistema de archivos ext4 es capaz de trabajar con volúmenes de hasta 1 exbibyte y archivos de tamaño de hasta 16 TiB.
Extents Un extent es un conjunto de bloques físicos contiguos, mejorando el rendimiento al trabajar con ficheros de gran tamaño y reduciendo la fragmentación.
Compatibilidad hacia atrás El ext4 es compatible hacia atrás con ext3 y ext2, siendo posible montar sistemas de archivos ext3 y ext2 como ext4.
Asignación persistente de espacio El espacio reservado para estos archivos está garantizado y con mucha probabilidad será contiguo. El llenado con ceros está obsoleto.
Asignación retrasada de espacio El sistema de archivos ext4 retrasa la reserva de bloques de memoria hasta que la información esté a punto de ser escrita en el disco, mejorando el rendimiento y reduciendo la fragmentación al hacer las decisiones de reserva de memoria basada en el tamaño real del archivo.
Límite de subdirectorios superado El número de subdirectorios que un directorio puede contener fue elevado a 64.000.
Journal checksumming Se usa suma de comprobación para el journal de forma que se aumente la confiabilidad, dado que este es el archivo más usado en el disco.
Chequeo del sistema de archivos más rápido En ext4, los grupos de bloques no asignados y secciones de la tabla de inodos están marcados como tales. Esto permite a e2fsck saltárselos completamente en los chequeos y en gran medida reduce el tiempo requerido para chequear un sistema de archivos del tamaño para el que ext4 está preparado.
Asignador multibloque El sistema de archivos ext4 asigna múltiples bloques para un fichero en una sola operación, lo cual reduce la fragmentación al intentar elegir bloques contiguos en el disco.

El popular blog sobre hardware y Linux Phoronix ha ejecutado unas pruebas extensivas sobre el rendimiento de Ext4 contra otros sistemas de ficheros populares como Ext3, XFS, JFS o ReiserFS. El resultado más impresionante se produjo durante la escritura de un fichero de 4 GB, donde Ext4 literalmente borró al resto de sistemas del mapa.

estadisticasw EL NUEVO SISTEMA DE FICHEROS EXT4 EN LINUX

Bueno esto es todo por el momento, en las próximas entradas se hablara de cómo pasarse de ext3 a ext4 sin necesidad de perder los datos, espero y les haya servido y hasta un próximo artículo.

 Fuente

Como dividir un archivo de texto demasiado grande

Posted by Epsilon On enero - 11 - 2010

Algunas veces resulta muy molesto trabajar con archivos  de texto  demasiado grandes, ya que para visualizarlos el sistema debe cargar  el archivo completo en la memoria de nuestra maquina,  si estamos trabajando con archivos  de 10 millones de lineas en adelante,  al abrirlo este consumira demasiada memoria y hará que nuestro sistema colapse por completo.

Para solucionar este incomodo problema, los entornos unix traen una utilidad llamada split, la cual nos ayuda como su nombre lo indica a dividir o partir un archivo de texto el cual sea demasiado grande.

La sintaxis de split es:

split [parámetros opcionales] [archivo de entrada] [archivo de salida]

Entre los parámetros tenemos:

  • -l -> numero de lineas en las que se va a dividir o partir el archivo por defecto son 1000
  • -b -> divide el archivo no por lineas, sino por tamaño (expresado en bits)
  • -b k n -> divide el archivo no por lineas, sino por tamaño (donde n es un multiplo de 1024 bytes)

Después de los parámetros,  le damos el archivo de entrada y un nombre de salida,  hay que aclarar que el archivo de salida tendrá la siguiente notación:

nombrea nombreb nombrec nombred nombree nombref etc……

Algunos ejemplos:

split -l 5000 diccionario.txt parte-

Esta sentencia me arrojara  lo siguiente:

parte-a parte-b parte-c  hasta que el archivo quede completamente dividido-

Algo muy sencillo pero util,  trabajar con backups o archivos de textos que este en el orden de los millones. Por ultimo si alguien posteriormente desea  pegar las partes lo puede hacer muy facilmente usando cat.

cat parte-a parte-b parte-c > todocompleto.txt

Optimizando el servidor Mysql

Posted by Epsilon On enero - 9 - 2010

Trabajando en un proyecto personal (que pronto les contare en que consiste),  me surgió la necesidad de optimizar al máximo el MySQL, es decir, necesitaba configurar el MySQL  de una forma adecuada para que soportara todo el trabajo necesario.  Navegando en la red, me encontré con este articulo,  en el cual nos comparten una configuración óptima para nuestro   MySQL (lo que estábamos buscando).  Implemente este archivo de configuración,  y desde ese momento mi ha mejorado en cuanto a rendimiento, disponibilidad y eficiencia.

Por esta razón comparto el archivo de configuración por si  alguno tiene el mismo problema, en este archivo se hacen modificaciones principalmente, en el tamaño de la memoria,  conexiones concurrentes y otros aspectos:

[mysqld]
 socket=/path/to/mysql.sock
 datadir=/var/lib/mysql
 skip-locking
 skip-innodb
 # MySQL 4.x has query caching available.
 # Enable it for vast improvement and it may be all you need to tweak.
 query_cache_type=1
 query_cache_limit=1M
 query_cache_size=32M
 # max_connections=500
 # Reduced to 200 as memory will not be enough for 500 connections.
 # memory=key_buffer+(sort_buffer_size+read_buffer_size)*max_connections
 # which is now: 64 + (1 + 1) * 200 = 464 MB
 # max_connections = approx. MaxClients setting in httpd.conf file
 # Default set to 100.
 #max_connections=200
 #interactive_timeout=180
 interactive_timeout=100
 #wait_timeout=180
 #wait_timeout=100
 # Reduced wait_timeout to prevent idle clients holding connections.
 #wait_timeout=30
 wait_timeout=15
 connect_timeout=10
 # max_connect_errors is set to 10 by default
 #max_connect_errors=10
 #table_cache=256
 #table_cache=1024
 # Checked opened tables and adjusted accordingly after running for a while.
 table_cache=512
 #tmp_table_size=32M by default
 #thread_cache=128
 # Reduced it to 32 to prevent memory hogging. Also, see notes below.
 thread_cache=32
 # key_buffer=258M
 # Reduced it by checking current size of *.MYI files, see notes below.
 key_buffer=128M
 # Commented out the buffer sizes and keeping the default.
 # sort_buffer_size=2M by default.
 #sort_buffer_size=1M
 # read_buffer_size=128K by default.
 #read_buffer_size=1M
 # read_rnd_buffer_size=256K by default.
 #read_rnd_buffer_size=1M
 # myisam_sort_buffer_size=8M by default.
 #myisam_sort_buffer_size=64M
 # thread_concurrency = 2 * (no. of CPU)
 thread_concurrency=2
 # log slow queries is a must. Many queries that take more than 2 seconds.
 # If so, then your tables need enhancement.
 log_slow_queries=/var/log/mysqld.slow.log
 long_query_time=2
 [mysql.server]
 user=mysql
 basedir=/var/lib
 [safe_mysqld]
 err-log=/var/log/mysqld.log
 pid-file=/var/run/mysqld/mysqld.pid
 open_files_limit=8192

[mysqldump]
 quick
 max_allowed_packet=16M
 [mysql]
 no-auto-rehash
 # Remove the next comment character if you are not familiar with SQL
 #safe-updates
 [isamchk]
 key_buffer=64M
 sort_buffer=64M
 read_buffer=16M
 write_buffer=16M
 [myisamchk]
 key_buffer=64M
 sort_buffer=64M
 read_buffer=16M
 write_buffer=16M
 [mysqlhotcopy]
 interactive-timeout 
 [client]
 socket=/path/to/mysql.sock

Para  aplicar esta configuración,  lo podemos hacer de formas:

  • Abrimos el archivo /etc/mysql/my.cnf borramos todo su contenido y por ultimo pegamos el contenido de esta configuracion. ( No sobra decir que debemos guardar).
  • Por otro lado  podemos borrar el archivo /etc/mysql/my.cnf, descargamos el nuevo archivo desde aca y lo copiamos en la misma ubicacion.

nota: cabe aclarar que no soy un experto en el tema, simplemente doy mis comentarios apartir de la experiencia que tuve usando esta configuracion,   si alguien tiene un archivo my.cnf mas optimizado seria esplendido que lo compartiera con todos nosotros

Para mas informacion pueden ir a este enlace

Usando una imagen ISO como repositorio en Debian

Posted by jhonber On enero - 8 - 2010

Es una pregunta que ya me había hecho hace tiempo, si era posible usar una imagen iso como repositorio y no tener que estar usando los ’s/DVD’s  (Algo muchas veces molesto, más si se trata de ’s).

Pues bueno las ventajas que presenta usar las imágenes iso son bastante claras, ya que no tendremos la necesidad de estar insertando y sacando los ’s/DVD’s de la unidad, a demás de ahorrarnos unos cuantos ’s/DVD’s.

Preparando lo necesario

- Necesitamos un directorio por cada ’s/DVD’s. Podríamos crear una directorio llamado ‘repositorio‘ en /media que contenga a los demás.

# mkdir  /media/repositorio

Ahora dentro de ‘repositorio’ creamos el resto de carpetas donde serán montadas las imágenes iso.

# mkdir  /media/repositorio/[CD1 o DVD1]

# mkdir  /media/repositorio/[CD2 o DVD2]

# mkdir  /media/repositorio/[CDn o DVDn]

En mi caso los directorios quedarían así:

# ls  /media/repositorio

cd1 cd2  cd3  cd4  cd5  cd6  cd7  cd8

- Debemos conocer la ubicación de las imágenes iso (La ubicación realmente no importa).

En mi caso: /media/repositorio-isos

Modificando el archivo fstab

#vim  /etc/fstab

Al final del archivo añadimos los siguiente:

/media/RUTA/IMAGEN1.iso  /media/repositorio/[CD1 o DVD1]  iso9660  loop,user,auto  0  0

Para cada imagen debe haber una línea como esta indicando respectivamente la imagen iso y el directorio donde será montada.

Ejemplo:

#Repositorio imagenes-iso
/media/repositorio-isos/debian-testing-i386--1.iso  /media/repositorio/cd1  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386--2.iso  /media/repositorio/cd2  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386--3.iso  /media/repositorio/cd3  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386--4.iso  /media/repositorio/cd4  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386--5.iso  /media/repositorio/cd5  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386--6.iso  /media/repositorio/cd6  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386--7.iso  /media/repositorio/cd7  iso9660 loop,user,auto  0  0
/media/repositorio-isos/debian-testing-i386--8.iso  /media/repositorio/cd8  iso9660 loop,user,auto  0  0

Modificando el archivo sources.list

Ahora para que apt use las imágenes como repositorio debemos indicar en este archivo donde esta montado cada ’s/DVD’s de nuestro repositorio.

# vim  /etc/apt/sources.list

Agregamos lo siguiente:

deb file:///media/repositorio/[CD1 o DVD1] squeeze main contrib

Cambia ‘squeeze’ por la versión de Debian que uses.

Ejemplo:

#Repositorio imagenes-iso
deb file:///media/repositorio/cd1 squeeze main contrib
deb file:///media/repositorio/cd2 squeeze main contrib
deb file:///media/repositorio/cd3 squeeze main contrib
deb file:///media/repositorio/cd4 squeeze main contrib
deb file:///media/repositorio/cd5 squeeze main contrib
deb file:///media/repositorio/cd6 squeeze main contrib
deb file:///media/repositorio/cd7 squeeze main contrib
deb file:///media/repositorio/cd8 squeeze main contrib
##END

Si no lo has hecho debes montar las imágenes:

# mount  -a

Y por último:

# aptitude  update

A mí me han aparecido varios errores como este, después de actualizar los repositorios:

Err file: squeeze/contrib Packages
Fichero no encontrado

Pero esto no perjudica el funcionamiento correcto de el repositorio.

Compartir este repositorio para toda la red local

Este punto ofrece una utilidad enorme, imagínate actualizar todos los computadores de una red local a través de un solo computador que actúe como del repositorio. Pues es muy sencillo:

Supongamos que con los pasos de arriba configuramos el repositorio y que ese computador será el .

Ip: 192.168.1.1

Nota: Debemos tener configurado un Apache.

En el

Aquí crearemos enlaces simbólicos a cada uno de los directorios en donde se encuentran montadas las imágenes iso. Esto lo hacemos en el directorio /var/www de Apache.

#  /var/www

Cambias si es necesario la ruta del directorio por la tuya.

/var/www# ln  -s  /media/repositorio/cd1

/var/www# ln  -s  /media/repositorio/cd2

Recuerda un enlace por cada directorio.

En los clientes

En cada uno de los clientes debemos modificar el archivo /etc/fstab

#vim  /etc/fstab

Agregamos por cada enlace simbólico una línea como esta:

deb http://192.168.1.1/[NOMBRE_ENLACE] squeeze main contrib

Como puedes ver accedemos al repositorio con la ip del y el nombre del enlace simbólico que apunta a cada una de los directorios donde montamos las imágenes.

Ejemplo

deb http://192.168.1.1/cd1 squeeze main contrib
deb http://192.168.1.1/cd2 squeeze main contrib
deb http://192.168.1.1/cd3 squeeze main contrib

Actualizamos repositorios y listo ;) . Hasta la próxima!!

Siguiendo con los ataques de fuerza bruta. Hemos hablado anteriormente de medusa, la herramienta que nos permite realizar el ataque, sin embargo  hay algo fundamental que  sin el, no seria posible realizar el ataque. ¿Que es?  Si estoy hablando de los .  estos archivos de texto son muy importantes a la hora de  lanzar un ataque de fuerza bruta de este tipo, con un robusto y amplio diccionario muy pocas contraseñas se escaparan, ya que   según las estadísticas  muy pocas personas asignan contraseñas dificiles, mezclando  letras números y caracteres especiales, la mayoría se sienten demasiados seguros con una  palabra en minúsculas como contraseña.

En esta ocasión quiero compartir con ustedes  una recopilacion de en español,  para  realizar los ataques de fuerza bruta. Consta de dos paquetes, a continuación se encuentran los links de descarga:

Parte 1
Parte 2

Cada parte consta de 5 de todos los colores y sabores, espero que les sirvan y los aprovechen y recuerden la regla de oro para un ataque de fuerza bruta con diccionario:

la efectividad de un ataque con diccionario es directamente proporcional al tamaño del diccionario, es decir, entre mas grande sea el diccionario mayor sera la probabilidad de encontrar la contraseña.

SendIP envío arbitrario de paquetes

Posted by mirphak On enero - 5 - 2010

outline sharp SendIP  envío arbitrario de paquetes

SendIP es una herramienta que permite enviar paquetes de red de manera arbitraria creada por el grupo  Project Purple , posee algunas desventajas  (usabilidad, numero de protocolos soportados ..)  frente a otros generadores de paquetes  como scapy ya que oficialmente no ha sido actualizada desde el 2003.

Descargar (gmake && make install) *BSD

Uso:

sendip [-v] [-d data] [-h] [-f datafile] [-p module] [module options] hostname

Más  Aquí

Ejemplo: (while do ; )

sendip -p ipv4  -p tcp -ts r -td 80  192.168.2.1

-p ipv4 =  indica el módulo ipv4  (ip origen random)

-p tcp = protocolo

-ts r = puerto origen (random)

-td = puerto destino

ip destino

Módulos : ipv4 ipv6 icmp tcp udp bgp rip ntp