05 septiembre 2008

Bloqueo de redes p2p (ipp2p)

matando al burro

software ipp2p
S.O debian4r3

Primero pasos

Descargamos el paquete y lo descomprimimos

# cd /usr/src
# wget http://www.ipp2p.org/downloads/ipp2p-0.8.2.tar.gz
# tar -xvf ipp2p-0.8.2


Instalamos las dependencias necesarias

# apt-get install iptables-dev
# apt-get install linux-kernel-headers
# apt-get install linux-source-2.6.18
# apt-get install build-essential
# apt-get install linux-headers-2.6.18-6-686


Como estamos en /usr/src vamos a descomprimir el kernel-source

# bunzip2 linux-source-2.6.18.tar.bz2
# tar -xvf linux-source-2.6.18.tar


Creamos un enlace simbolico a linux-source-*

# ln -s linux-source-2.6.18/ linux

Ahora solo nos falta saber que version de iptables estamos usando, para tal caso ejecutamos

# iptables --version
iptables v1.3.6

Entonces descargamos las fuentes de esa version de http://www.netfilter.org/projects/iptables/downloads.html

# wget http://www.netfilter.org/projects/iptables/files/iptables-1.3.6.tar.bz2

Descomprimimos

# bunzip2 iptables-1.3.6.tar.bz2
# tar -xvf iptables-1.3.6.tar

Entramos a la carpeta

# cd ipp2p-0.8.2
Editamos el Makefile

# vim Makefile
y cambiamos la siguiente linea

ld -shared -o libipt_ipp2p.so libipt_ipp2p.o
por

$(CC) -shared -o libipt_ipp2p.so libipt_ipp2p.o
Procedemos a compilar

# make
Para terminar, copiamos los siguiente archivos

# cp libipt_ipp2p.so /lib/iptables/
# cp ipt_ipp2p.ko /lib/modules/2.6.18-6-686/kernel/net/ipv4/
# insmod ipt_ipp2p.ko
# depmod -a


Comprobamos si nuestro modulo cargo bien, con

# lsmod
y

# iptables -m ipp2p --help
Por ultimo la regla que colocamos a nuestro iptables-rules seria

En general para todos
-A FORWARD -m ipp2p --ipp2p -j DROP
Para una determinada red en particular
-A FORWARD -s 172.16.5.0/24 -m ipp2p --ipp2p -j DROP

http://tic-rex.com

07 julio 2008

Install Party FISI-UNMSM 2008

Sabado 12 de Julio del 2008 Facultad de Ingeniería de Sistemas e Informática FISI-UNMSM



Comparacion entre GNU/LINUX WINDOWS Y MAC OS

Comparaciones entre WINDOWS, LINUX Y MAC
Que es un Sistema Operativo
Un sistema operativo es un software de sistema, es decir, un conjunto de programas de computadora destinado a permitir una administración eficaz de sus recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la máquina desde los niveles más básicos, permitiendo también la interacción con el usuario.
Un sistema operativo se puede encontrar normalmente en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar, ya que gracias a éstos podemos entender la máquina y que ésta cumpla con sus funciones (teléfonos móviles, reproductores de DVD, autoradios, computadoras, etc.).
http://es.wikipedia.org/wiki/Sistema_operativo


Ventajas Desventajas
GNU/LINUX (Todoterrenos robusto)
  • Potencia, estabilidad, seguridad contra virus y sirve para realizar cualquier trabajo
  • Sus últimas versiones son bastante más amigables y fáciles de usar.
  • El Libre
  • Existen Diferentes distribuciones para cada tipo de usuario.
  • Es Configurable y adaptable al usuario.
  • Código Libre
  • Solución de errores al instante.
  • Soporte para muchas plataforma de hardware.
  • Falta de comodidad, no es tan fácil de usar como los otros dos
  • Se necesitan conocimientos técnicos para realizar algunas tareas
WINDOWS (Utilitario familiar)
  • Fácil utilidad para escribir documentos, navegar por Internet, escuchar música, ver películas, retocar fotografías digitales o disfrutar de los últimos juegos.
  • Windows es fácil de usar y configurar, sin necesidad de poseer conocimientos informáticos avanzados
  • Inestable, ya que los bloqueos y cuelgues son frecuentes (sobre todo en versiones anteriores a XP).
  • Su seguridad también deja mucho que desear, pues existen multitud de virus que aprovechan fallos del sistema para infectar el PC.
  • Es propietario y de Pago.
  • No es adaptable al usuario.
  • Código cerrado (Nunca se sabe lo que sucede dentro del S.O).
  • Solución de errores con mucha demora .
  • Limita la usuario en su configuración.
