-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hola,
Hay programas que se conectan a la red sin nuestro permiso expreso. Un ejemplo es el adobe reader,
que permite que los ficheros PDF contengan scripts, código, que sirve para hacer muchas cosas
guapas, pero también permite a los autores de un PDF hacer que cada vez que abras sus ficheros, el
acrobat se conecte por internet y le diga que tú estás leyendo su fichero y donde estás. No conozco
ejemplos concretos de quien hace eso, pero está publicado desde hace años.
Eso permite también vulnerabilidades como la de ahora.
Hace también años que se han publicado "trucos" para, usando iptables, o el cortafuegos de la suse,
bloquear esas conexiones salientes.
http://lists.opensuse.org/opensuse-security/2005-04/msg00118.html
- ----
Re: [suse-security] How to block Acroread 7 with SuSE FW2?
* From: nordi
* Date: Sun, 17 Apr 2005 18:52:27 +0200
* Message-id: <4262944B.7020805@xxxxxxxxx>
In order to block that traffic you could make the acroread executable SGID 'acro' and then block all
traffic coming from group 'acro'. Iptables has an option for doing this by using the --gid-owner
option. Of course that works only with a local firewall.
- ----
Voy a demostrar ahora como se usa eso.
1) Primer paso: añadir al sistema el grupo "talker". Ese u otro nombre.
2) /etc/sysconfig/scripts/SuSEfirewall2-custom:
fw_custom_after_chain_creation() {
....
#Cer
iptables -A OUTPUT -m owner --gid-owner talker -j LOG --log-prefix 'Do not talk home: '
iptables -A OUTPUT -m owner --gid-owner talker -j REJECT
true
}
3) /etc/sysconfig/SuSEfirewall2:
FW_CUSTOMRULES="/etc/sysconfig/scripts/SuSEfirewall2-custom"
#FW_CUSTOMRULES=""
4) reiniciar el cortafuegos:
Elessar:~ # SuSEfirewall2
SuSEfirewall2: Setting up rules from /etc/sysconfig/SuSEfirewall2 ...
SuSEfirewall2: Warning: no default firewall zone defined, assuming 'ext'
SuSEfirewall2: using default zone 'ext' for interface eth1
SuSEfirewall2: Firewall customary rules loaded from /etc/sysconfig/scripts/SuSEfirewall2-custom
SuSEfirewall2: batch committing...
SuSEfirewall2: Firewall rules successfully set
5) Probar con telnet.
Elessar:~ # which telnet
/usr/bin/telnet
Elessar:~ # l /usr/bin/telnet
- -rwxr-xr-x 1 root root 104128 Oct 19 2009 /usr/bin/telnet*
Elessar:~ # chgrp talker /usr/bin/telnet
Elessar:~ # chmod g+s /usr/bin/telnet
Elessar:~ # l /usr/bin/telnet
- -rwxr-sr-x 1 root talker 104128 Oct 19 2009 /usr/bin/telnet*
······^···········^^^^^^
Lo probamos:
Elessar:~ # telnet router
Trying 192.168.X.X...
telnet: connect to address 192.168.X.X: Connection refused
¿Veis? El telnet es incapaz de conectar. El cortafuegos cierra el paso:
Jun 12 11:50:31 Elessar kernel: [101756.086915] Do not talk home: IN= OUT=eth0 SRC=192.168.1.14
DST=192.168.X.X LEN=60 TOS=0x10 PREC=0x00 TTL=64 ID=32394 DF PROTO=TCP SPT=35432 DPT=23 WINDOW=5840
RES=0x00 SYN URGP=0
Jun 12 11:50:34 Elessar kernel: [101759.086027] Do not talk home: IN= OUT=eth0 SRC=192.168.1.14
DST=192.168.X.X LEN=60 TOS=0x10 PREC=0x00 TTL=64 ID=32395 DF PROTO=TCP SPT=35432 DPT=23 WINDOW=5840
RES=0x00 SYN URGP=0
Bueno, pues ahora hay que quitar eso del telnet y ponerselo al adobe. Eso es la parte complicada.
Elessar:~ # which acroread
/usr/bin/acroread
Elessar:~ # l /usr/bin/acroread
lrwxrwxrwx 1 root root 33 May 7 02:43 /usr/bin/acroread -> ../lib/Adobe/Reader9/bin/acroread*
Elessar:~ # l /usr/lib/Adobe/Reader9/bin/
total 20
drwxr-xr-x 2 root root 72 May 7 02:43 ./
drwxr-xr-x 6 root root 144 Apr 19 04:06 ../
- -rwxr-xr-x 1 root root 20112 Apr 19 04:06 acroread*
Primero comprobamos que el acrobat puede leer un pdf desde la red (puede ser de vuestra red).
acroread http://sitio/doc.pdf
Hacemos los cambios:
Elessar:~ # chgrp talker /usr/lib/Adobe/Reader9/bin/acroread
Elessar:~ # chmod g+s /usr/lib/Adobe/Reader9/bin/acroread
Elessar:~ # l /usr/lib/Adobe/Reader9/bin/acroread
- -rwxr-sr-x 1 root talker 20112 Apr 19 04:06 /usr/lib/Adobe/Reader9/bin/acroread*
Probamos:
acroread http://sitio/doc.pdf
sigue funcionando. Mmmm...
Podría ser esto:
Elessar:~ # find /usr/lib/Adobe/Reader9/ -type f -executable -exec chgrp talker '{}' \;
Elessar:~ # find /usr/lib/Adobe/Reader9/ -type f -executable -exec chmod g+s '{}' \;
Pero con eso no sólo no sale a internet, es que ni siquiera arranca:
cer@Elessar:~> acroread
/usr/lib/Adobe/Reader9/Reader/intellinux/bin/acroread: error while loading shared libraries:
libBIB.so: cannot open shared object file: No such file or directory
Y cambiando ese fichero no vale. Así que deshago el cambiazo:
Elessar:~ # find /usr/lib/Adobe/Reader9/ -type f -executable -exec chmod g-s '{}' \;
Y lo dejo aquí a ver si alguno de vosotros encuentra la combinación de ficheros que hay que hacer
sGID para que el acrobat funcione pero no llame a casa. Yo lo tenía hecho, pero con otra versión del
reader.
Y me voy a hacer cosas útiles como fregar suelos, que no me dejan tiempo para hacer cosas
interesantes como leer los avisos de seguridad que hay por ahí >:-)
- --
Cheers / Saludos,
Carlos E. R.
(from 11.2 x86_64 "Emerald" GM (Elessar))
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.12 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/
iEYEARECAAYFAkwTXpIACgkQU92UU+smfQWtQQCgi2H9xYOitidgT4RI/xGfO46m
bhkAnRIxrB9CY6gS/bEQlNV+EjH0E7Jl
=LU/w
-----END PGP SIGNATURE-----
--
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