Datos personales

Mi nombre es Jaime Vélez, soy Ingeniero de Sistemas y aficionado en el uso de Linux, mi distribución favorita es openSUSE , intentare escribir en estas notas configuraciones rápidas de servicios que me han sido útiles tanto en mi hogar, como en el trabajo, espero que le sean útiles a alguien en algún momento.

jueves, 7 de junio de 2007

Configuracion de un proxy casero protector (especial para niños)

Tengo dos pequeñas, la mayor al momento de escribir esta entrada tiene 8 y esta próxima a cumplir 9, como lo único que uso es Linux, me di a la tarea de buscar una forma de limita el acceso a Internet, donde abunda el material obsceno (si me hubieran dicho hace 10 años que eso me iba a preocupar.. no lo hubiese creído) la idea es filtrar el contenido de Internet utilizando dansguardian, este es un excelente filtro de Internet, (aunque el mejor filtro es un padre que esta pendiente de sus hijos).

Por que es importante esta configuración, solo se dispone de un equipo que realizar las tareas de computo del hogar.. y ademas solo tiene Linux

Suposiciones mínimas..
se "supone" que sabes instalar paquetes.. sea vía yast, smart, apt o rpm pelao y raspao
se "supone" que sabes usar un editor, pico nano, emacs, vi, kate, etc

Que se necesita:

1. Dansguardian lo encuentra en el repositorio "grande" de openSUSE
http://software.opensuse.org/download/Education:/server/openSUSE_10.2/i586/
2. squid: Viene de "serie" con la distribución hay que instalarlo
3. Firehol: Cortafuegos personal .. reemplaza al SuSEfirewall2 pagina: http://firehol.sourceforge.net/
instale el paquete rpm para red hat, al momento de escribir es firehol-1.256-rh7up.noarch.rpm

1. Dansguardian:
Como root edite el archivo /etc/dansguardian/dansguardian.conf
la linea
language = 'ukenglish'
cámbiela por
language = 'spanish'
salve/grabe y eso es todo con dansguardian

2. Squid lo que aquí se escribe funciona con squid-2.6.STABLE5 la forma de poner un proxy transparente cambio en squid si su versión de squid es anterior y lo que se escribe aquí no funciona.. fácil.. busque un manual de proxy transparente en Internet.. hay un pocoton, todos muy buenos
ahora:
Como root edite el archivo /etc/squid/squid.conf
cambie la linea
http_port 3128
por
http_port 127.0.0.1:3128 transparent

con esto es suficiente, pero si queremos mejorar el rendimiento de squid
cambie
# cache_swap_low 90
# cache_swap_high 95

por
cache_swap_low 80
cache_swap_high 100

cambie
# cache_dir ufs /var/cache/squid 100 16 256
por
cache_dir ufs /var/cache/squid 1000 16 256

y cambie
# cache_store_log /var/log/squid/store.log

por
cache_store_log none

salve/grabe y eso es todo

3. Firehol
edite el archivo /etc/firehol/firehol.conf
cámbielo por el siguiente (copie y pegue):

# $Id: client-all.conf,v 1.2 2002/12/31 15:44:34 ktsaou Exp $
#
# This configuration file will allow all requests originating from the
# local machine to be send through all network interfaces.
#
# No requests are allowed to come from the network. The host will be
# completely stealthed! It will not respond to anything, and it will
# not be pingable, although it will be able to originate anything
# (even pings to other hosts).
#

version 5

# Accept all client traffic on any interface
#interface any world
# client all accept
iptables -t filter -I OUTPUT -d 127.0.0.1 -p tcp --dport 3128 -m owner ! --uid-owner nobody -j DROP
# iptables -t filter -I OUTPUT -d 127.0.0.1 -p tcp --dport 3128 -m owner --uid-owner jvelez -j ACCEPT
transparent_squid 8080 "squid root"

interface any world
policy drop
protection strong
client all accept

# fin de archivo

la linea
iptables -t filter -I OUTPUT -d 127.0.0.1 -p tcp --dport 3128 -m owner ! --uid-owner nobody -j DROP
es muy importante.. impide la conexión directa al proxy squid por un usuario cualquiera (si esto ocurre seria muy fácil saltarse el filtro dansguardian, solo colocar en el navegador de Internet (Firefox o Konqueror) puerto de salida 3128

la linea
# iptables -t filter -I OUTPUT -d 127.0.0.1 -p tcp --dport 3128 -m owner --uid-owner jvelez -j ACCEPT
permite salir sin restricción de filtro al usuario jvelez (usuario de la maquina linux) si eres un cochinon que te quieres saltar el filtro tu y que los demás queden filtrados.. retire la almohadilla a la linea (el símbolo de numero #) y cambia el usuario jvelez por el tuyo
ademas en tu navegador coloca en configuración manual de conexión coloca proxy http = 127.0.0.1 y puerto 3128, con esto te saltas el filtro y navegas por el proxy sin restricciones

eso es todo

como arrancar la primera vez todo esto
ejecute como root las siguientes instrucciones
rcSuSEfirewall2 stop
/etc/init.d/firehol start
/etc/init.d/squid_DG start


como ponerlo automático cuando encienda su computador/ordenador.
ejecute como root las siguientes instrucciones
chkconfig firehol on
chkconfig squid_DG on
chkconfig SuSEfirewall2_init off
chkconfig SuSEfirewall2_setup off


y eso es todo.. parece largo, pero no debes tardar mas de 10 minutos.

1 comentario:

Unknown dijo...

Genial, me pondre a necear el Squid