MAC OS (Deportivo de diseño)
  • Es considerado por muchos expertos el sistema operativo más sencillo de utilizar, más innovador y de estética más cuidada
  • Es en el retoque, la producción y edición de música, fotografías y vídeos donde este sistema tiene su punto fuerte.
  • El número de programas disponibles para esta plataforma (sobre todo, juegos) sigue sin ser tan alto como el de Microsoft.
  • Es de pago y propietario.
OTROS (Solaris, Unix, BSD. etc)

http://revista.consumer.es/web/es/20040601/internet/

http://tic-rex.com

04 julio 2008

mkisofs y cdrecord Para quemas CD/DVD en Consola

Este pequeño tutorial fue probado en CentOS 5 pero funciona para cualquier versión de Linux, al final la consola es igual para todos.

Para quemar en consola, necesitamos contar con una quemadora de CD/DVD, Bastantes CD/DVD donde quemar, lo que queremos quemar y los siguiente programas que instalamos a continuación.

# yum -y install mkisofs cdrecord

Necesitamos crear una .ISO de lo que deseamos quemar. para esto utilizamos el comando mkisofs

# mkisofs -r -l -o imagen_que_quiero_crear.iso /home/data_que_quiero_quemar

Mas o menos nos saldrá la siguiente información

INFO: UTF-8 character encoding detected by locale settings.
Assuming UTF-8 encoded filenames on source filesystem,
use -input-charset to override.
1.98% done, estimate finish Thu Jul 3 10:28:10 2008
3.96% done, estimate finish Thu Jul 3 10:28:10 2008
5.94% done, estimate finish Thu Jul 3 10:28:10 2008
7.92% done, estimate finish Thu Jul 3 10:28:10 2008
9.89% done, estimate finish Thu Jul 3 10:28:10 2008
11.87% done, estimate finish Thu Jul 3 10:28:10 2008
13.85% done, estimate finish Thu Jul 3 10:28:10 2008
15.83% done, estimate finish Thu Jul 3 10:28:10 2008
17.80% done, estimate finish Thu Jul 3 10:28:10 2008
19.79% done, estimate finish Thu Jul 3 10:28:10 2008
21.76% done, estimate finish Thu Jul 3 10:28:10 2008
23.74% done, estimate finish Thu Jul 3 10:28:10 2008
25.72% done, estimate finish Thu Jul 3 10:28:10 2008
27.70% done, estimate finish Thu Jul 3 10:28:10 2008
29.67% done, estimate finish Thu Jul 3 10:28:10 2008
31.66% done, estimate finish Thu Jul 3 10:28:10 2008
33.63% done, estimate finish Thu Jul 3 10:28:10 2008
35.61% done, estimate finish Thu Jul 3 10:28:10 2008
37.59% done, estimate finish Thu Jul 3 10:28:10 2008
39.57% done, estimate finish Thu Jul 3 10:28:10 2008
41.54% done, estimate finish Thu Jul 3 10:28:10 2008
43.52% done, estimate finish Thu Jul 3 10:28:10 2008
45.50% done, estimate finish Thu Jul 3 10:28:10 2008
47.48% done, estimate finish Thu Jul 3 10:28:10 2008
49.46% done, estimate finish Thu Jul 3 10:28:10 2008
51.44% done, estimate finish Thu Jul 3 10:28:10 2008
53.41% done, estimate finish Thu Jul 3 10:28:10 2008
55.39% done, estimate finish Thu Jul 3 10:28:10 2008
57.37% done, estimate finish Thu Jul 3 10:28:10 2008
59.35% done, estimate finish Thu Jul 3 10:28:11 2008
61.33% done, estimate finish Thu Jul 3 10:28:11 2008
63.31% done, estimate finish Thu Jul 3 10:28:11 2008
65.28% done, estimate finish Thu Jul 3 10:28:11 2008
67.26% done, estimate finish Thu Jul 3 10:28:11 2008
69.24% done, estimate finish Thu Jul 3 10:28:11 2008
71.22% done, estimate finish Thu Jul 3 10:28:11 2008
73.20% done, estimate finish Thu Jul 3 10:28:11 2008
75.18% done, estimate finish Thu Jul 3 10:28:11 2008
77.15% done, estimate finish Thu Jul 3 10:28:11 2008
79.13% done, estimate finish Thu Jul 3 10:28:11 2008
81.11% done, estimate finish Thu Jul 3 10:28:11 2008
83.09% done, estimate finish Thu Jul 3 10:28:11 2008
85.06% done, estimate finish Thu Jul 3 10:28:11 2008
87.05% done, estimate finish Thu Jul 3 10:28:11 2008
89.02% done, estimate finish Thu Jul 3 10:28:11 2008
91.00% done, estimate finish Thu Jul 3 10:28:11 2008
92.98% done, estimate finish Thu Jul 3 10:28:11 2008
94.96% done, estimate finish Thu Jul 3 10:28:11 2008
96.93% done, estimate finish Thu Jul 3 10:28:11 2008
98.92% done, estimate finish Thu Jul 3 10:28:11 2008
Total translation table size: 0
Total rockridge attributes bytes: 264
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
252750 extents written (493 MB)


