[opensuse-es] informacion sobre iptables
Buenos dias amigos, tengo una aplicacion montada en dos servidores, uno es el webserver (apache) con la aplicacion como tal (php), y el otro tiene la base de datos (mysql) de esa aplicacion. Basicamente lo que quiero es bloquear todos los accesos al servidor de base de datos, menos ssh (puerto 22) y las consultas y queries de mysql (creo que es el puerto 3306) que provengan del webserver si tengo que hacer un ssh debo entrar al webserver y hacerlo desde alli... estaba revisando en internet y consegui esto para iptables iptables -A INPUT -s ! xx.xx.xx.xx -p tcp --dport 22 -j DROP para direcciones multiples iptables -A INPUT -s xx.xx.xx.xx -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s yy.yy.yy.yy -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s zz.zz.zz.zz -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j DROP mi pregunta... el servidor de base de datos necesitaria de algo mas que configurar el puerto 3306? -- Ciao, Javier linux counter #393724 GPG Key Fingerprint = 46B76CFEDB0161089D9ECB22FEFDE7EBA8C2007E --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 16/03/07, javier rojas
Buenos dias amigos,
tengo una aplicacion montada en dos servidores, uno es el webserver (apache) con la aplicacion como tal (php), y el otro tiene la base de datos (mysql) de esa aplicacion.
Basicamente lo que quiero es bloquear todos los accesos al servidor de base de datos, menos ssh (puerto 22) y las consultas y queries de mysql (creo que es el puerto 3306) que provengan del webserver
si tengo que hacer un ssh debo entrar al webserver y hacerlo desde alli...
estaba revisando en internet y consegui esto para iptables
iptables -A INPUT -s ! xx.xx.xx.xx -p tcp --dport 22 -j DROP
estas malo !!!! el correcto es denegar todo el acceso y permitir solamente el estrictamente necesario.... por ejemplo: iptables -P INPUT DROP iptables -A INPUT -s xx.xx.xx.xx -p tcp --dport 22 -j ACCEPT esto es asi, para bloquear acceso a los demas servicios que puedas tener en la maquina (web, nfs, cups, etc). ojo... hay una serie de otras reglas adicionales para que la maquina pueda se comunicar correctamente.. y no es solamente estas dos lineas que envio como ejemplo.
para direcciones multiples
iptables -A INPUT -s xx.xx.xx.xx -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s yy.yy.yy.yy -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s zz.zz.zz.zz -p tcp --dport 22 -j ACCEPT
esto esta mejor.. pero como le digo es preferible utilizar la politica por defecto en DROP.
iptables -A INPUT -p tcp --dport 22 -j DROP
mmm.. esta es redundante !!! no sirvira para nada.
mi pregunta... el servidor de base de datos necesitaria de algo mas que configurar el puerto 3306?
nooo obs: busca en internet por "iptables en 21 segundos" es un manual bueno y como indica el nombre, rapido !!! tambien puede leer el otro documento del mismo autor que explica iptables mas detalladamente. salu2, -- -- Victor Hugo dos Santos Linux Counter #224399 --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
2007/3/16, Victor Hugo dos Santos
El 16/03/07, javier rojas
escribió: Buenos dias amigos,
tengo una aplicacion montada en dos servidores, uno es el webserver (apache) con la aplicacion como tal (php), y el otro tiene la base de datos (mysql) de esa aplicacion.
Basicamente lo que quiero es bloquear todos los accesos al servidor de base de datos, menos ssh (puerto 22) y las consultas y queries de mysql (creo que es el puerto 3306) que provengan del webserver
si tengo que hacer un ssh debo entrar al webserver y hacerlo desde alli...
estaba revisando en internet y consegui esto para iptables
iptables -A INPUT -s ! xx.xx.xx.xx -p tcp --dport 22 -j DROP
estas malo !!!!
el correcto es denegar todo el acceso y permitir solamente el estrictamente necesario....
por ejemplo:
iptables -P INPUT DROP iptables -A INPUT -s xx.xx.xx.xx -p tcp --dport 22 -j ACCEPT
esto es asi, para bloquear acceso a los demas servicios que puedas tener en la maquina (web, nfs, cups, etc).
ojo... hay una serie de otras reglas adicionales para que la maquina pueda se comunicar correctamente.. y no es solamente estas dos lineas que envio como ejemplo.
para direcciones multiples
iptables -A INPUT -s xx.xx.xx.xx -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s yy.yy.yy.yy -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s zz.zz.zz.zz -p tcp --dport 22 -j ACCEPT
esto esta mejor.. pero como le digo es preferible utilizar la politica por defecto en DROP.
iptables -A INPUT -p tcp --dport 22 -j DROP
mmm.. esta es redundante !!! no sirvira para nada.
mi pregunta... el servidor de base de datos necesitaria de algo mas que configurar el puerto 3306?
nooo
obs: busca en internet por "iptables en 21 segundos" es un manual bueno y como indica el nombre, rapido !!! tambien puede leer el otro documento del mismo autor que explica iptables mas detalladamente.
excelente link, voy por los dos manuales....:) -- Ciao, Javier linux counter #393724 GPG Key Fingerprint = 46B76CFEDB0161089D9ECB22FEFDE7EBA8C2007E --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2007-03-16 a las 11:38 -0400, javier rojas escribió:
Basicamente lo que quiero es bloquear todos los accesos al servidor de base de datos, menos ssh (puerto 22) y las consultas y queries de mysql (creo que es el puerto 3306) que provengan del webserver
si tengo que hacer un ssh debo entrar al webserver y hacerlo desde alli...
estaba revisando en internet y consegui esto para iptables
iptables -A INPUT -s ! xx.xx.xx.xx -p tcp --dport 22 -j DROP
para direcciones multiples
iptables -A INPUT -s xx.xx.xx.xx -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s yy.yy.yy.yy -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s zz.zz.zz.zz -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j DROP
¿Porqué te complicas la vida? El cortafuegos que trae la distro, el susefirewall2, corta todo el tráfico entrante si le dices que la interfaz es externa (la interna es más permisiva). Lo que se hace es abrir lo que se necesite, por defecto está todo cerrado... y como quieres abrirlo sólo si procede desde cierta IP, pues tienes que usar "FW_TRUSTED_NETS".
mi pregunta... el servidor de base de datos necesitaria de algo mas que configurar el puerto 3306?
Prueba. Si no funciona y ves en el log peticiones entrantes desde el webserver, es que te hacen falta más. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFF+uQ3tTMYHG2NR9URAuRVAJ9cfLB9DB0FiHIhsnh/3yEO62sySwCdE0DH 7iBNonwxnLGBBaK7yEcjRgI= =+UxG -----END PGP SIGNATURE-----
2007/3/16, Carlos E. R.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
El 2007-03-16 a las 11:38 -0400, javier rojas escribió:
Basicamente lo que quiero es bloquear todos los accesos al servidor de base de datos, menos ssh (puerto 22) y las consultas y queries de mysql (creo que es el puerto 3306) que provengan del webserver
si tengo que hacer un ssh debo entrar al webserver y hacerlo desde alli...
estaba revisando en internet y consegui esto para iptables
iptables -A INPUT -s ! xx.xx.xx.xx -p tcp --dport 22 -j DROP
para direcciones multiples
iptables -A INPUT -s xx.xx.xx.xx -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s yy.yy.yy.yy -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s zz.zz.zz.zz -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j DROP
¿Porqué te complicas la vida? El cortafuegos que trae la distro, el susefirewall2, corta todo el tráfico entrante si le dices que la interfaz es externa (la interna es más permisiva).
Lo que se hace es abrir lo que se necesite, por defecto está todo cerrado... y como quieres abrirlo sólo si procede desde cierta IP, pues tienes que usar "FW_TRUSTED_NETS".
mi pregunta... el servidor de base de datos necesitaria de algo mas que configurar el puerto 3306?
Prueba. Si no funciona y ves en el log peticiones entrantes desde el webserver, es que te hacen falta más.
sinceramente a manera personal no me convence mucho el firewall de suse, aparte estoy utilizando sles9 y no se parece para nada al firewall de 10.2.... que les parece tcpwrappers, estaba pensando en: hosts.deny// ALL: ALL@ALL, PARANOID hosts.allow// sshd: all ftpd: all httpd: all https: all de eta manera solo permitiria http, https, ssh y ftp que les parece? -- Ciao, Javier linux counter #393724 GPG Key Fingerprint = 46B76CFEDB0161089D9ECB22FEFDE7EBA8C2007E --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2007-03-21 a las 14:35 -0400, javier rojas escribió:
sinceramente a manera personal no me convence mucho el firewall de suse, aparte estoy utilizando sles9 y no se parece para nada al firewall de 10.2....
que les parece tcpwrappers, estaba pensando en:
Que eso no tiene nada que ver con el cortafuegos. Es a otro nivel. Puedes tener ambos. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFGAYPptTMYHG2NR9URAsXVAJ0SPqsEKmH3DR/TCqL6JO6dh1eWOQCghOc9 WetcKExBzkd45Be9bQpT5A0= =qBso -----END PGP SIGNATURE-----
2007/3/21, Carlos E. R.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
El 2007-03-21 a las 14:35 -0400, javier rojas escribió:
sinceramente a manera personal no me convence mucho el firewall de suse, aparte estoy utilizando sles9 y no se parece para nada al firewall de 10.2....
que les parece tcpwrappers, estaba pensando en:
Que eso no tiene nada que ver con el cortafuegos. Es a otro nivel. Puedes tener ambos.
imagine que podia tener ambos, el problema es que la configuracion del firewall se me hace mas trabajosa, el firewall de sles9 tiene el httpd, https y ssh, pero no el ftp, tendria que agregarle el puerto 21 verdad?, aun cuando los servidores no tienen salida fuera de mi red. en todo caso, quisiera saber que les parece la configuracion de hosts.allow y hosts.deny que puse...?:) saludos, -- Ciao, Javier linux counter #393724 GPG Key Fingerprint = 46B76CFEDB0161089D9ECB22FEFDE7EBA8C2007E --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
2007/3/21, javier rojas
2007/3/21, Carlos E. R.
: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
El 2007-03-21 a las 14:35 -0400, javier rojas escribió:
sinceramente a manera personal no me convence mucho el firewall de suse, aparte estoy utilizando sles9 y no se parece para nada al firewall de 10.2....
que les parece tcpwrappers, estaba pensando en:
Que eso no tiene nada que ver con el cortafuegos. Es a otro nivel. Puedes tener ambos.
imagine que podia tener ambos, el problema es que la configuracion del firewall se me hace mas trabajosa, el firewall de sles9 tiene el httpd, https y ssh, pero no el ftp, tendria que agregarle el puerto 21 verdad?, aun cuando los servidores no tienen salida fuera de mi red.
en todo caso, quisiera saber que les parece la configuracion de hosts.allow y hosts.deny que puse...?:)
adicionalmente a esto tendria que aceptar las conexiones realizadas a los puertos: 48300, 7000, 7100, 48200... que dicen?, podria incluir esto en hosts.allow 48300: all 48200: all 7000: all 7100: all y luego en susefirewall, agrego todos los puertos, http, https, ssh, 21, 48300, 48200, 7000 y 7100? lo que pasa es que no quisiera implementar el ensayo y error, si alguien me ayuda....:( -- Ciao, Javier linux counter #393724 GPG Key Fingerprint = 46B76CFEDB0161089D9ECB22FEFDE7EBA8C2007E --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2007-03-21 a las 17:37 -0400, javier rojas escribió:
que dicen?, podria incluir esto en hosts.allow 48300: all 48200: all 7000: all 7100: all
No, no. Ese fichero no va por puertos, va por daemons. Para bloquear puertos está el cortafuegos. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFGAbc2tTMYHG2NR9URAnUwAKCDGefL6tmMo+CvxFt9qNfXee+eGQCgjLiU jZDzmyhBT6EWZXqyYMjXjNY= =K1d3 -----END PGP SIGNATURE-----
2007/3/21, Carlos E. R.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
El 2007-03-21 a las 17:37 -0400, javier rojas escribió:
que dicen?, podria incluir esto en hosts.allow 48300: all 48200: all 7000: all 7100: all
No, no. Ese fichero no va por puertos, va por daemons. Para bloquear puertos está el cortafuegos.
listo bro, esa era la respuesta que necesitaba....venga el susefirewall... le indico los puertos y ya no?, aparte de ssh, http, ftp y https... -- Ciao, Javier linux counter #393724 GPG Key Fingerprint = 46B76CFEDB0161089D9ECB22FEFDE7EBA8C2007E --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
2007/3/21, javier rojas
2007/3/21, Carlos E. R.
: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
El 2007-03-21 a las 17:37 -0400, javier rojas escribió:
que dicen?, podria incluir esto en hosts.allow 48300: all 48200: all 7000: all 7100: all
No, no. Ese fichero no va por puertos, va por daemons. Para bloquear puertos está el cortafuegos.
listo bro, esa era la respuesta que necesitaba....venga el susefirewall...
le indico los puertos y ya no?, aparte de ssh, http, ftp y https...
estoy tratando de incluir los puertos 21, 7000, 7100, 48200, 48300 en el firewall a traves de yast y no me deja, solo me admite un puerto.... que puedo hacer? -- Ciao, Javier linux counter #393724 GPG Key Fingerprint = 46B76CFEDB0161089D9ECB22FEFDE7EBA8C2007E --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2007-03-22 a las 08:06 -0400, javier rojas escribió:
le indico los puertos y ya no?, aparte de ssh, http, ftp y https...
estoy tratando de incluir los puertos 21, 7000, 7100, 48200, 48300 en el firewall a traves de yast y no me deja, solo me admite un puerto....
que puedo hacer?
Olvidarte del Yast, hace años que no lo uso para configurar el cortafuegos... hazlo directamente, tienes el fichero "/etc/sysconfig/SuSEfirewall2" con comentarios explicativos. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFGAnyQtTMYHG2NR9URAvF5AJ9879XSIEYIh7SEDS1tsyR06z89MwCdEUL7 fW/ohUIMzUpvnHdiz831BKA= =YoF7 -----END PGP SIGNATURE-----
Hola Javier!!!
El 2007-03-21 a las 17:37 -0400, javier rojas escribió:
que dicen?, podria incluir esto en hosts.allow 48300: all 48200: all 7000: all 7100: all
No, no. Ese fichero no va por puertos, va por daemons. Para bloquear puertos está el cortafuegos.
listo bro, esa era la respuesta que necesitaba....venga el susefirewall...
le indico los puertos y ya no?, aparte de ssh, http, ftp y https...
estoy tratando de incluir los puertos 21, 7000, 7100, 48200, 48300 en el firewall a traves de yast y no me deja, solo me admite un puerto....
que puedo hacer?
En el Firewall de SuSE para abrir puertos debes poner asi: por ejemplo: 20:22 (estas abriendo los puertos 20,21 y 22, o sea un rango) ó podes poner asi 22 102 80 7738 para poner puertos independientes, tambien podes combinar rangos separados por espacios, seria asi: 20:22 4400:4410 80 140, aqui se abren los puertos 20, 21, 22, 4400 .. 4410, 80 y 140 Espero te sirva... --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
participants (4)
-
Carlos E. R.
-
Daniel Walter Pérez
-
javier rojas
-
Victor Hugo dos Santos