Portál AbcLinuxu, 30. dubna 2025 04:04

Sandboxovaný TorBrowser cez firejail a xephyr

30.5.2016 14:15 | Přečteno: 3037× | Linux | Výběrový blog | poslední úprava: 3.6.2016 09:46

Posledná verzia programu firejail 0.9.40-rc1 podporuje nielen sandbox pre aplikácie ale teraz aj X11 servera.Tieto funkcie možno využit pri TorBrowseri.Firejail je SUID program, ktorý znižuje riziko narušenia bezpečnosti tým, že obmedzuje chod prostredia nedôveryhodných aplikácií.

Potrebujeme:
firejail - https://sourceforge.net/projects/firejail/files/firejail/
dwm - jednoduchý window manazer, je bežne dostupný v balíčkoch distribúcií
xephyr - xephyr.server ,bežne dostupný v balíčkoch distibúcií

torbrowser.profile - vytvoríme profil pre firejail a skopírujeme do /etc/firejail/ ,obsahuje:
# Firejail profile
# Profile For Custom tor-browser-en
# Sandbox also enables seccomp

# includes
include /etc/firejail/disable-mgmt.inc
include /etc/firejail/disable-secret.inc
include /etc/firejail/disable-common.inc
include /etc/firejail/disable-devel.inc

caps.drop all
seccomp
protocol unix,inet,inet6
netfilter
noroot

# blacklist
blacklist /boot
blacklist /mnt
blacklist /root
blacklist /srv

# extended sandbox for torbrowser
# note: any changes will not be saved
private
private-etc fonts/
private-dev
private-bin bash,env,id,dirname,mkdir,ln,cp,sed,getconf,file,expr
torbrowser.filter - vytvoríme súbor a skopírujeme do /etc/firejail/ ,obsahuje:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A OUTPUT -i lo -j ACCEPT
COMMIT
Stiahneme TorBrowser a rozbalíme.https://www.torproject.org/projects/torbrowser.html.en
Súbor dwm a start dáme do adresára kde leži príkaz start-tor-browser štandardne v ../tor-browser_en-US/Browser , súbor start obsahuje:
./dwm &
./start-tor-browser

Konečny príkaz na spustenie torbrowsera v sandboxe cez firejail a xephyr.

firejail --x11=xephyr --profile=/etc/firejail/torbrowser.profile --netfilter=/etc/firejail/torbrowser.filter ./start

Príkaz nám spustí zakaždým úplne čistú verziu Torbrowsera do tmpfs ,keď je spustený.Po uzavretí sa vyčistia zbytky čo zostali po torbrowsery.Po spustení sa otvorí nové okno x11 xephyr servera v ktorom sa najprv spustí dwm window manažér a potom samotný torbrowser.Rozlíšenie xephyr okna sa nastavuje v /etc/firejail/firejail.config napr.: xephyr-screen 1280x1024 Ak je okno torbrowsera po spustení zmenšené a nedá sa maximailzovať treba dva krát stlačiť klávesu F11.


Dodatok


Takže máme izolovaný torbrowser v privátnom tmpfs a x11 xephyr okne.Týmto sme zrušili možnosť copy-paste z jedného okna do druhého.Pri vylistovaní nášho adresára /home/user browser nevidí žiadne naše súbory takže prípadný ransomware nám nemá čo zakódovať keď nič nevidí.Prevenciou pred teoretickým keyloggerom buď v systéme alebo hardwérovým keyloggerom môžme použiť napr. klávesnicu v ubuntu onboard.Pri zadávaní hesiel tu vkladáme znaky klikaním myšou a nie stláčaním kláves na hw klávesnici takže keylogger nám nemá čo zachytávať.

vpngate.pl - perl skript na vytvorenie VPN cez zoznam serverov zo stránky vpngate.net

#!/usr/bin/perl

#####################################################
# OpenVPN config tool for vpngate
# http://www.vpngate.net/en/
#
# get OpenVPN config files from vpngate server list
#
# Author: @xatierlikelee
# License: GPL
#####################################################

use 5.014;
use utf8;

use LWP::Simple;
use MIME::Base64;

# you can find other mirrors here: https://github.com/waylau/vpngate-mirrors
my $API_url = 'http://www.vpngate.net/api/iphone/';
my @servers = split /\n/, get($API_url);
shift @servers;

sub hostname     { (split /,/, $_[0])[0]; }
sub country_code { (split /,/, $_[0])[6]; }
sub config_b64   { (split /,/, $_[0])[14]; }
sub pprint {
  say (join "\t\t", (split /,/, $_[0])[0,1,2, 3,6,8,12]);
}

my $cols = shift @servers;
pprint($cols);

my @jp = grep { country_code($_) eq 'JP' } @servers;
my @us = grep { country_code($_) eq 'US' } @servers;
my @kr = grep { country_code($_) eq 'KR' } @servers;
my @se = grep { country_code($_) eq 'SE' } @servers;

