elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 19:43  


Tema destacado: Nueva página de elhacker.net en Google+ Google+

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking Avanzado
| | |-+  Hacking Linux/Unix (Moderadores: kamsky, TRICKY, berz3k)
| | | |-+  .:: agujereando firewalls::.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: .:: agujereando firewalls::.  (Leído 6,340 veces)
TRICKY
The "Tricky" ..
Moderador
***
Desconectado Desconectado

Mensajes: 1.605


Ver Perfil
.:: agujereando firewalls::.
« en: 24 Junio 2009, 02:52 »

Que tal.

Bueno, pues aqui intentare mostrar una de las tecnicas usadas con ssh Forwarding para traspasar firewalls los cuales dejen pasar ttrafico ssh hacia el exterior pero restrinjan trafico http saliente de algun modo.

Osea, pongamonos en situacion:

tu en tu trabajo no puedes navegar por Inet debido a que el Admin del Firewall ha puesto reglas para que no haya trafico saliente hacia el puerto 80 ( http/web ). En cambio, si se puede hacer ssh hacia el exterior.

O lo mismo, pero lo que se ha implantado es un Proxy ( nivel aplicativo ) con el cual no se pueden ver la mayoria de las paginas webs ( o algunas ) por sus reglas de "filtrado".

El cometido seria hacer un tunnel ssh desde el trabajo hasta casa y conectar por el tunnel con Privoxy ( desde trabajo a casa ) y Privoxy usara Tor para que, desde el trabajo y usando nuestro PC en casa, podamos navegar de manera anonima  :____) y saltando las reglas del Firewall del trabajo.

Bien pues para esto debe de darse un contexto. Tu en tu casa debes de tener Tor y Privoxy instalados asi como un servidor ssh corriendo.

/**** NOTAS SOBRE INSTALACION/CONFIGURACION DE TOR Y PRIVOXY ****/

Aqui haremos un paro y trataremos de ver como instalar y configurar facilmente Tor y Privoxy para que use Tor.

Para la instalacion de Tor mejor hacerlo desde repositorios. Algo asi (xjm):
# yum install tor

Tras ello no estaria de mas hacer un
# man tor
Despues deberiamos de echarle un vistazo al archivo de configuracion de tor bajo
# /etc/tor/torrc


En este archivo hay una linea
SocksPort 9050    # what port to open for local application connection
Con ese puerto podremos usar aplicaciones locales para "proxyar" comunicaciones

Para pasar los logs via syslog/rsyslog deberiamos de descomentar la linea referente a
# Log notice syslog
y aniadir a /etc/*syslog.conf
*.notice   /var/log/tor/debug.log
Por ejemplo. Cabe mencionar que deberiamos de haber creado previamente esa locacion bajo /var/log.

Para instalacion y demas podriais mirar
http://www.torproject.org/docs/tor-doc-unix.html.es
http://www.torproject.org/tor-manual-dev.html

Asimismo, a estas alturas podriamos comentar las 2 ultimas lineas ( creo ) de /etc/tor/torrc referiendo a
Group toranon
User toranon

deberia de quedar como
# Group toranon
# User toranon

Ahora podriamos bajar dese Inet Privoxy ( buscar por "Privoxy nuestra_Distro" ) e instalarla ( sera algo como
./configure && make && make install
)

Abrimos entonces el archivo de configuracion de Privoxy bajo /etc/privoxy/config ( o /usr/local/etc/privoxy ) y aniadimos la linea:
forward-socks4a   /     127.0.0.1:9050      .         <--- No olvideis el punto '.' !!!
Mirad antes el fichero, y colocad donde sea conveniente ( es algo muy intuitivo :___))
 
Con eso estariamos usando Privoxy con Tor.

Cambiamos ahora la linea referente a listen-address en el mismo /etc/privoxy/config por la IP local de nuestro PC en casa ( cae de cajon, es en el PC que estamos trabajando ahora ). Si este PC tiene una IP como 192.168.1.64, pondriamos la linea asi:
listen-address 192.168.1.64:8118

Esto ultimo permitira el que conectemos remotamente desde el trabajo con Privoxy en el PC casero.


Privoxy mantiene un logfile de todo lo que paso. Para parar esto ( por seguridad ante posibles lecturas inapropiadas... ) debemos comentar las lineas
logfile logfile
jarfile jarfile
debug 1 # en algunos sistemas

Dependiendo de que archivo de confi tengamos por defecto para Privoxy podriamos necesitar tambien "apagar" "enable-remote-toggle", "enable-remote-http-toggle" y "enable-edit-actions".

Necesitaremos reiniciar Privoxy para que los cambios surjan efecto ( deberemos de reiniciar Tor/Privoxy por cada cambio que hagamos en sus configuraciones ):
# /etc/init.d/privoxy restart

Ahora solo faltaria configurar las aplicaciones para que usen Tor/Privoxy segun sea el caso.
Por ejemplo, para web browsing podriamos decirle a firefox que use como proxy
127.0.0.1 con puerto 8118   ( Privoxy, pues es este un proxy http, no Tor ).

para usar aplicaciones directamente con Tor y usar Socks directamente ( mensajeria instantanea, IRC ... ) pues las podriamos configurar para que usen Tor directamente ( para mensajeria instantanea, IRC ... ) en el puerto 9050.
Para esto ultimo es aconsejable el leer
http://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ# SocksAndDNS
ya que esto puede resultar inseguro debido a como esta hecha la infraestructura de la Red Onion que es Tor.

es decir, hay gente que forma parte de la Red Tor ( ellos se convierten en un "router" mas de la Red Tor ) y se dedican a sniffar pasivamente la data que por ellos pasa. Asi pues, no es aconsejabke usar Tor e introducir informacion confidencial mientras lo usemos.

Como nota solo aniadir que, para aplicaciones que no soporten Socks ( Tor ) ni Http ( Privoxy->Tor ) miraremos algo sobre "tsocks" o "socat".
http://tsocks.sourceforge.net
http://http://wiki.torproject.org/noreply/TheOnionRouter/TorifyHOWTO#socat

/*********** FIN  DE  COMENTARIOS  SOBRE  INSTALACION/CONFIGURACION  TOR/PRIVOXY ***********/

      ***************************************************************************************************

