Package Details: warsaw 1.12.3.11-3

Git Clone URL: https://aur.archlinux.org/warsaw.git (read-only, click to copy)
Package Base: warsaw
Description: Banking security tool developed by GAS Tecnologia
Upstream URL: https://seg.bb.com.br
Keywords: Banco BB Brasil Caixa CEF Econômica Federal Itau
Licenses: custom
Conflicts: warsaw-bin
Provides: warsaw
Submitter: rafaelff
Maintainer: None
Last Packager: afterSt0rm
Votes: 39
Popularity: 0.000000
First Submitted: 2017-03-08 22:36 (UTC)
Last Updated: 2022-04-28 23:39 (UTC)

Pinned Comments

afterSt0rm commented on 2022-04-29 00:24 (UTC)

Eu adotei o pacote e o atualizei para incluir as alterações feitas pelo @esauvisky e outros usuários uma vez que elas corrigiram as falhas para mim.

No entanto eu recomendo VEEMENTEMENTE que vocês utilizem o pacote warsaw-bin ao invés deste aqui, pois o processo de instalação, configuração e atualização são muito menos complexos e muito mais estáveis.

Latest Comments

« First ‹ Previous 1 .. 7 8 9 10 11 12 13 14 15 16 17 .. 32 Next › Last »

piussj2 commented on 2018-01-25 19:34 (UTC)

@fbello aqui: [piu@kuromiya ~]$ ps -ef|grep warsaw root 453 1 0 17:22 ? 00:00:00 /usr/local/bin/warsaw/core piu 1106 865 56 17:32 ? 00:00:07 /usr/lib/firefox/firefox /home/piu/Desktop/Leandro/AUR Comment for warsaw.html piu 1178 1083 0 17:32 pts/0 00:00:00 grep warsaw [piu@kuromiya ~]$ sysctl net.ipv4.tcp_syncookies net.ipv4.tcp_syncookies = 1 [piu@kuromiya ~]$ sysctl net.ipv4.tcp_synack_retries net.ipv4.tcp_synack_retries = 3 [piu@kuromiya ~]$ sysctl net.ipv4.tcp_max_syn_backlog net.ipv4.tcp_max_syn_backlog = 65536

ryukinix commented on 2018-01-25 19:21 (UTC) (edited on 2018-01-25 19:22 (UTC) by ryukinix)

