View previous topic :: View next topic |
Author |
Message |
pcmaster Advocate
Joined: 04 Dec 2003 Posts: 2234 Location: Barcelona
|
Posted: Thu Feb 04, 2021 8:13 pm Post subject: |
|
|
Tu ebuild me ha funcionado. tanto para firmar archivos como desde el navegador. Muchas gracias por hacerlo y publicarlo. _________________ pcmaster |
|
Back to top |
|
|
cameta Veteran
Joined: 04 Aug 2004 Posts: 1351
|
Posted: Mon Feb 22, 2021 2:21 pm Post subject: |
|
|
El ebuild funciona de maravilla.
En mi caso con el paquete
dev-java/openjdk-jre-bin-8.272_p10:8::gentoo
Y he solucionado el problema con que no detecta las firmas electrónicas en los profiles.
Hay que editar
~/.mozilla/firefox/profiles.ini
Code: | Profile2]
Name=default3
IsRelative=1
Path=c5lybz6d.default
[Profile1]
Name=dev-edition-default
IsRelative=1
Path=caushzss.dev-edition-default
[Profile0]
Name=default
IsRelative=1
Path=wyq9p96d.default
Default=1
[General]
StartWithLastProfile=1
Version=2
[Install11457493C5A56847]
Default=wyq9p96d.default
Locked=1
|
Y poner el profile que usamos por defecto y donde tenemos instalados los certificados en primer lugar. tal como muestro en este ejemplo. Así no hay que borrar los profiles como dice el ebuild.
Code: | [Profile0]
Name=default
IsRelative=1
Path=wyq9p96d.default
Default=1
[Profile2]
Name=default3
IsRelative=1
Path=c5lybz6d.default
[Profile1]
Name=dev-edition-default
IsRelative=1
Path=caushzss.dev-edition-default
[General]
StartWithLastProfile=1
Version=2
[Install11457493C5A56847]
Default=wyq9p96d.default
Locked=1 |
Eso si como que nunca hay felicidad en casa del pobre.
1º Para hacer funcionar el DNIe con la nueva versión de dev-libs/opensc-0.21.0
hay que instalar app-crypt/ccid-1.4.33::gentoo USE="usb -kobil-midentity -twinserial"
O en caso contrario no os va a detectar el lector del DNIe
Code: | dnie-tool
No smart card readers found. |
2º Los certificados de mi DNIe están revocados desde el 2017 por la famosa vulnerabilidad ROCA (CVE-2017-15361.
No me había dado cuenta porque uso la firma electrónica de la FNMT. Ahora es cuestión de ir a la comisaria y ver si puedo renovarlos. No hay duda esto del DNIe es capaz de volver loco al Gran Hacker. _________________ Si algo falla LEE el jodido manual, Si sigue fallando LEE BIEN el jodido manual. |
|
Back to top |
|
|
cameta Veteran
Joined: 04 Aug 2004 Posts: 1351
|
Posted: Tue Feb 23, 2021 2:20 pm Post subject: |
|
|
Ya he ido. Por lo visto necesito un DNIe nuevo. Me han dado cita para mañana. Ya veremos si funciona. _________________ Si algo falla LEE el jodido manual, Si sigue fallando LEE BIEN el jodido manual. |
|
Back to top |
|
|
cameta Veteran
Joined: 04 Aug 2004 Posts: 1351
|
Posted: Wed Feb 24, 2021 12:10 pm Post subject: |
|
|
Ya tengo el DNI nuevo, y a diferencia del antiguo me he dado cuenta que después de entrar la contraseña del DNI (la ventana donde la entro es distinta que la que tenía antes) aparece la pantalla donde te ofrece la opción de continuar con el DNIe o usar cualquier certificado.
Si le das a la del DNIe te da el siguiente error.
No ha sido posible inicializar su DNIe
Se continuará con el almacén por defecto del sistema.
De manera curiosa los certificados del DNIe aparecen sin problemas por lo que podemos firmar igual. Si usamos la opción usar cualquier certificado no hay error y también tenemos los certificados del DNIe.
Mi versión de DNIe
DNIe Version: DNIe 04.21 A9 H 0155 EXP 2-(5.3-6) _________________ Si algo falla LEE el jodido manual, Si sigue fallando LEE BIEN el jodido manual. |
|
Back to top |
|
|
expobi n00b
Joined: 29 Dec 2014 Posts: 74 Location: Santander - España
|
Posted: Thu Feb 25, 2021 10:23 pm Post subject: |
|
|
Hay otra forma de instalar AutoFirma.
A consecuencia de tener que renovar mis certificados de la FNMT me dio por probar 'app-arch/rpm', visto que el resultado fue satisfactorio lo probé también con AutoFirma.
No se necesita reinstalar dev-libs/openssl con la use [rfc3779] si no la tenias antes.
Todo lo comentado en este hilo en cuanto al resto de paquetes sería lo mismo.
Code: |
www-client/firefox || www-client/firefox-bin
virtual/jre
dev-util/desktop-file-utils
app-misc/ca-certificates
dev-libs/nss[utils]
|
Para instalar 'AutoFirma'
Code: |
# rpm -i --nodeps autofirma-1.6.5-1.noarch.rpm
|
Si da algún fallo de que falta algo, arreglarlo y reinstalar así:
Code: |
# rpm -i --nodeps --replacepkgs autofirma-1.6.5-1.noarch.rpm
|
Al final de la instalación sale esto:
Code: |
Enter Password or Pin for "NSS Certificate DB":
|
es la contraseña maestra de Firefox, (sin pistas sobre que usuario ) , es una petición por cada uno de los usuarios que tengan Firefox con contraseña maestra.
!Importante¡
Después de la instalación hay que cambiar el 'shebang' del archivo /usr/bin/autofirma
Code: |
#!/usr/bin/bash por #!/usr/bin/env bash o por #!/bin/bash
|
Editar el archivo ~/.mozilla/firefox/profiles.ini de cada uno de los usuarios que usen Firefox
y poner el [Profile0] al principio del archivo
Code: |
[Profile0]
Name=default-release
IsRelative=1
Path=xxxxxxxx.default-release
|
Y con esto ya funciona perfectamente.
Página para comprobarlo: https://valide.redsara.es/valide/inicio.html
Por cierto si se pierde la carpeta ~/.mozilla
o se instala Firefox después de AutoFirma
o se crea un nuevo usuario y queremos que use AutoFirma con su Firefox
hay que acordarse del anterior paso con el profiles.ini
Mensajes de mi instalación:
Code: |
# rpm -i --nodeps /home/xxxxxx/Descargas/AutoFirma_Linux/autofirma-1.6.5-1.noarch.rpm
error: El macro %__python tiene un cuerpo vacío
feb 25, 2021 8:50:02 PM es.gob.afirma.standalone.configurator.AutoFirmaConfigurator <init>
INFORMACIÓN: Se configurara la aplicacion en modo nativo
feb 25, 2021 8:50:02 PM es.gob.afirma.standalone.configurator.ConsoleManager getConsole
INFORMACIÓN: Se utilizara la consola del sistema
feb 25, 2021 8:50:02 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure
INFORMACIÓN: Identificando directorio de aplicación...
feb 25, 2021 8:50:02 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure
INFORMACIÓN: Directorio de aplicación: /usr/lib64/autofirma
feb 25, 2021 8:50:02 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure
INFORMACIÓN: Generando certificado para la comunicación con el navegador web...
feb 25, 2021 8:50:03 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure
INFORMACIÓN: Se guarda el almacén de claves en el directorio de instalación de la aplicación
feb 25, 2021 8:50:04 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure
INFORMACIÓN: Se va a instalar el certificado en el almacen de Mozilla Firefox
feb 25, 2021 8:50:04 PM es.gob.afirma.standalone.configurator.ConfiguratorFirefoxLinux createScriptsToSystemKeyStore
INFORMACIÓN: Comprobamos que se encuentre certutil en el sistema
feb 25, 2021 8:50:04 PM es.gob.afirma.standalone.configurator.ConfiguratorLinux configure
INFORMACIÓN: Fin de la configuración
Enter Password or Pin for "NSS Certificate DB":
Enter Password or Pin for "NSS Certificate DB":
|
Last edited by expobi on Thu Mar 11, 2021 1:34 am; edited 1 time in total |
|
Back to top |
|
|
mimosinnet l33t
Joined: 10 Aug 2006 Posts: 717 Location: Barcelona, Spain
|
Posted: Mon Mar 01, 2021 12:24 pm Post subject: |
|
|
quilosaq wrote: | He hecho un ebuild que creo que funciona. |
Estaba intentando aprender a hacer ebuilds para instalar autofirma y he encontrado este ebuild (que supongo será el mismo que está en el overlay guru). Para instalarlo:
Code: | eselect repository enable guru
emerge --sync guru
emerge -av app-crypt/autofirma |
¡Mil gracias! _________________ Please add [solved] to the initial post's subject line if you feel your problem is resolved.
Take care of the community answering unanswered posts.
Last edited by mimosinnet on Wed Mar 03, 2021 9:20 am; edited 1 time in total |
|
Back to top |
|
|
quilosaq Veteran
Joined: 22 Dec 2009 Posts: 1540
|
Posted: Mon Mar 01, 2021 7:10 pm Post subject: |
|
|
mimosinnet:
Los 2 ebuils son distintos. El de gentoo.org es posterior (SEP20) y presumiblemente tendrá mayor calidad que el primero. |
|
Back to top |
|
|
expobi n00b
Joined: 29 Dec 2014 Posts: 74 Location: Santander - España
|
Posted: Sat Mar 06, 2021 1:50 am Post subject: |
|
|
quilosaq wrote: | mimosinnet:
Los 2 ebuils son distintos. El de gentoo.org es posterior (SEP20) y presumiblemente tendrá mayor calidad que el primero. |
Eres muy generoso quilosaq y eso te alaba, pero el ebuild app-crypt/autofirma-1.6.5-r1::guru no esta bien pensado para que AutoFirma funcione correctamente.
Después de muchas pruebas para que AutoFirma haga lo que se supone que debe hacer usando este ebuild estos son los pasos necesarios:
1 - Como comentó mimosinnet
Code: | eselect repository enable guru
emerge --sync guru
emerge -av app-crypt/autofirma |
( por cierto si quieres que app-eselect/eselect-repository sincronice los repositorios basados en git tienes que tener instalado dev-vcs/git ) ( me costo un rato darme cuenta )
2 - Editar el archivo ~/.mozilla/firefox/profiles.ini de cada uno de los usuarios que usen Firefox y poner el [Profile0] al principio del archivo.
Con esto AutoFirma firma, pero no te identifica. (Cuando una página de la administración requiera AutoFirma para identificarte, la conexión dará error y no podrás identificarte)
3 - Instalar Code: | dev-libs/nss[utils] |
4 - Ejecutar como administrador:
Code: | java -jar '/usr/share/autofirma/lib/autofirmaConfigurador.jar' |
5 - Ejecutar como administrador:
Code: | . '/usr/share/autofirma/lib/script.sh' |
Ahora si que podrás usar AutoFirma para identificarte en las páginas de la administración usando Firefox.
Si alguien sabe como hacerle llegar estos detalles al amigo chuso (Jesus Perez Rey), igual puede mejorar el ebuild. Yo no se como va esto de informar sobre los ebuilds.
Last edited by expobi on Sat Mar 06, 2021 3:33 pm; edited 1 time in total |
|
Back to top |
|
|
xickwy n00b
Joined: 01 Mar 2021 Posts: 4
|
Posted: Sat Mar 06, 2021 3:56 am Post subject: |
|
|
Desde chromium funcionando a las maravillas. He realizado los mismos pasos y solo he tenido que añadir esto desde bash
Code: | modutil -add "DNI-e" -libfile /usr/lib64/opensc-pkcs11.so -dbdir sql:/home/$USER/.pki/nssdb |
Reiniciamos el chrome, o forzar salir con htop y al volver a arrancar y darle a Configuración->Certificados, nos aparece el menú pidiendonos el pin del DNIe
Lo unico, que aún no he probado es a reiniciar el equipo o al menos reiniciar XFCE. Porque no me abre los enlaces tipo afirma://..... Al darle el click en la pagina murciana, antes me decia que no exstia, al hacer emerge en el paquete anterior, mira, al menos desapareció. Pero no me abre la ventana del pin. Cosa rara...
Sin contar, antes de las dependencias que necesita el DNIe, realice los emerges en los paquetes opensc pcsc-tools jss y ccid con los USE pcsc-lite, secure-messaging y ssl. Lo activé con OpenRC. Code: | # rc-update add pcscd default
# /etc/init.d/pcscd start |
y verificado con usuario estandar
Lo saqué de esta pagina y desde luego, ya me reconocía el DNIe, pero no los navegadores, gracias a Google pude encontrar el post y una solución |
|
Back to top |
|
|
jpscasas n00b
Joined: 10 Feb 2021 Posts: 12
|
Posted: Mon Dec 06, 2021 11:30 am Post subject: |
|
|
A mí me ha funcionado app-crypt/autofirma-bin-1.6.5-r1 a la primera desde Firefox-78.11.0esr. Previamente modifiqué .mozilla/firefox/profiles.ini colocando [Profile0] en primera posición como se ha indicado en este tema, aunque no sé si en mi caso influyó en algo. Muchas gracias por las indicaciones para conseguirlo. |
|
Back to top |
|
|
quilosaq Veteran
Joined: 22 Dec 2009 Posts: 1540
|
|
Back to top |
|
|
quilosaq Veteran
Joined: 22 Dec 2009 Posts: 1540
|
|
Back to top |
|
|
expobi n00b
Joined: 29 Dec 2014 Posts: 74 Location: Santander - España
|
Posted: Thu Mar 17, 2022 1:11 am Post subject: |
|
|
Gracias quilosaq, instalada la nueva versión y funciona perfectamente. |
|
Back to top |
|
|
mani001 Guru
Joined: 04 Dec 2004 Posts: 486 Location: Oleiros
|
Posted: Sun Mar 27, 2022 5:07 pm Post subject: |
|
|
Por si a alguien más le sirve...para que me funcione en Firefox yo tuve que ejecutar
Code: | ln -sf /etc/autofirma/AutoFirma.js |
dentro del directorio /usr/lib64/firefox/defaults/pref |
|
Back to top |
|
|
quilosaq Veteran
Joined: 22 Dec 2009 Posts: 1540
|
Posted: Tue Mar 29, 2022 12:35 am Post subject: |
|
|
mani001 wrote: | Por si a alguien más le sirve...para que me funcione en Firefox yo tuve que ejecutar
Code: | ln -sf /etc/autofirma/AutoFirma.js |
dentro del directorio /usr/lib64/firefox/defaults/pref |
Ya no debería ser necesario hacerlo. Corregido en el ebuild. |
|
Back to top |
|
|
mani001 Guru
Joined: 04 Dec 2004 Posts: 486 Location: Oleiros
|
Posted: Tue Mar 29, 2022 8:54 am Post subject: |
|
|
Gracias!! |
|
Back to top |
|
|
expobi n00b
Joined: 29 Dec 2014 Posts: 74 Location: Santander - España
|
Posted: Wed Mar 30, 2022 10:42 pm Post subject: |
|
|
Para el caso de que se tenga varios usuarios que usen AutoFirma:
Cuando se piden las claves de la cuenta de firefox al final de la instalación, se pedira una por cada usuario. El orden en que se piden se encuentra en el archivo: Code: | /usr/lib/AutoFirma/script.sh |
|
|
Back to top |
|
|
papu l33t
Joined: 25 Jan 2008 Posts: 729 Location: Sota algun pi o alzina...
|
Posted: Sat Apr 30, 2022 11:02 pm Post subject: |
|
|
gracias amigo
ya actualice , aunque el enlace este no funciona iendo a tu pagina base https://gitlab.com/quilosaq/qq-gentoo ya ta _________________ --so ~amd64 & openrc --cpu 7700 non-x --ram 2x16GB --gpu RX 470 |
|
Back to top |
|
|
quilosaq Veteran
Joined: 22 Dec 2009 Posts: 1540
|
|
Back to top |
|
|
mvasi90 n00b
Joined: 16 Aug 2021 Posts: 19
|
Posted: Tue May 31, 2022 3:03 pm Post subject: |
|
|
Un cordial saludo todos los participantes y lectores.
Quiero aportar mi experiencia con AutoFirma en Gentoo a fecha 31 de Mayo de 2022.
Paquetes instalados Code: |
www-client/firefox-bin-91.9.0::gentoo was built with the following:
USE="alsa ffmpeg gmp-autoupdate pulseaudio wayland (-selinux)" ABI_X86="(64)" L10N="-ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -de -dsb -el -en-CA -en-GB -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -ia -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mk -mr -ms -my -nb -ne -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW"
dev-java/openjdk-bin-8.322_p06::gentoo was built with the following:
USE="alsa cups -examples -headless-awt (-selinux) -source" ABI_X86="(64)"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
dev-java/icedtea-web-1.8.4-r1::gentoo was built with the following:
USE="-debug -doc" ABI_X86="(64)"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
dev-java/icedtea-bin-3.16.0::gentoo was built with the following:
USE="alsa cups gtk pulseaudio (-big-endian) -doc -examples -headless-awt (-selinux) -source" ABI_X86="(64) -32 (-x32)"
dev-libs/openssl-1.1.1o::gentoo was built with the following:
USE="asm -rfc3779 -sctp -sslv3 -static-libs -test -tls-compression -tls-heartbeat -vanilla -verify-sig -weak-ssl-ciphers" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="(sse2)"
CFLAGS="-march=skylake -O2 -pipe -fno-strict-aliasing -Wa,--noexecstack"
CXXFLAGS="-march=skylake -O2 -pipe -fno-strict-aliasing -Wa,--noexecstack"
FEATURES="binpkg-logs distlocks xattr config-protect-if-modified ebuild-locks news unknown-features-warn merge-sync parallel-fetch sandbox unmerge-logs network-sandbox strict fixlafiles binpkg-docompress usersandbox qa-unresolved-soname-deps pid-sandbox sfperms unmerge-orphans userpriv ipc-sandbox assume-digests protect-owned usersync userfetch multilib-strict binpkg-dostrip preserve-libs"
|
Java en uso Code: | eselect java-vm list
Available Java Virtual Machines:
[1] icedtea-bin-8
[2] openjdk-bin-8 system-vm
[3] openjdk-bin-11
java -version
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on
openjdk version "1.8.0_322"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM (Temurin)(build 25.322-b06, mixed mode) |
Resultados
- AutoFirma (manual) -> Funciona
- AutoFirma (Firefox)
_____________
(1) No funciona: Sólo funciona al cambiar de openjdk a icedtea (sudo eselect java-vm set system icedtea-bin)
Investigación
Al editar el fichero /usr/bin/AutoFirma activando la depuración SSL:
java -Djavax.net.debug=ssl -Djdk.tls.maxHandshakeMessageSize=50000 -jar /usr/lib/AutoFirma/AutoFirma.jar $*, descubrí el origen del fallo:
Code: | javax.net.ssl|FINE|01|main|2022-05-31 15:57:57.957 CEST|SSLCipher.java:438|jdk.tls.keyLimits: entry = AES/GCM/NoPadding KeyUpdate 2^37. AES/GCM/NOPADDING:KEYUPDATE = 137438953472
javax.net.ssl|SEVERE|1C|WebSocketSelector-28|2022-05-31 15:58:00.405 CEST|TransportContext.java:316|Fatal (INTERNAL_ERROR): problem wrapping app data (
"throwable" : {
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171)
at sun.security.ssl.ServerHandshakeContext.<init>(ServerHandshakeContext.java:62)
at sun.security.ssl.TransportContext.kickstart(TransportContext.java:220)
at sun.security.ssl.SSLEngineImpl.writeRecord(SSLEngineImpl.java:159)
at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:130)
at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:110)
at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:471)
at org.java_websocket.SSLSocketChannel2.wrap(SSLSocketChannel2.java:182)
at org.java_websocket.SSLSocketChannel2.<init>(SSLSocketChannel2.java:112)
at org.java_websocket.server.DefaultSSLWebSocketServerFactory.wrapChannel(DefaultSSLWebSocketServerFactory.java:71)
at org.java_websocket.server.WebSocketServer.doAccept(WebSocketServer.java:429)
at org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:344)
at java.lang.Thread.run(Thread.java:750)}
)
|
Esto se debe a que se utiliza protocolos y algoritmo de cifrado deshabilitado por motivos de seguridad.
Para comprobarlo he deshabilitado temporalmente dicha característica, comentando la siguiente entrada en fichero /opt/openjdk-bin-8/jre/lib/security/java.security:
Code: | jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves | Al volver a ralizar la prueba (sin haber cerrado el navegador ni haber salido de la página), funciona.
A diferencia de openjdk, icedtea no deshabilita los protocolos TLS previos a la versión 1.2 ni tampoco los algoritmos de cifrado vulnerables. En java.security de icedtea:
Code: | jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, \
EC keySize < 224, 3DES_EDE_CBC, anon, NULL |
Solución
Usar openjdk en lugar de icedtea y usar únicamente los sitios web actualizados, exigiendo a las administraciones públicas actualizar sus servicios que ponen en riesgo la seguridad y privacidad de nuestros datos y dispositivos.
Notas
No estoy de acuerdo en absoluto con esta mala práctica de ejecutar código remoto en los dispositivos de los usuarios. Aún existen sitios de la administración que descargan código bytecode de java en jnlp y lo ejecuta.
En lugar de desarrollar software en WebAssembly que se ejecuta directamente en el navegador, lo hacen en Java porque es más fácil, complicando la vida a los usuarois.
Aún así, Java 8 está en camino de la obsolescencia, y a partir de la versión 9 de Java (la 10, 11,12,13,14,15,16,17) se incorporaron los módulos, lo que exige al desarrollador proporcionar una versión reducida de la máquina virtual de Java en el própio paquete que instala el usuario.
Por otro lado, tampoco estoy de acuerdo con estos instaladores que aparecen en las distribuciones ArchLinux, Gentoo, Debian, etc.
¿Qué es eso de ejecutar java como superusuario root?
... java -jar AutoFirmaConfigurador.jar...
Somos usuarios de Linux y Unix por motivos de privacidad y seguridad, pero parece que no se respeta eso, y el resultado es una falsa sensación de seguridad y de privacidad.
En mis sistemas ninguna aplicación tiene acceso a internet. Todas las que tienen acceso a internet están aisladas en un sandbox bwrap (bubblewrap), y sólo tienen acceso cuando yo lo activo explícitamente (activando un flag en el momento de ejecución) y al sitio o sitios web concreto/s (dominio/subdominio/IP).
Las garras de los espías están en todas partes. Hay muchísimas aplicaciones que recopilan información del usuario: Android Studio, plugins de vim/nvim para el desarrollo de software, Signal Private Messenger, etc.
En el ejemplo de Signal, aunque incorpore cifrado de extremo a extremo, utiliza librerías de Google que se conectan constantemente a los servidores de Google. Nadie se preocupa por nada últimamente. |
|
Back to top |
|
|
papu l33t
Joined: 25 Jan 2008 Posts: 729 Location: Sota algun pi o alzina...
|
Posted: Tue May 31, 2022 9:38 pm Post subject: |
|
|
mvasi90 wrote: | Un cordial saludo todos los participantes y lectores.
Quiero aportar mi experiencia con AutoFirma en Gentoo a fecha 31 de Mayo de 2022.
Paquetes instalados Code: |
www-client/firefox-bin-91.9.0::gentoo was built with the following:
USE="alsa ffmpeg gmp-autoupdate pulseaudio wayland (-selinux)" ABI_X86="(64)" L10N="-ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -de -dsb -el -en-CA -en-GB -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -ia -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mk -mr -ms -my -nb -ne -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW"
dev-java/openjdk-bin-8.322_p06::gentoo was built with the following:
USE="alsa cups -examples -headless-awt (-selinux) -source" ABI_X86="(64)"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
dev-java/icedtea-web-1.8.4-r1::gentoo was built with the following:
USE="-debug -doc" ABI_X86="(64)"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
dev-java/icedtea-bin-3.16.0::gentoo was built with the following:
USE="alsa cups gtk pulseaudio (-big-endian) -doc -examples -headless-awt (-selinux) -source" ABI_X86="(64) -32 (-x32)"
dev-libs/openssl-1.1.1o::gentoo was built with the following:
USE="asm -rfc3779 -sctp -sslv3 -static-libs -test -tls-compression -tls-heartbeat -vanilla -verify-sig -weak-ssl-ciphers" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="(sse2)"
CFLAGS="-march=skylake -O2 -pipe -fno-strict-aliasing -Wa,--noexecstack"
CXXFLAGS="-march=skylake -O2 -pipe -fno-strict-aliasing -Wa,--noexecstack"
FEATURES="binpkg-logs distlocks xattr config-protect-if-modified ebuild-locks news unknown-features-warn merge-sync parallel-fetch sandbox unmerge-logs network-sandbox strict fixlafiles binpkg-docompress usersandbox qa-unresolved-soname-deps pid-sandbox sfperms unmerge-orphans userpriv ipc-sandbox assume-digests protect-owned usersync userfetch multilib-strict binpkg-dostrip preserve-libs"
|
Java en uso Code: | eselect java-vm list
Available Java Virtual Machines:
[1] icedtea-bin-8
[2] openjdk-bin-8 system-vm
[3] openjdk-bin-11
java -version
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on
openjdk version "1.8.0_322"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM (Temurin)(build 25.322-b06, mixed mode) |
Resultados
- AutoFirma (manual) -> Funciona
- AutoFirma (Firefox)
_____________
(1) No funciona: Sólo funciona al cambiar de openjdk a icedtea (sudo eselect java-vm set system icedtea-bin)
Investigación
Al editar el fichero /usr/bin/AutoFirma activando la depuración SSL:
java -Djavax.net.debug=ssl -Djdk.tls.maxHandshakeMessageSize=50000 -jar /usr/lib/AutoFirma/AutoFirma.jar $*, descubrí el origen del fallo:
Code: | javax.net.ssl|FINE|01|main|2022-05-31 15:57:57.957 CEST|SSLCipher.java:438|jdk.tls.keyLimits: entry = AES/GCM/NoPadding KeyUpdate 2^37. AES/GCM/NOPADDING:KEYUPDATE = 137438953472
javax.net.ssl|SEVERE|1C|WebSocketSelector-28|2022-05-31 15:58:00.405 CEST|TransportContext.java:316|Fatal (INTERNAL_ERROR): problem wrapping app data (
"throwable" : {
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171)
at sun.security.ssl.ServerHandshakeContext.<init>(ServerHandshakeContext.java:62)
at sun.security.ssl.TransportContext.kickstart(TransportContext.java:220)
at sun.security.ssl.SSLEngineImpl.writeRecord(SSLEngineImpl.java:159)
at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:130)
at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:110)
at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:471)
at org.java_websocket.SSLSocketChannel2.wrap(SSLSocketChannel2.java:182)
at org.java_websocket.SSLSocketChannel2.<init>(SSLSocketChannel2.java:112)
at org.java_websocket.server.DefaultSSLWebSocketServerFactory.wrapChannel(DefaultSSLWebSocketServerFactory.java:71)
at org.java_websocket.server.WebSocketServer.doAccept(WebSocketServer.java:429)
at org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:344)
at java.lang.Thread.run(Thread.java:750)}
)
|
Esto se debe a que se utiliza protocolos y algoritmo de cifrado deshabilitado por motivos de seguridad.
Para comprobarlo he deshabilitado temporalmente dicha característica, comentando la siguiente entrada en fichero /opt/openjdk-bin-8/jre/lib/security/java.security:
Code: | jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves | Al volver a ralizar la prueba (sin haber cerrado el navegador ni haber salido de la página), funciona.
A diferencia de openjdk, icedtea no deshabilita los protocolos TLS previos a la versión 1.2 ni tampoco los algoritmos de cifrado vulnerables. En java.security de icedtea:
Code: | jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, \
EC keySize < 224, 3DES_EDE_CBC, anon, NULL |
Solución
Usar openjdk en lugar de icedtea y usar únicamente los sitios web actualizados, exigiendo a las administraciones públicas actualizar sus servicios que ponen en riesgo la seguridad y privacidad de nuestros datos y dispositivos.
Notas
No estoy de acuerdo en absoluto con esta mala práctica de ejecutar código remoto en los dispositivos de los usuarios. Aún existen sitios de la administración que descargan código bytecode de java en jnlp y lo ejecuta.
En lugar de desarrollar software en WebAssembly que se ejecuta directamente en el navegador, lo hacen en Java porque es más fácil, complicando la vida a los usuarois.
Aún así, Java 8 está en camino de la obsolescencia, y a partir de la versión 9 de Java (la 10, 11,12,13,14,15,16,17) se incorporaron los módulos, lo que exige al desarrollador proporcionar una versión reducida de la máquina virtual de Java en el própio paquete que instala el usuario.
Por otro lado, tampoco estoy de acuerdo con estos instaladores que aparecen en las distribuciones ArchLinux, Gentoo, Debian, etc.
¿Qué es eso de ejecutar java como superusuario root?
... java -jar AutoFirmaConfigurador.jar...
Somos usuarios de Linux y Unix por motivos de privacidad y seguridad, pero parece que no se respeta eso, y el resultado es una falsa sensación de seguridad y de privacidad.
En mis sistemas ninguna aplicación tiene acceso a internet. Todas las que tienen acceso a internet están aisladas en un sandbox bwrap (bubblewrap), y sólo tienen acceso cuando yo lo activo explícitamente (activando un flag en el momento de ejecución) y al sitio o sitios web concreto/s (dominio/subdominio/IP).
Las garras de los espías están en todas partes. Hay muchísimas aplicaciones que recopilan información del usuario: Android Studio, plugins de vim/nvim para el desarrollo de software, Signal Private Messenger, etc.
En el ejemplo de Signal, aunque incorpore cifrado de extremo a extremo, utiliza librerías de Google que se conectan constantemente a los servidores de Google. Nadie se preocupa por nada últimamente. |
es vergonzoso lo de del java y las instituciones publicas.
por eso mismo luego las webs del estado son un excremento infame.
lo de tener que usar Autofirm es inenarrable...
_________________ --so ~amd64 & openrc --cpu 7700 non-x --ram 2x16GB --gpu RX 470
Last edited by papu on Tue Jun 14, 2022 3:06 pm; edited 1 time in total |
|
Back to top |
|
|
quilosaq Veteran
Joined: 22 Dec 2009 Posts: 1540
|
Posted: Sun Jun 12, 2022 11:40 pm Post subject: |
|
|
mvasi90 wrote: | ...
Java en uso Code: | eselect java-vm list
Available Java Virtual Machines:
[1] icedtea-bin-8
[2] openjdk-bin-8 system-vm
[3] openjdk-bin-11
java -version
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on
openjdk version "1.8.0_322"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM (Temurin)(build 25.322-b06, mixed mode) |
Resultados
- AutoFirma (manual) -> Funciona
- AutoFirma (Firefox)
(1) No funciona: Sólo funciona al cambiar de openjdk a icedtea (sudo eselect java-vm set system icedtea-bin) ... | En mi caso las 3 páginas para probar Autofirma con Firefox han funcionado con openjdk-bin-11 (dev-java/openjdk-bin-11.0.14_p9-r1) produciendo una firma correcta de los datos.
mvasi90 wrote: | ...
Esto se debe a que se utiliza protocolos y algoritmo de cifrado deshabilitado por motivos de seguridad.
Para comprobarlo he deshabilitado temporalmente dicha característica, comentando la siguiente entrada en fichero /opt/openjdk-bin-8/jre/lib/security/java.security:
Code: | jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves | ... | La configuración de jdk.tls.disabledAlgorithms en openjdk-bin-11 es la misma que en openjdk-bin-8 y sin embargo me ha funcionado sin hacer esas modificaciones temporales. Quizá la conclusión sobre que la administración está utilizando algoritmos inseguros pudiera estar equivocada. |
|
Back to top |
|
|
wellno1 n00b
Joined: 07 Mar 2006 Posts: 19
|
Posted: Sun Jun 26, 2022 8:58 am Post subject: |
|
|
En una máquina nueva no me deja autenticarme en la página de Clave, sigue en loop. Se que no es un problema de autofirma, pero a lo mejor alguien se ha encontrado con el mismo fallo y lo ha solucionado.
Mismo problema tanto con firefox como con chromium |
|
Back to top |
|
|
mvasi90 n00b
Joined: 16 Aug 2021 Posts: 19
|
Posted: Tue Jul 12, 2022 6:20 pm Post subject: |
|
|
quilosaq wrote: | En mi caso las 3 páginas para probar Autofirma con Firefox han funcionado con openjdk-bin-11 (dev-java/openjdk-bin-11.0.14_p9-r1) produciendo una firma correcta de los datos.
...
La configuración de jdk.tls.disabledAlgorithms en openjdk-bin-11 es la misma que en openjdk-bin-8 y sin embargo me ha funcionado sin hacer esas modificaciones temporales. Quizá la conclusión sobre que la administración está utilizando algoritmos inseguros pudiera estar equivocada. |
Hola quilosaq, acabo de ver tu post. Esto no me avisó cuando escribiste.
Acabo de realizar una prueba, y confirmo lo que dijiste. Con la versión 11 de Java funciona, incluso teniendo la misma configuración de seguridad.
El error de Java 8 es el mismo que antes, el protocolo utilizado es inseguro.
Si funciona con Java 11 debe ser que AutoFirma invoca algún método que se ha reescrito en las versiones recientes de Java y utiliza los protocolos de comunicación cifrada más recientes, o quizás eso lo elija el script de la Administración (porque algunas webs sí que funcionan con Java 8 ). No dispongo de más tiempo para investigar.
Saludos. |
|
Back to top |
|
|
cameta Veteran
Joined: 04 Aug 2004 Posts: 1351
|
Posted: Sun Jul 24, 2022 4:27 pm Post subject: |
|
|
openjdk-bin-8 Funciona aplicación. No funciona en web
openjdk-bin-11 Funciona aplicación Funciona en web
openjdk-bin-17 La aplicación advierte que no esta preparada y podría dar errores. Funciona en web _________________ Si algo falla LEE el jodido manual, Si sigue fallando LEE BIEN el jodido manual. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|