Tras la instalacion de dichos paquetes en el PC de la casa, nos aseguramos de que Privoxy este corriendo
# /etc/init.d/privoxy status
y de que Tor este corriendo adecuandamente
# /etc/init.d/tor status

Si queremos para la navegacion web ( no requerido para este tuto ) podriamos instalar el TorButton para firefox:
https://addons.mozilla.org/en-US/firefox/addon/2275
y tras ello, presionar el botton ahora aniadido a firefox para activar Tor ( repito, es irrelativo para este tuto ).
Para chequear que realmente hemos pulsado el boton y estamos navegando usando Privoxy/Tor podemos ir a
http://check.torproject.org

Bien...

Pues tras chequear que tenemos Tor y Privoxy corriendo nos deberiamos de cerciorar de que, en nuestra misma PC casera, esta corriendo ssh. Podemos hacer algo como ( SYS V Linuxes )
# /etc/init.d/sshd status

Si no esta corriendo, pues
# /sbin/service sshd start || /etc/init.d/sshd start || /etc/rc.d/init.d/sshd start || echo "[=] Mira a ver como iniciar ssh"

Hemos de fijarnos en que toda la configuracion esta yendo en el PC de la casa.

/*** SIGO EN SIGUIENTE RESPUESTA ****/






« Última modificación: 24 Junio 2009, 03:38 por averno » En línea

"La envidia es una declaración de inferioridad"
Napoleón.
TRICKY
The "Tricky" ..
Moderador
***
Desconectado Desconectado

Mensajes: 1.605


Ver Perfil
Re: .:: agujereando firewalls::.
« Respuesta #1 en: 24 Junio 2009, 03:14 »


Bueno, pues ahora tocaria ponerse a pensar un poco ..

Que vamos a hacer? Pues lo que comentamos en un principio. Conectarnos via un tunnel ssh a nuestro PC casero, en especifico a Privoxy, el cual usara Tor. Y como? Pues bien, en el PC del trabajo tendremos que hacer 2 cosas simplemente ( aunque ante todo, hemos de comprobar de que podemos hacer ssh hacia casa ):

1) configurar firefox para que use un proxy
127.0.0.1 con puerto 1050

2) setear el tunnel desde la linea de comandos ( Linux ) o con Putty ( Windoze ).

Yo explicare, en un principio, como hacerlo con Linux y la linea de comandos.

Pero direis... "y en el PC de casa con ssh, Tor y Privoxy corriendo.. que pasa con el firewall??? y el router??? Como dejan que entre la conexion desde el trabajo??!"
Pues bien, teneis razon pero en esto tambien se ha pensado.