No indica que se ha creado una imagen de 493 MB

Antes de proceder a quemar primero necesitamos identificar el dispositivo (en este caso la quemadora) entonces escaneamos el dispositivo

# cdrecord -scanbus

Linux sg driver version: 3.5.27
Using libscg version 'schily-0.8'.
cdrecord: Warning: using inofficial libscg transport code version (schily - Red Hat-scsi-linux-sg.c-1.83-RH '@(#)scsi-linux-sg.c 1.83 04/05/20 Copyright 1997 J. Schilling').
scsibus4:
4,0,0 400) 'HL-DT-ST' 'DVD-RAM GSA-H55N' '1.02' Removable CD-ROM
4,1,0 401) *
4,2,0 402) *
4,3,0 403) *
4,4,0 404) *
4,5,0 405) *
4,6,0 406) *
4,7,0 407) *


Con esto podemos notar que nuestra quemadora esta identificada en 4,0,0 400) 'HL-DT-ST' 'DVD-RAM GSA-H55N' '1.02' Removable CD-ROM

Procedemos al quemamos, donde en la opción dev=xxx devemos indicar en identificador de nuestra quemadora, que en el paso anterior salio.

# cdrecord -v dev=4,0,0 speed=10 imagen_que_quiero_crear.iso

Using generic SCSI-3/mmc CD-R/CD-RW driver (mmc_cdr).
Driver flags : MMC-3 SWABAUDIO BURNFREE
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R
Drive buf size : 1114112 = 1088 KB
Drive DMA Speed: 129024 kB/s 733x CD 93x DVD
FIFO size : 4194304 = 4096 KB
Track 01: data 493 MB
Total size: 566 MB (56:10.02) = 252752 sectors
Lout start: 567 MB (56:12/02) = 252752 sectors
Current Secsize: 2048
ATIP info from disk:
Indicated writing power: 7
Is not unrestricted
Is not erasable
ATIP start of lead in: -11597 (97:27/28)
ATIP start of lead out: 359849 (79:59/74)
Disk type: Short strategy type (Phthalocyanine or similar)
Manuf. index: 20
Manufacturer: Princo Corporation
Blocks total: 359849 Blocks current: 359849 Blocks remaining: 107097
Starting to write CD/DVD at speed 16 in real TAO mode for single session.
Last chance to quit, starting real write 0 seconds. Operation starts.
Waiting for reader process to fill input buffer ... input buffer ready.
trackno=0
BURN-Free is ON.
Turning BURN-Free off
Performing OPC...
Starting new track at sector: 0
Track 01: 493 of 493 MB written (fifo 100%) [buf 93%] 16.4x.
Track 01: Total bytes read/written: 517632000/517632000 (252750 sectors).
Writing time: 224.775s
Average write speed 15.0x.
Min drive buffer fill was 90%
Fixating...
Fixating time: 18.114s
cdrecord: fifo had 8154 puts and 8154 gets.
cdrecord: fifo was 0 times empty and 8011 times full, min fill was


Esto es todo, expulsamos nuestro cd con eject y listo.

PD: no es necesario ser root para hacer todo estos pasos.

11 junio 2008

ssh con chroot centos 5.1

Referencia: http://www.howtoforge.com/chroot_ssh_sftp_fedora7
Instalación de dependencias.
# yum -y install rpm-build openssl-devel glibc-devel krb5-devel gcc pam-devel

Descargamos el openssh con chroot
# wget http://chrootssh.sourceforge.net/download/openssh-4.5p1-chroot.tar.bz2

Descomprimimos el archivo bz2, los cual no creara un archivo tar
# bunzip2 openssh-4.5p1-chroot.tar.bz2

Desempaquetamos el archivo .tar
# tar -xvf openssh-4.5p1-chroot.tar

