Como bloquear IPs Anti-P2P en Linux (Instalación de Peerguardian en Linux y como configurarlo para que se ejecute al inicio)

Como bloquear IPs Anti-P2P en Linux (Instalación de Peerguardian en Linux y como configurarlo para que se ejecute al inicio)

De todos es sabido la importancia de proteger nuestros de PCs de los continuos intentos de espionaje a los que nos someten la SGAE, ACAM, RIAA, y las multinacionales de la industria del ocio en general.

Hay mucha información por hay sobre como proteger nuestros PCs usando programas como P2Phazard o Peerguardian, pero siempre bajo el SO Windows. Por eso he decidido escribir este post con las instrucciones para proteger un PC con SO Linux usando la versión de Peerguardian para este SO, que dado que aun se encuentra en fase beta no es muy intuitiva ni sencilla de configurar.

============================================================================

-Descarga del programa:

La pagina de Peerguardian la podéis encontrar aquí:http://methlabs.org/, y aquí la sección de Peerguardian para el paquete Debian de Linux: http://forums.phoenixlabs.org/t145-pg15-debian-package.html

Descargamos el paquete deb y lo instalamos escribiendo:

sudo dpkg -i peerguardnf-1.5beta.i386.deb

Ahora ya tenemos Peerguardian instalado en nuestro sistema.

============================================================================

-Hacer que se ejecute y que actualice la lista de IPs bloqueadas al inicio del sistema:

Es importante tener siempre el ordenador protegido, por eso lo mejor es hacer que Peerguardian se ejecute al arrancar el ordenador.

Para ello hacemos lo siguiente:

sudo mkdir /etc/peerguardian

sudo gedit /etc/init.d/peerguardian.sh

y dentro copiamos lo siguiente:

============================================================================

# version for bluetack.co.uk lists!
#!/bin/sh
# Update new blocklists and start/stop/restart PeerGuardian
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# testdescription
#
#CONFIGURATION
# Make sure PG_ETC points to the directory where
# you want to put your downloaded blocklists.
PG_ETC=/etc/peerguardian/
# Remove the lists you don't want to download and
# use from BLOCKLISTS.
BLOCKLISTS="level1"
PG_CONF=/etc/PG.conf
PG_LOG=/var/log/PG.log
PG_LIST=/etc/p2p.p2b.p2p
#The URL where the blocklists reside
URL=http://www.bluetack.co.uk/config
#The format of the lists to download
SUFFIX=gz
#The format after unpacking
SUFFIX2=txt

endscript () {
date +"------------ "%F" "%X" "%Z" End PeerGuardian Script"
exit $1
}
date +"------------ "%F" "%X" "%Z" Begin PeerGuardian $1"

case "$1" in
'start')
cd "$PG_ETC"
# check if blockfiles were updated:
UPDATED=""
for i in $BLOCKLISTS ; do
TIMESTAMP=0
if [ -e $i.$SUFFIX ] ; then
TIMESTAMP=`stat --format=%y $i.$SUFFIX`
echo "File $i.$SUFFIX last updated $TIMESTAMP"
TIMESTAMP=`stat --format=%Y $i.$SUFFIX`
fi
wget -N $URL/$i.$SUFFIX
if [ `stat --format=%Y $i.$SUFFIX` -gt $TIMESTAMP ] ; then
UPDATED=$i
fi
done

# if none of the blockfiles were updated:
if [ -z $UPDATED ] ; then
echo "No blocklists needed updating."
echo "Starting PeerGuardian"
mv $PG_LOG $PG_LOG.backup
peerguardnf -h -m -d -c "$PG_CONF" -l "$PG_LOG"
endscript 0
fi

# if any blockfiles were updated:
for i in $BLOCKLISTS ; do
gunzip -c $i.$SUFFIX > $i.$SUFFIX2
BLOCKLISTSCAT="$BLOCKLISTSCAT $i.$SUFFIX2"
done
cat $BLOCKLISTSCAT | peerguardnf -f merged.p2b.p2p
for i in $BLOCKLISTS ; do
rm $i.$SUFFIX2
done
# uncomment below to unblock Yahoo! Mail and whatever
# else needs unblocking here. Do this also in the
# restart section.
grep -v -i "yahoo\!" merged.p2b.p2p | grep -v -i "Microsoft" | grep -v "Google" > merged.p2b.p2p.tmp
mv merged.p2b.p2p.tmp merged.p2b.p2p
mv $PG_LIST $PG_LIST.backup
mv merged.p2b.p2p $PG_LIST
mv $PG_LOG $PG_LOG.backup
echo "Starting PeerGuardian"
peerguardnf -h -m -d -c "$PG_CONF" -l "$PG_LOG"
endscript 0
;;

'stop')
echo "Stopping PeerGuardian"
killall peerguardnf > /dev/null 2>&1
endscript 0
;;

'restart')
cd "$PG_ETC"
# check if blockfiles were updated:
UPDATED=""
for i in $BLOCKLISTS ; do
TIMESTAMP=0
if [ -e $i.$SUFFIX ] ; then
TIMESTAMP=`stat --format=%y $i.$SUFFIX`
echo "File $i.$SUFFIX last updated $TIMESTAMP"
TIMESTAMP=`stat --format=%Y $i.$SUFFIX`
fi
wget -N $URL/$i.$SUFFIX
if [ `stat --format=%Y $i.$SUFFIX` -gt $TIMESTAMP ] ; then
UPDATED=$i
fi
done