En el router de la Red casera, tendreis que abrir el puerto 8118 hacia el PC casero con ssh, Tor y Privoxy corriendo.

Ahora direis.. "Pero como? Ahora todo el mundo podra usar mi Privoxy/Tor conectando a ese puerto??!"
Pues no, todo depende. Para ello deberias de tener el firewall bien configurado sin dejar entrar, en principio, conexiones dirigidas a esos puertos.
Como en esto tambien se ha pensado, he hecho algo para que no todo el mundo pueda conectar a esos puertos, y que solamente "cierta/s" persona/s puedan hacerlo.

Para ello he elaborado un programa en C para Linux ( estamos en Hacking Linux no?? ).
/* Nota: recordad que lo que estamos es ahora, configurando el acceso a los puertos desde el trabajo/exterior ) */

Bien, pues ocurre que, para que no todo el mundo conecte desde el exterior a nuestro Privoxy ( recordad que pusimos a Privoxy a correr en nuestra IP local, no de loopback ) y no tener que "harcodear" la ACL en iptables con l aIP de nuestro trabajo ( es una opcion, pero si algun dia no es desde el trabajo y nos coge en otro sitio, ya no podremos hacer el tunnel ), tendremos que conectar primero con netcat o telnet a un puerto en especifico.
Es decir, en el PC casero debera de estar corriendo ademas de lo citado anteriormente, este programa que he hecho. Este programa lo que hace es bindear a un puerto ( recomiendo uno > a 1024 y no reconocido ) que le pasamos como argumento ( el programa solo recibe este argumento, el puerto ).

Tras ello, automaticamente reconozco el puerto que has elegido y creo una regla para iptables para que TODO el mundo desde el exterior pueda conectar. Asimismo deberias de mapear este puerto en el router ed la Red casera hacia el PC casero para evitar fracasos. Por ello, es buena idea usar siempre el mismo puerto..

Y direis.. "Pero que dices! Ahora si que pueden conectar sin problema no?? Y para que es esto!!!?"
Bueno lo que ocurre es que tras setear esa primera regla de iptables ( la de que todo el mundo desde el exterior pueda conectar a ese puerto ), te pido una password ( a configurar en el code, por defecto es "pajaroloko" ).
Si desde el PC del trabajo ( en este caso ) introduces la password correcta ( pajaroloko ) creare unas reglas en iptables con la IP que esta conectando al PC casero ( IP del trabajo aca ) para que pueda conectar, ahora si, a los servicios de ssh y Privoxy. Asi, nos evitamos muchos problemas y entrometidos.

El code es este:

/* sock_passwd.c        by averno  */
/* code para complementar el tunnel con ssh hacia Privoxy */

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>

#define ERROR(prob) "{ fprintf(stderr, prob); exit(-1); }"