Copiamos el archivo openssh.spec a /usr/src/redhat/SPECS/
# cp openssh-4.5p1-chroot/contrib/redhat/openssh.spec /usr/src/redhat/SPECS/

Cambiamos de nombre a la carpeta desempaquetada
# mv openssh-4.5p1-chroot openssh-4.5p1

Comprimimos la carpeta
# tar czvf openssh-4.5p1.tar.gz openssh-4.5p1

Movemos el archivo comprimido a /usr/src/redhat/SOURCES/ y borramos los restos de archivos q no quedaron
# mv openssh-4.5p1.tar.gz /usr/src/redhat/SOURCES/
# rm -rf openssh-4.5p1

Editamos el archivo
# vim /usr/src/redhat/SPECS/openssh.spec

Y agregamos o modificamos las siguientes lineas.
%define no_x11_askpass 1
%define no_gnome_askpass 1

%configure \
--without-zlib-version-check \
--sysconfdir=%{_sysconfdir}/ssh \

Construimos el paquete
# rpmbuild -bb /usr/src/redhat/SPECS/openssh.spec

Nos generada tres paquetes *.rpm los cuales uno es el server y el cliente en la ubicación /usr/src/redhat/RPMS/i386/
# cd /usr/src/redhat/RPMS/i386/

Instalamos los paquetes
# rpm -Uvh openssh-4.5p1-1.i386.rpm openssh-server-4.5p1-1.i386.rpm openssh-clients-4.5p1-1.i386.rpm

Editamos la configuración del yum para que excluya de las actualizaciones el paquete openssh
# vi /etc/yum.conf
#############################
exclude=openssh*
#############################

Eliminamos los paquetes que ya no son necesario
# rpm -e rpm-build openssl-devel glibc-devel krb5-devel gcc pam-devel

Ahora definimos nuestro directorio donde almacenaremos a nuestro usuario chroot. dependiendo de la utilidad que le demos. en mi caso voy a crear en /home la carpeta chroot
# mkdir /home/chroot

Creamos las demas carpetas
# mkdir -p bin lib usr/bin dev etc home
# mknod dev/null c 1 3
# mknod dev/zero c 1 5
# chmod 666 dev/null dev/zero

El presente es un script q nos permitirá copiar lo necesario para nuestro chroot, para utilizarlo creamos un archivo chroot_jail en /usr/bin y copiamos el contenido
#######################
#!/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
APPS="/bin/sh /bin/bash /bin/cp /bin/ls /bin/mkdir /bin/mv /bin/pwd /bin/rm /bin/rmdir /usr/bin/id /usr/bin/ssh /bin/ping /usr/bin/dircolors /bin/vi /usr/bin/sftp /usr/libexec/openssh/sftp-server"

for prog in $APPS; do

mkdir -p ./`dirname $prog` > /dev/null 2>&1
cp $prog ./$prog

# obtain a list of related libraries
ldd $prog > /dev/nullq
if [ "$?" = 0 ] ; then
LIBS=`ldd $prog | awk '{ print $3 }'`

for l in $LIBS; do
mkdir -p ./`dirname $l` > /dev/null 2>&1
cp $l ./$l > /dev/null 2>&1
done

fi
done
##########################

# vi /usr/bin/chroot_jail
Se copia el contenido
# chmod +x /usr/bin/chroot_jail

y ejecutamos escribiendo
# chroot_jail

Ahora terminamos de copiar archivos necesarios para nuestro cchroot

# cp /lib/ld-2.5.so lib/
# cd lib
# ln -s ld-2.5.so ld-linux.so.2
# cd ..

# cp /lib/libnss_compat.so.2 lib/
# cp /lib/libnss_files.so.2 lib/
# cp /lib/libcap.so.1 lib/
# cp /lib/libnss_dns.so.2 lib/

# cp -R /etc/pam.d/ etc/
# cp -R /lib/security/ lib/
# cp -R /etc/security/ etc/
# cp /etc/login.defs /etc/hosts /etc/resolv.conf etc/

Ya por terminar vamos a crear nuestro archivos passwd y group de nuestro chroot
# echo '#!/bin/bash' > usr/bin/groups
# echo "id -Gn" >> usr/bin/groups
# touch etc/passwd
# grep /etc/passwd -e "^root" > etc/passwd
# grep /etc/group -e "^root" -e "^users" > etc/group

Ahora creamos el usuario, asignando el directorio creado
# useradd -s /bin/bash -m -d /home/chroot/./home/testuser -c "testuser" -g users testuser
Le ponemos un password
# passwd testuser

y listo ahora lo podemos probar.

http://tic-rex.com