pprint $_ for @jp;
pprint $_ for @us;
pprint $_ for @kr;
pprint $_ for @se;

print 'hostname: ';
my $input = <>;
chomp($input);

if ($input =~ /^vpn\d+$/) {
  open F, '>', "$input.ovpn";
  my $config = config_b64((grep { hostname($_) eq $input } @servers)[0]);
  print F decode_base64($config);
  say "save OpenVPN config to $input.ovpn ->  sudo openvpn $input.ovpn";
  close F;
}

=columns

HostName,IP,Score,Ping,Speed,CountryLong,CountryShort,NumVpnSessions,Uptime,
TotalUsers,TotalTraffic,LogType,Operator,Message,OpenVPN_ConfigData_Base64
0 => #HostName
1 => IP
2 => Score
3 => Ping
4 => Speed
5 => CountryLong
6 => CountryShort
7 => NumVpnSessions
8 => Uptime
9 => TotalUsers
10 => TotalTraffic
11 => LogType
12 => Operator
13 => Message
14 => OpenVPN_ConfigData_Base6
=cut
Pripájanie v torbrowseri štandardne prebieha cez tri onion spojenia.Ak im neveríme môžme pred jeho spustením vytvoriť jedno VPN spojenie cez náš vpngate.pl skript.Je to prerlovský skript na zjednodušenie pripojenia na niektorý free VPN server zo zoznamu vpngate.net.Po spustení v termináli nám vylistuje aktuálny zoznam serverov a čaká na zadanie mena sarvera.Vyberáme ten s najmenšou odozvou.Potom už nasleduje:
sudo openvpn vpn922786637.ovpn a vytvorí sa nám VPN spojenie.Openvpn musíme mať nainštalovaný.

       

Hodnocení: 90 %

        špatnédobré        

Obrázky

Sandboxovaný TorBrowser cez firejail a xephyr, obrázek 1 Sandboxovaný TorBrowser cez firejail a xephyr, obrázek 2 Sandboxovaný TorBrowser cez firejail a xephyr, obrázek 3

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

30.5.2016 14:35 BIS
Rozbalit Rozbalit vše Re: Sandboxovaný TorBrowser cez firejail a xephyr
Odpovědět | Sbalit | Link | Blokovat | Admin
Chris Hansen prý o tobě bude natáčet v ČR dokument
30.5.2016 15:17 MaloSaKradne
Rozbalit Rozbalit vše Re: Sandboxovaný TorBrowser cez firejail a xephyr
Aj negatívna reklama je reklama :D
30.5.2016 16:17
Rozbalit Rozbalit vše Re: Sandboxovaný TorBrowser cez firejail a xephyr
Zalez, trolle.
Bedňa avatar 30.5.2016 18:50 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Sandboxovaný TorBrowser cez firejail a xephyr
Odpovědět | Sbalit | Link | Blokovat | Admin
Ten dwm je tam zbytočný nie?

Čo sa týka Xephyru, nestačil by xinit na spustenie ďalšieho Xserveru? To občas používam.
KERNEL ULTRAS video channel >>>
30.5.2016 19:32 sk7
Rozbalit Rozbalit vše Re: Sandboxovaný TorBrowser cez firejail a xephyr
Odpovědět | Sbalit | Link | Blokovat | Admin
da sa to pustit aj bez dwm ale potom menu a horne tlacitka torbrowsera cez xephyr mi nefungovali s dwm áno
Bedňa avatar 30.5.2016 20:12 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Sandboxovaný TorBrowser cez firejail a xephyr
Som to testol a fakt to nefunguje.
KERNEL ULTRAS video channel >>>
Bedňa avatar 30.5.2016 23:25 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Sandboxovaný TorBrowser cez firejail a xephyr
Teda ja som to netestoval cez Xephyr, ale cez xinit, no menu sa nedalo použiť.

Inak ja používam antiX a v distre mám balíček torbrowser-launcher, čo máš za distro že tam Tor Browser nemáš?
KERNEL ULTRAS video channel >>>
31.5.2016 06:46 sk7
Rozbalit Rozbalit vše Re: Sandboxovaný TorBrowser cez firejail a xephyr

Pouzivam klasiku ubuntu.Su aj deb balicky no instaloval som tar.xz archiv.nevidim rozdiel medzi tar.xz a .deb balickami.
Parada akurat vydali nove verzie.Torbrowser je uz 6.0 stable
https://gitweb.torproject.org/builders/tor-browser-bundle.git/tree/Bundle-Data/Docs/ChangeLog.txt a firejail 0.9.40 je tiez stable doteraz bol len rc1.

Bedňa avatar 31.5.2016 09:29 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Sandboxovaný TorBrowser cez firejail a xephyr
Tak výhoda deb balíčku je jasná, doťahá si všetky závislosti a balíčky sa udržujú aktuálne.
KERNEL ULTRAS video channel >>>

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.