int main(int argc, char *argv[])
{

   struct sockaddr_in server;
   struct sockaddr_in client;

   FILE *fp;

   int on = 1;
   int sin_size, fd, fc, readbytes, rpm, fire;
   char buf[512], *passwd = "pajaroloko", buf2[512];

   if (argc != 2) {
     fprintf(stderr, "[=] Uso: %s <port_to_bind>\n\n", argv[0]);
     exit(-1);
   }
   
   memset(&buf, 0, sizeof(buf));

   if ((fp = fopen("/etc/issue", "r")) == NULL) {
     perror("fopen()");
     exit(-1);
   }

   while (fscanf(fp, "%s", buf) != EOF) {
        if ((strcmp(buf, "Fedora")) || (strcmp(buf, "Hat"))) {
          fprintf(stdout, "[=] Yeah! This Distro is a %s ..\n", buf);
          rpm = 1;
          break;
        }
        else {
            rpm = 0;
        }
   }

   fclose(fp);

 
   snprintf(buf, sizeof(buf), "/sbin/iptables -A INPUT -i eth0 -p tcp -m tcp --dport %i -j ACCEPT", atoi(argv[1]));


   if (!rpm) {
     if ((fire = system(buf)) == -1)
       ERROR("Error setting iptables rules");
   }

   else {
       if ((fire = system(buf)) == -1)
         ERROR("setting iptables rules");
       if (system("/sbin/service iptables save >/dev/null") == -1)
         ERROR("saving iptables rules");
   }

   bzero(&buf, sizeof(buf));

   if ((fd = socket(PF_INET, SOCK_STREAM, 0)) == -1) {
     perror("socket()");
     exit(-1);
   }

   if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(on)) == -1) {
     perror("setsockopt()");
     exit(-1);
   }

   memset(&server, 0, sizeof(server));
   server.sin_family = AF_INET;
   server.sin_port = htons(atoi(argv[1]));
   server.sin_addr.s_addr = INADDR_ANY;

   if (bind(fd, (struct sockaddr *)&server, sizeof(struct sockaddr)) == -1) {
     perror("bind()");
     exit(-1);
   }

   if (listen(fd, 1) == -1) {
     perror("listen()");
     exit(-1);
   }

   sin_size = sizeof(struct sockaddr_in);

   while (1) {
        if ((fc = accept(fd, (struct sockaddr *)&client, &sin_size)) == -1) {
          perror("accept()");
          exit(-1);
        }

        setbuf(stdout, 0);
        fflush(stdout);
 
        printf("[=] New Connection from: %s:%i\n", inet_ntoa(client.sin_addr), ntohs(client.sin_port));

        if (fork() == 0) {
          close(fd);

          if (write(fc, "password: ", 10) == -1) {
            perror("write()");
            exit(-1);
          }

          if ((readbytes = read(fc, buf, 512-1)) != -1) {
               buf[readbytes] = '\0';

          if (strcmp(buf, passwd)) {
            if (write(fc, "[=] Ok!", 7) == -1) {
              perror("write()");
              exit(-1);
            }
            else {
                snprintf(buf2, sizeof(buf2), "/sbin/iptables -A INPUT -i eth0 -s %s -p tcp -m tcp -m multiport --dports 8118,22 -j ACCEPT", inet_ntoa(client.sin_addr));

                if (!rpm) {
                  if ((fire = system(buf2)) == -1)
                    ERROR("setting iptables rules");
                }
                else {
                    if ((fire = system(buf2)) == -1)
                      ERROR("setting iptables rules");
                    if (system("/sbin/service iptables save >/dev/null"))
                      ERROR("saving iptables rules");                       
                }         
            } 
          }

          } /* while(read) */
          close(fc);
          exit(0);
        }
        else {
            close(fc);
        }
   } /* Fin del loop while() */

   return 0;

}

/* EOF */


 /************ SIGO EN SIGUIENTE RESPUESTA ******************************************/


En línea

"La envidia es una declaración de inferioridad"
Napoleón.
TRICKY
The "Tricky" ..
Moderador
***
Desconectado Desconectado

Mensajes: 1.605


Ver Perfil
Re: .:: agujereando firewalls::.
« Respuesta #2 en: 24 Junio 2009, 03:29 »

Pues ese code lo debemos de guardar y compilar en el PC casero. Compilacion:
# gcc -O2 -o sock_passwd sock_passwd.c

Tras ello, lo ejecutariamos asi ( por ejemplo ):
# ./sock_passwd 1555

Pues bien, ya el PC de la casa estaria a punto, sin dejar de lado el mapeo de los puertos en el router.

Ahora, toca el PC del trabajo..

Pues habiamos dicho que, en el PC del trabajo ibamos a configurar firefox para que conectase con el proxy
127.0.0.1 puerto 1050

Bien, lo dejamos asi antes de intentar el tunneling...

Ahora, desde el PC del trabajo, pasamos a la accion. En primer lugar hemos de conectar ( netcat, telnet ) hacia nuestra IP del router casero ( Ip publica del router ) hacia el puerto 1555 ( tener en cuenta que hemos mapeado en el router casero ese puerto al PC casero .. y tener en cuenta que mi programa crea la regla para iptables para que se pueda conectar con este puerto ). Esto es algo asi ( la IP de nuestro router casero seria 142.54.43.32 en este ejemplo )
# nc 142.54.43.32 1555

Pues bien, como dije, para evitar acceso irrestricto a los servicios ( ssh, Tor, Privoxy ) mi programa te pedira una password. Si introduces esa password correctamente, se crearan las reglas para IPtables para la IP que intenta conectar ( la IP del trabajo en este caso ). Asi pues, podeis cambiar la password en la variable adecuada para que no sea mas "pajaroloko".
Entonces, al pediros la password, introducireis "pajaroloko".

Ya esta, ya desde la IP del trabajo podremos hacer el tunnel ssh hacia casa y usar Privoxy!