WARSAW É UM CANCER. :[ Já fiz a versão do openrc que está hosteado no github ryukinix/warsaw, mas sinceramente é terrível, estava funcionando perfeitamente até esses dias, agora não tenho mínima ideia do que aconteceu e vejo o pessoal fazendo várias coisas novas pq os caras tão vacilando novamente.

http://www.dieboldnixdorf.com.br/warsaw se caso o warsaw rodar com sucesso, mas mesmo assim não rolar de entrar no seu banco, tentem acessar essa pagina aí do autor.

fbello commented on 2018-01-25 19:13 (UTC) (edited on 2018-01-25 19:13 (UTC) by fbello)

@esauvisky, também acho horroroso ter que matar os navegadores, mas o instalador não funciona se eles estiverem rodando. Como o script de instalação não deve ser interativo (li isso em algum lugar), o que tu sugeres? Talvez algum aviso mais explícito nos comentários do PKGBUILD? Esse Warsaw é horrível!

fbello commented on 2018-01-25 19:08 (UTC)

@piussj2, acabei de acessar o site do BB com o Chromium e o Firefox, e eu não tenho o flash instalado. Tenta descobrir o que está acontecendo de errado. Roda os seguintes comandos e posta o resultado:

ps -ef|grep warsaw
sysctl net.ipv4.tcp_syncookies
sysctl net.ipv4.tcp_synack_retries
sysctl net.ipv4.tcp_max_syn_backlog

piussj2 commented on 2018-01-25 15:03 (UTC)

@fbello acabei de testar seu pacote, e não funcionou ele só roda, no firefox, com flash ativado, e mesmo assim, não passa da tela de login do banco, ou seja, deu na mesma...

esauvisky commented on 2018-01-25 13:18 (UTC) (edited on 2018-01-25 13:20 (UTC) by esauvisky)

@fbello Seu PKGBUILD parece bem abrangente! Irei testar e confirmar se funciona.

Por sinal, dado que você está dando ênfase ao Banco do Brasil e que os mantenedores deste pacote não são muito ativos na AUR, porque você não posta seu próprio pacote como diagbb mesmo?

Algumas recomendações que eu poderia dar a princípio são:

  • Não matar os navegadores sem, pelo menos, alguma confirmação do usuário antes.
  • Em vez de copiar as bibliotecas e torná-las imutáveis, me parece mais robusto fazer links simbólicos e tornar o diretório inteiro em append-only.
  • Ignore Arch32, dado que i686 entrou em phasing-out em 27 de janeiro de 2017, e a partir de novembro de 2017 o Arch efetivamente tornou sistemas 32 bits não-suportados.

Good job!

fbello commented on 2018-01-25 11:46 (UTC) (edited on 2018-01-25 11:55 (UTC) by fbello)

Segue o meu PKGBUILD, para um pacote com nome diagbb. Funciona perfeitamente para o Banco do Brasil, sem quaisquer ações adicionais para o Firefox. Para o Chromium, é necessário ativar chrome://flags/#allow-insecure-localhost. Não testei com o ArchLinux32 ou com outros bancos. Seria bom se isso fosse integrado com o pacote warsaw. Posso fazer isso, se houver interesse.

PKGBUILD:

# Maintainer: Flavio Bello Fialho <bello dot flavio at gmail dot com>
# WARNING: This does not comply to Arch packaging standards due to the upstream mess
# (upstream binary is hardwired into /usr/local)

pkgname=diagbb pkgver=1.0 pkgrel=1 pkgdesc="Warsaw banking security client for Banco do Brasil" arch=("i686" "x86_64") url="https://seg.bb.com.br/home.html" license=("custom") depends=("openssl" "nss" "curl" "dbus" "openssl-1.0" "at-spi2-core") optdepends=("firefox: Firefox support" "chromium: Chromium support") provides=("warsaw") conflicts=("warsaw" "warsaw-bb") options=("!strip") install="diagbb.install" source=("warsaw.service" "warsaw.conf" "fix_wscertmgr_asking_for_login_password.patch") md5sums=("5930ec66ae1b0130e720326514339b63" "6a9c3c6e4b118d592b4aa28e323a0fd0" "b556a87d5099ae9575fcc8317148709b") sha256sums=("79836d778e5b79328c52a51c39b771fa78f753578cdec0ce9045f9d52529ab24" "360a9097713968aacc3c5494c9d23a364ed39a7ce15c570eb7c529455e1602fd" "fdd4b09cc3e4e83f21b42b929153c215e8ac8f68e6e7f75bc0be2bfddc8b864c") source_x86_64=("https://cloud.gastecnologia.com.br/bb/downloads/ws/linux/$pkgname-$pkgver.64.run") md5sums_x86_64=("5205e86eeb0acaf133d77b8a57129d16") sha256sums_x86_64=("9685b093cc30c7fb07c52771be941da0490aac6ce50b82ee936a3106d49bdb62") source_i686=("https://cloud.gastecnologia.com.br/bb/downloads/ws/linux/$pkgname-$pkgver.32.run") md5sums_i686=("cfc6a088be1c96e0dcf902c4159b9370") sha256sums_i686=("0b75b2bff4d77981836f817b12d3dc36ce86e67c35d65a639769a759e73f4657")

if [ "$CARCH" == "x86_64" ]; then _BITS=64 _LDLINUXSUFFIX='-x86-64' else _BITS=32 _LDLINUXSUFFIX='' fi

prepare() { warsaw_src="$srcdir/tmp/ModSegBB_war/warsaw_x${_BITS}/src" # 91 is a magic number found in the installer tail -n +91 "$srcdir/$pkgname-$pkgver.${_BITS}.run" | tar -zxf - -C "$srcdir" patch -p0 -i "$srcdir/fix_wscertmgr_asking_for_login_password.patch" -d "$warsaw_src" }

package() { warsaw_src="$srcdir/tmp/ModSegBB_war/warsaw_x${_BITS}/src" install -D -m 644 -t "$pkgdir/etc/xdg/autostart" "$warsaw_src"/warsaw.desktop install -D -m 644 -t "$pkgdir/usr/share/licenses/$pkgname" "$warsaw_src"/copyright install -D -m 644 -t "$pkgdir/usr/share/fonts/truetype" "$warsaw_src"/dbldwrsw.ttf install -D -m 644 -t "$pkgdir/usr/local/etc/warsaw" "$warsaw_src"/config.cfg install -D -m 644 -t "$pkgdir/usr/local/etc/warsaw" "$warsaw_src"/features.dat install -D -m 640 -t "$pkgdir/usr/local/etc/warsaw" "$warsaw_src"/gas.dbd install -D -m 644 -t "$pkgdir/usr/local/etc/warsaw" "$warsaw_src"/uninstall.dat install -D -m 644 -t "$pkgdir/usr/local/etc/warsaw" "$warsaw_src"/ws.cnf install -D -m 755 -t "$pkgdir/usr/local/bin/warsaw" "$warsaw_src"/core install -D -m 755 -t "$pkgdir/usr/local/bin/warsaw" "$warsaw_src"/migratecache install -D -m 755 -t "$pkgdir/usr/local/bin/warsaw" "$warsaw_src"/wsatspi install -D -m 750 -t "$pkgdir/usr/local/bin/warsaw" "$warsaw_src"/wscertmgr install -D -m 644 -t "$pkgdir/usr/local/lib/systemd/system" "$srcdir"/warsaw.service install -D -m 755 -t "$pkgdir/usr/local/lib/warsaw" "$warsaw_src"/ld-linux${_LDLINUXSUFFIX}.so.2 install -D -m 755 -t "$pkgdir/usr/local/lib/warsaw" "$warsaw_src"/ws*.so install -D -m 644 -t "$pkgdir/usr/local/lib/warsaw" "$warsaw_src"/lib* install -d -m 777 "$pkgdir/run/shm" # Replace broken Warsaw glibc libraries with Arch Linux glibc (fixes warsaw core dump when run as root) for file in ld-linux${_LDLINUXSUFFIX}.so.2 libc.so.6 libdl.so.2 libpthread.so.0; do rm "$pkgdir/usr/local/lib/warsaw/$file" ln -s "/usr/lib/$file" "$pkgdir/usr/local/lib/warsaw/" done # Avoid SYN problems (fixes W06 connection error) install -D -m 644 -t "$pkgdir/etc/sysctl.d" "$srcdir/warsaw.conf" }

diagbb.install:
post_install() {
    # Avoid having Warsaw replace glibc symlinks:
    for file in ld-linux.so.2 ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0; do
        if [ -L "/usr/local/lib/warsaw/$file" ]; then
            rm -v "/usr/local/lib/warsaw/$file"
            cp -v "/usr/lib/$file" /usr/local/lib/warsaw/
            chmod 555 "/usr/local/lib/warsaw/$file"
            chattr +i "/usr/local/lib/warsaw/$file"
        fi
    done
    # Avoid SYN problems (fixes W06 connection error) without rebooting:
    sysctl net.ipv4.tcp_syncookies=1
    sysctl net.ipv4.tcp_synack_retries=3
    sysctl net.ipv4.tcp_max_syn_backlog=65536
    echo "Killing browsers..."
    killall firefox
    killall chromium
    sleep 1s
    # Generating warsaw certificates
    rm -rf /usr/local/etc/warsaw/{ws.dat,ws.hsh}
    /usr/local/bin/warsaw/wscertmgr
    echo "Enabling warsaw service..."
    systemctl enable warsaw.service
    systemctl start warsaw.service
    for usr_profile in $(ls -1 /home); do
        [ "$usr_profile" == "root" ] && continue
        [ -f /home/$usr_profile/.mozilla/firefox/profiles.ini ] || [ -d /home/$usr_profile/.pki/nssdb ] || continue
        # Not sure what this does, but it is on the upstream installer
        /usr/local/bin/warsaw/migratecache /home/$usr_profile
        su -c "export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/`stat -c %u /home/$usr_profile`/bus;
               dbus-send --print-reply --type=method_call --dest=org.a11y.Bus \
                   /org/a11y/bus org.freedesktop.DBus.Properties.Set \
                   string:org.a11y.Status string:IsEnabled variant:boolean:true;
               gsettings set org.gnome.desktop.interface toolkit-accessibility true;
               /usr/local/bin/warsaw/core" $usr_profile
    done
    echo "*** In order to use Warsaw from Chromium, you MUST activate the flag:"
    echo "    chrome://flags/#allow-insecure-localhost"
}

pre_upgrade() { pre_remove }

post_upgrade() { post_install }

pre_remove() { echo "Stopping warsaw service..." systemctl stop warsaw.service sleep 5s systemctl disable warsaw.service killall core killall wsatspi echo "Killing browsers..." killall firefox killall chromium sleep 1s # Removing certificate from Firefox profiles for usr_profile in $(ls -1 /home); do [ -f /home/$usr_profile/.mozilla/firefox/profiles.ini ] || continue for line in $(cat /home/$usr_profile/.mozilla/firefox/profiles.ini); do field_name=${line%=*} [ "$field_name" = "Path" ] || continue profile=${line#*=} [ -d /home/$usr_profile/.mozilla/firefox/$profile ] || continue su -c "certutil -D -d /home/$usr_profile/.mozilla/firefox/$profile -n \"Warsaw Personal CA\"" $usr_profile 2>/dev/null done done # Removing certificate from Chrome and other browsers for usr_profile in $(ls -1 /home); do [ -d /home/$usr_profile/.pki/nssdb ] || continue su -c "certutil -D -d sql:/home/$usr_profile/.pki/nssdb -n \"Warsaw Personal CA\"" $usr_profile 2>/dev/null done # Removing localhost key pair rm -rf /usr/local/etc/warsaw/{ws.dat,ws.hsh} rm -rf /tmp/wi* /var/run/shm/sem.WS_* /var/run/shm/sem.wi* /var/run/shm/wi* # Allow removing glibc libraries from warsaw for file in ld-linux.so.2 ld-linux-x86-64.so.2 libc.so.6 libdl.so.2 libpthread.so.0; do if [ -f "/usr/local/lib/warsaw/$file" ]; then chattr -i "/usr/local/lib/warsaw/$file" fi done }

post_remove() { # Cleaning up /usr/local rm -rf /usr/local/bin/warsaw /usr/local/etc/warsaw /usr/local/lib/warsaw }

warsaw.service:
[Unit]
Description=Warsaw banking security client

[Service] Type=forking ExecStart=-/usr/local/bin/warsaw/core PIDFile=/run/core.pid

[Install] WantedBy=graphical.target

warsaw.conf:
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_synack_retries=3
net.ipv4.tcp_max_syn_backlog=65536
fix_wscertmgr_asking_for_login_password.patch:
--- wscertmgr    2016-05-15 17:44:44.000000000 -0300
+++ wscertmgr   2017-12-19 11:14:52.365665928 -0200
@@ -53,8 +53,8 @@
       profile=${line#*=}
       if [ -d /home/$usr_profile/.mozilla/firefox/$profile ]
       then
-        su -l -c "certutil -D -d /home/$usr_profile/.mozilla/firefox/$profile -n \"Warsaw Personal CA\"" $usr_profile 2>/dev/null
-        su -l -c "certutil -A -n \"Warsaw Personal CA\" -t ""TCu,Cu,Tuw"" -i /var/tmp/root_ca.cer -d /home/$usr_profile/.mozilla/firefox/$profile" $usr_profile
+        su -c "certutil -D -d /home/$usr_profile/.mozilla/firefox/$profile -n \"Warsaw Personal CA\"" $usr_profile 2>/dev/null
+        su -c "certutil -A -n \"Warsaw Personal CA\" -t ""TCu,Cu,Tuw"" -i /var/tmp/root_ca.cer -d /home/$usr_profile/.mozilla/firefox/$profile" $usr_profile
       fi
     fi
   done
@@ -71,8 +71,8 @@
   then
     continue
   fi
-  su -l -c "certutil -D -d sql:/home/$usr_profile/.pki/nssdb -n \"Warsaw Personal CA\"" $usr_profile 2>/dev/null
-  su -l -c "certutil -A -n \"Warsaw Personal CA\" -t ""TCu,Cu,Tuw"" -i /var/tmp/root_ca.cer -d sql:/home/$usr_profile/.pki/nssdb" $usr_profile
+  su -c "certutil -D -d sql:/home/$usr_profile/.pki/nssdb -n \"Warsaw Personal CA\"" $usr_profile 2>/dev/null
+  su -c "certutil -A -n \"Warsaw Personal CA\" -t ""TCu,Cu,Tuw"" -i /var/tmp/root_ca.cer -d sql:/home/$usr_profile/.pki/nssdb" $usr_profile
 done

echo Cleaning files... @@ -80,4 +80,4 @@ popd > /dev/null

echo Ok! -exit 0 \ No newline at end of file +exit 0

fbello commented on 2018-01-25 10:04 (UTC)

Flash é desnecessário. Estou testando o meu PKGBUILD num computador com o Arch recém instalado. Confirmo que, no Chromium, é necessário ativar chrome://flags/#allow-insecure-localhost. Já no Firefox, nenhuma mudança é necessária. Não instalei Flash. O Warsaw funciona no Firefox sem Flash. Quero só testar se o PKGBUILD funciona com ArchLinux32 antes de postar.