# if none of the blockfiles were updated:
if [ -z $UPDATED ] ; then
echo "No blocklists needed updating."
echo "Stopping PeerGuardian"
killall peerguardnf > /dev/null 2>&1
mv $PG_LOG $PG_LOG.backup
sleep 4
echo "Starting PeerGuardian"
peerguardnf -h -m -d -c "$PG_CONF" -l "$PG_LOG"
endscript 0
fi

# if any blockfiles were updated:
for i in $BLOCKLISTS ; do
gunzip -c $i.$SUFFIX > $i.$SUFFIX2
BLOCKLISTSCAT="$BLOCKLISTSCAT $i.$SUFFIX2"
done
cat $BLOCKLISTSCAT | peerguardnf -f merged.p2b.p2p
for i in $BLOCKLISTS ; do
rm $i.$SUFFIX2
done
# uncomment below to unblock Yahoo! Mail and whatever
# else needs unblocking here. Do this also in the
# restart section.
grep -v -i "yahoo\!" merged.p2b.p2p | grep -v -i "Microsoft" | grep -v "Google" > merged.p2b.p2p.tmp
mv merged.p2b.p2p.tmp merged.p2b.p2p
echo "Stopping PeerGuardian"
killall peerguardnf > /dev/null 2>&1
mv $PG_LIST $PG_LIST.backup
mv merged.p2b.p2p $PG_LIST
mv $PG_LOG $PG_LOG.backup
sleep 4
echo "Starting PeerGuardian"
peerguardnf -h -m -d -c "$PG_CONF" -l "$PG_LOG"
endscript 0
;;

*)
echo "Usage: $0 { start | stop | restart }"
;;
esac
exit 0

============================================================================

y le damos permisos de ejecución.

sudo chmod -c 755 /etc/init.d/peerguardian.sh

Ya esta, ahora lo unico que nos queda es añadirlo al inicio:

sudo update-rc.d peerguardian.sh defaults

Ahora ya se arranca al inicio, pero para pararlo, rearrancarlo,...

sudo peerguardian.sh start

sudo peerguardian.sh restart

sudo peerguardian.sh stop
============================================================================

-Controlar el programa:

Para ver las IPs que bloquea, pararlo, rearrancarlo,... ponemos el comando pgtext en una terminal. Nos aparecerá una ventana que yo creo que no necesita explicación.

============================================================================

saludos

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de wraith

Hola! Ante todo darte las

Hola! Ante todo darte las gracias por el COMO pero tengo un par de dudas

1.-¿donde puedo actualizar la lista de ips?
2.- con el peerguardian no puedo entrar a gaim, me bloquea la conexion completamente, ¿como lo puedo solucionar?

de antemano gracias

Wr4a1th@ubuntu$ /*V1V1eND0 eN BReeZY*/

1- En la pagina de

1- En la pagina http://blocklist.org/ tienes listas de IPs, necesitas las del PeerGuardian 1.x

2- No se porque te pasa eso, yo uso Gaim y no tengo ningun problema. Te recomiendo que preguntes en los foros de Peerguardian Linux: http://methlabs.org/forums/forumdisplay.php?f=49

saludos

Hola. Yo usaba este tipo de

Hola.
Yo usaba este tipo de programas en Windows. He instalado el peerguardian en Ubuntu Hoary y tiene el mismo problema que tenía en Win y es que consume muchísimos recursos. Ojalá saliera algo parecido al P2pFire de Windows. Este programa bloquea que da gusto y consume entre un 0 y un 1% de CPU.

Saludos.

en los mismos foros de

en los mismos foros de methlabs tienes un módulo para el iptables, el ipt_multirange que es mucho más parco en la consumición de recursos

Esa es la solución. Y no instalar un segundo Firewall

Teniendo el IPTables, que además está dentro del núcleo, para que vais a instalar un segundo firewall.
Lo único que hace falta son los listados de IPs a bloquear y alguna forma de pasarselos al IPTables de forma automatizada.

A parte del módulo que comentas para el IPTables, me suena haber visto por Internet varios scripts para hacer esto. No guardé los enlaces. Ya lo siento.

Imagen de adrian47153

Como bloquear IPs Anti-P2P en Linux (Instalación de Peerguardia

GRACIAS, HICE TODO TAL CUAL, ESTAVA CON MUCHO SUEÑO Y REINICIE LA PC Y PUSE UNA TERMINAL pgtext Y APARECIO EL MENU DE Peerguardian. GRACIAS POR ESTE POST... ESPECIALMENTE CUANDO ELIMINE LA PARTION WIN$$ XP. DE NUEVO GRACIAS...adrian47153 LINUX VIVE :x

peerguardian abre puertos ocultos con iptables

Cuaando arranco el demonio de peerguardnf, hago un test para ver los puertos abiertos y veo que todos los puertos que estan escuchando para la red local y ocultos para internet con iptables quedan a la vista para Internet. ¿Se pude controlar esto?

Me pasa lo mismo

Parece como si peerguardian 'anulara' iptables.

Alguien dice "para qué usar dos cortafuegos si puedes usar uno ?" no deja de tener razón, pero qué pasa si el iptables con el kernel que se tiene no soporta iptrange ??

Es decir, se puede hacer que convivan peerguardian e iptables ?

There is no way to OpenSource. OpenSource is the way.

Imagen de P4Cm4n

Y si...

Y con Firestarter¿? se podria tambien¿?¿ puede sonar un poco n00b, pero aunque la consola agiliza muchas tareas me resulta una "vuelta a las cavernas"

Actualizacion

He actualizado bastante el manual. Ahora se inicia de una manera mas "elegante" y ademas actualiza el solo la lista de IPs.

saludos

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.