Entonces tenemos en el trabajo a firefox configurado como hemos citado, y ya hemos conectado a casa con netcat al puerto 1555 que pusimos a la escucha e introdujimos la password correcta. Ahora solo queda crear el tunnel en el PC del trabajo hacia la casa.
Para esto me remito a que esta basado en Linux. Para Windoze, Putty.
Asi pues, desde una terminal/xterm podriamos el siguiente comando:
# ssh -fN -L 1050:142.54.43.32:8118 root@142.54.43.32

/* Nota: root u otro user del sistema Linux del PC casero, ya que ssh usa users de sistema bajo /etc/passwd para conexiones con user y password. En este caso fue root */

Ya esta. ahora solo tendriamos que dirijrnos ( claro esta, en el trabajo ) a firefox y empezar a navegar anonimamente y sin ningun tipo de filtrado molesto   ;____).


Suerte.


   /**** MOD ****/

Bueno, al parecer Dimitrix esta vivito y coleando, asi que cambio la dedicatoria para la gente del foro.elhacker.net.

Por favor, si se va a presentar este tuto en terceras partes respeten las fuentes.
« Última modificación: 24 Junio 2009, 15:19 por averno » En línea

"La envidia es una declaración de inferioridad"
Napoleón.
rockernault


Desconectado Desconectado

Mensajes: 2.045


Linux User!!!


Ver Perfil
Re: .:: agujereando firewalls::.
« Respuesta #3 en: 24 Junio 2009, 03:31 »

tio..

 :o :o :o

que gran manual
En línea




TRICKY
The "Tricky" ..
Moderador
***
Desconectado Desconectado

Mensajes: 1.605


Ver Perfil
Re: .:: agujereando firewalls::.
« Respuesta #4 en: 24 Junio 2009, 03:52 »


Que tal.

Gracias rockernault :___).

Estaba algo conmovido por lo del compi Dimitrix, y pense en una manera de rendirle algun tipo de tributo. Por ello, pense que que mejor que un tuto de "utilidad" y sin Hack "sucio".


Saludos.
En línea

"La envidia es una declaración de inferioridad"
Napoleón.
kamsky
Moderador
***
Desconectado Desconectado

Mensajes: 2.210


Como no sabían que era imposible, lo hicieron...


Ver Perfil
Re: .:: agujereando firewalls::.
« Respuesta #5 en: 24 Junio 2009, 14:12 »

muy buen manual, pero no entiendo una cosa:

no veo la utilidad del programita que hiciste en C ni de conectarte con netcat al puerto que dejaste corriendo...

en mi opinión creo que deberías poner la regla de iptables para que acepte conexiones al puerto ssh siempre, ya que este filtrará al usuario legítimo del que no lo es, eso si, deberíamos configurar sshd correctamente, es decir, que no acepte por defecto conexiones de root, que la versión sea la 2 y no acepte la 1, etc...
y crear una cuenta en la máquina de casa sólo para esto, es decir, no usar la cuenta de root para cosas que no lo requieren

una vez con esto, bastaría con conectarnos mediante:

# ssh -fN -L 1050:localhost:8118 proxy@142.54.43.32

un saludo!
En línea

----NO HAY ARMA MÁS MORTÍFERA QUE UNA PALABRA BROTADA DE UN CORAZÓN NOBLE, Y UN PAR DE HUEVOS QUE LA RESPALDEN---

                       hack 4 free!!
TRICKY
The "Tricky" ..
Moderador
***
Desconectado Desconectado

Mensajes: 1.605


Ver Perfil
Re: .:: agujereando firewalls::.
« Respuesta #6 en: 24 Junio 2009, 15:03 »

Que tal.

No careces de razon en lo que dices.

Llevas razon en que solamente con ssh hay mas que suficiente para evitar logins no deseados.

El motivo es que no hay esa restriccion para Privoxy. Es decir, no se como rayos ibamos a hacerlo con Privoxy. Recuerda que las reglas las hago para ssh y Privoxy!

Asi pues pense que, ya puestos a hacer las reglas para Privoxy por que no tambien para ssh y asi nadie podra usar exploits indeseados contra este servicio tambien.

Asi pues, la base del filtrado y la imposicion de reglas automaticas es para Privoxy, sin dejar de lado la posible explotacion de ssh.


Te doy las gracias por tu comentario,

averno.


Suerte.


   /**** MODIFIKO ****/

Ah, lo del user root fue por poner un ejemplo!
Cada cual que loguee en su sistema como necesario :____)
En línea

"La envidia es una declaración de inferioridad"
Napoleón.
kamsky
Moderador
***
Desconectado Desconectado

Mensajes: 2.210


Como no sabían que era imposible, lo hicieron...


Ver Perfil
Re: .:: agujereando firewalls::.
« Respuesta #7 en: 24 Junio 2009, 16:02 »

ok ok, es que yo soy muy vago y planteé esa forma por no tener que andar codeando el código :p

en parte el hacer el código es una medida de seguridad más, pero como te digo, como antes de romper el programa que hiciste, deberían romper sshd, cosa que siend oconfigurada debidamente como comenté antes y añadiendo ciertas medidas de seguridad con ayuda de iptables como por ej detectar y bannear los intentos de fuerza bruta creo que hay suficiente, pero bueno, ya que has sido tú el que te has "chupado" el codear el código pues nunka viene mal una medida más, saludos!!!

p.d: el tutorial está muy bien
En línea

----NO HAY ARMA MÁS MORTÍFERA QUE UNA PALABRA BROTADA DE UN CORAZÓN NOBLE, Y UN PAR DE HUEVOS QUE LA RESPALDEN---

                       hack 4 free!!
TRICKY
The "Tricky" ..
Moderador
***
Desconectado Desconectado

Mensajes: 1.605


Ver Perfil
Re: .:: agujereando firewalls::.
« Respuesta #8 en: 24 Junio 2009, 16:22 »


Que tal kamsky?

Gracias de nuevo!

A ver, pero... cogistes lo de Privoxy???


Saludos.
En línea

"La envidia es una declaración de inferioridad"
Napoleón.
kamsky
Moderador
***
Desconectado Desconectado

Mensajes: 2.210


Como no sabían que era imposible, lo hicieron...


Ver Perfil
Re: .:: agujereando firewalls::.
« Respuesta #9 en: 24 Junio 2009, 16:27 »

si, si entiendo que el programita es para "asegurar" la conexión a privoxy, pero dado que con iptables puedes hacer que desde fuera solo se fuera acceder al puerto del sshd, todas las conexiones tendrán que pasar este filtro,y teniéndolo bien configurado como comenté antes, no sería necesario autenticarse contra el privoxy, ya que esto solo podrán hacerlo los que lo hayan hecho previamente contra  el sshd
En línea

----NO HAY ARMA MÁS MORTÍFERA QUE UNA PALABRA BROTADA DE UN CORAZÓN NOBLE, Y UN PAR DE HUEVOS QUE LA RESPALDEN---

                       hack 4 free!!
TRICKY
The "Tricky" ..
Moderador
***
Desconectado Desconectado

Mensajes: 1.605


Ver Perfil
Re: .:: agujereando firewalls::.
« Respuesta #10 en: 24 Junio 2009, 16:47 »

Que tal.

@ kamsky:

Citar
pero dado que con iptables puedes hacer que desde fuera solo se fuera acceder al puerto del sshd, todas las conexiones tendrán que pasar este filtro,y teniéndolo bien configurado como comenté antes, no sería necesario autenticarse contra el privoxy, ya que esto solo podrán hacerlo los que lo hayan hecho previamente contra  el sshd

De verdad, soy muy "burro" y no te entiendo. La cuestion es que es esa, que con Privoxy no hay Auth. Ahora si que puedo entender que, una vez logueado con ssh, abras el puerto de privoxy en iptables para la IP adecuada.
A eso te refieres?

Si es asi no esta mal pensado, pero deja de ser "cool" :____D y automatico.

Saludos.


   /**** MODIFIKO ****/

Ademas, por como lo explicas de ultimas, no parece haber reglas en el router de antemano... vaya coniazo no??
Yo sinceramente, lo prefiero todo mas seguro y mas automatico.
En línea

"La envidia es una declaración de inferioridad"
Napoleón.
TRICKY
The "Tricky" ..
Moderador
***
Desconectado Desconectado

Mensajes: 1.605


Ver Perfil
Re: .:: agujereando firewalls::.
« Respuesta #11 en: 24 Junio 2009, 17:10 »


Que tal.

Bueno, ya dentro de poco me tengo que ir a mi nuevo curro! ( pinche de cocina ).

Por ello solo decir una cosas:

primero Gracias a kamsky por una participacion tan activa.

Despues pues solo decir que el cometido era hacer un tuto algo especial. Para mi, la automatizacion es muy necesaria en un tuto como estos dado que habra personas que ni sabran imponer reglas en iptables adecuadamente.

Ademas, lo de "especial" es por eso mismo, por la automatizacion y por lo del programa.
Ah, y que el programa no dure mas de 20 minutos en hacerlo comiendo galletas de chocolate!
Me molan el Networking y me divierto programando sockets, y un par de sockets.. se programan en un momento!

Asi pues, en menos de una hora parto asi que... Gracias.


Saludos.
En línea

"La envidia es una declaración de inferioridad"
Napoleón.
kamsky
Moderador
***
Desconectado Desconectado

Mensajes: 2.210


Como no sabían que era imposible, lo hicieron...


Ver Perfil
Re: .:: agujereando firewalls::.
« Respuesta #12 en: 24 Junio 2009, 17:44 »

a ver, tu con iptables puedes filtrar y poner reglas de todo tipo, en este caso:

- DROPEARIAS todo el tráfico proveniente de internet excepto el que vaya dirigido al puerto del SSH
- permitiríamos conexiones al puerto del privoxy desde DENTRO, es decir en la Lan interna, o incluso solo desde el propio ordenador

esto funciona ya que una vez que se ha establecido el tunel con SSH estamos "dentro" de esa Lan interna, por lo que no habría problemas y nos dejaría acceder al puerto, no así al tráfico proveniente de internet y que intente acceder directamente sin establecer la pertinente sesión con el servidor SSH

pero yo no veo que esto deje de ser "automático",simplemente al igual que configuras el SSH, el privoxy y tor, configuras una vez las reglas de Iptables y listo, es más,así no tendrás problemas con el programa que posteaste y permisos, ya que para añadir reglas al nucleo como así hace iptables necesitas privilegios de administrador, por lo que efectivamente deberás de establecer el tunel como administrador, cosa no muy recomendable desde el punto de vista de la seguridad.

un saludo!
En línea

----NO HAY ARMA MÁS MORTÍFERA QUE UNA PALABRA BROTADA DE UN CORAZÓN NOBLE, Y UN PAR DE HUEVOS QUE LA RESPALDEN---

                       hack 4 free!!
TRICKY
The "Tricky" ..
Moderador
***
Desconectado Desconectado

Mensajes: 1.605


Ver Perfil
Re: .:: agujereando firewalls::.
« Respuesta #13 en: 24 Junio 2009, 18:04 »


Que tal.

Ya voy tarde..

Bueno, lo ultimo por ahora:

yo lo probe como dijistes con mi Red local y, sorprendentemente, el tunnel no conectaba con Privoxy de manera local.
Hasta que no puse Privoxy en la ifaz eth0 ( 192.168.1.64, no de loopbacK ) el tunnel no era fructuoso.

Por como dices, yo pense algo similar y pense que, una vez establicodo el tunnel, todo era local. Mi sorpresa fue que se utilizaba la ifaz de red y ademas tenian que haber reglas de filtrado. No indague mucho ya que el tuto lo hice ayer tarde.

De todos modos suena muy logico.
Que la gente siga tus pautas en ese sentido, o las mias :____).

En línea

"La envidia es una declaración de inferioridad"
Napoleón.
kamsky
Moderador
***
Desconectado Desconectado

Mensajes: 2.210


Como no sabían que era imposible, lo hicieron...


Ver Perfil
Re: .:: agujereando firewalls::.
« Respuesta #14 en: 24 Junio 2009, 18:37 »

claro, yo dije que estabas dentro de la Lan, pero eso no es lo mismo que estar trabajando con el interfaz de red local.
tenemos 2 opciones:

   - Poner Privoxy corriendo en el interfaz que recibe el tráfico (en tu caso eth0),
   - O si lo quieres seguir manteniendo en local, de nuevo con ayuda de iptables tendríamos que filtrar el tráfico con destino a eth0 y "redirigirlo" al interfaz local, para esto tendríamos que crear las regla adecuadas y además habilitar el port_forwarding en el ordena

« Última modificación: 24 Junio 2009, 18:42 por kamsky » En línea

----NO HAY ARMA MÁS MORTÍFERA QUE UNA PALABRA BROTADA DE UN CORAZÓN NOBLE, Y UN PAR DE HUEVOS QUE LA RESPALDEN---

                       hack 4 free!!
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines