Computerbeveiliging - Hoe je bad guys buiten de deur houdt

Ubuntu Firewall alleen Firefox toestaan de rest alles blokken

29-10-2018, 08:19 door Anoniem, 30 reacties
Is het mogelijk in Ubuntu om alles te blokken behalve de updates van Ubuntu en verkeer afkomstig van Firefox.
(Daarmee bedoel ik dat alle verkeer tegengehouden wordt)
Dus alles moet dicht met iptables/ufw, maar iptables/ufw moet toch op een of andere manier voor weten dat verkeer van Firefox afkomstig is (dus niet dom poort 443 opengooien want poort 443 kan ook gebruikt worden voor andere doeleinden.

Een applicatie zoals opensnitch realiseert dit niet, want de op de achtergrond neemt iptables nogsteeds waar wat er met individuele pakketten gebeurd.
Opensnitch filtered alleen op applicatie niveau.
Reacties (30)
29-10-2018, 10:04 door Tha Cleaner
Hoe kijk je tegen DNS en ntp verkeer aan? Dat heb je namelijk ook nodig voor normaal werken.

Wel verkeer wil je precies blijven en waarom? Wat wil je exact bereiken?
29-10-2018, 10:28 door Anoniem
Door Tha Cleaner: Hoe kijk je tegen DNS en ntp verkeer aan? Dat heb je namelijk ook nodig voor normaal werken.

Wel verkeer wil je precies blijven en waarom? Wat wil je exact bereiken?
Inderdaad DNS verkeer is nodig, het ideale oplossing zou zijn dat DNS ook op basis van Firefox wordt geïnitieerd om bijvoorbeeld DNS tunneling en andere DNS gerelateerde aanvallen te voorkomen danwel te verkleinen(maar volgens mij bestaat zoiets niet of wel?).
(Of NTP noodzakkelijk is weet ik niet precies hoor, sommige webservers beheerders schakelen dit soms ook uit maar is dit niet echt relevant voor mijn vraag)

Ik wil dat alleen uitsluitend firefox en de updates van Ubuntu (Debian mag ook als dat makkelijker is) toegang tot het internet heeft.
Dus de firewall moet zorgen dat listingingen van incoming connections (en ook het establishen van de connecties) alleen plaats vindt op basis voor de internet benodigheden van Firefox en de Ubuntu updates.

Als dit niet mogelijk is, hoor ik graag wat het beste alternatief is om de toegang van het netwerk van mijn systemen zo small mogelijk houden.
29-10-2018, 11:05 door MathFox
De Linux firewall beheert alleen de pakketten die die kernel in en uit gaan zonder te kijken naar welke toepassing ze verstuurt of ontvangt. Wil je op toepassingsbasis netwerktoegang toestaan of verbieden dan is AppArmor onder Ubuntu het aangewezen gereedschap.
29-10-2018, 11:16 door Anoniem
Door MathFox: De Linux firewall beheert alleen de pakketten die die kernel in en uit gaan zonder te kijken naar welke toepassing ze verstuurt of ontvangt. Wil je op toepassingsbasis netwerktoegang toestaan of verbieden dan is AppArmor onder Ubuntu het aangewezen gereedschap.

Inderdaad ik vermoede al dat dit niet mogelijk was iptables.
Maar is het mogelijk met AppArmor/Selinux om alle internet toegang te blokkeren, behalve van de toepassingen waarvan ik wil dat ze toegestaan worden?

Kan je met AppArmor of Selinux whitelisten wat je wilt dat toegang krijgt tot het internet en voor de rest alles geblokkeerd wordt?
29-10-2018, 11:22 door Anoniem
Kun je wat meer over je omgeving en je doel vertellen?

Zoals ik het nu lees probeer je om onduidelijke redenen superextradubbelplus strict op "verkeer" te zijn, maar voor je het weet verstook je heel veel tijd en moeite aan iets dat met een andere benadering mischien minder moeite had gekost. Daarom zou het helpen hier wat uitgebreider te vertellen wat je nou eigenlijk voor ogen staat en vooral waarom. Waar hebben we het over, huis-tuin-keuken of meer iets als een "internet"winkel ofzo?
29-10-2018, 11:46 door Anoniem
Door MathFox: De Linux firewall beheert alleen de pakketten die die kernel in en uit gaan zonder te kijken naar welke toepassing ze verstuurt of ontvangt. Wil je op toepassingsbasis netwerktoegang toestaan of verbieden dan is AppArmor onder Ubuntu het aangewezen gereedschap.
Yep, https://wiki.ubuntu.com/AppArmor

Een ander idee zou Gufw firewall kunnen zijn:
https://softwarerecs.stackexchange.com/questions/26404/ubuntu-firewall-to-block-allow-applications
29-10-2018, 14:36 door Anoniem
Door Anoniem:
Door MathFox: De Linux firewall beheert alleen de pakketten die die kernel in en uit gaan zonder te kijken naar welke toepassing ze verstuurt of ontvangt. Wil je op toepassingsbasis netwerktoegang toestaan of verbieden dan is AppArmor onder Ubuntu het aangewezen gereedschap.
Yep, https://wiki.ubuntu.com/AppArmor

Een ander idee zou Gufw firewall kunnen zijn:
https://softwarerecs.stackexchange.com/questions/26404/ubuntu-firewall-to-block-allow-applications

Met AppArmor kan je per toepassing bepalen of je het wel toegang tot het netwerk geeft of niet. Het heeft niet de mogelijkheid om alleen te whitelisten welke toepassingen wel gebruik mogen maken van het internet. GUFW werkt ook per single applicatie.
29-10-2018, 20:19 door Anoniem
Het is onmogelijk om met AppArmor alles per default te blokkeren en alleen alleen de twee toepassingen die je benoemt toegang te geven tot het internet.
Je kan wel alles 1 voor 1 blokkeren maar waarschijnlijk wil jij je verdedigen tegen een zero-day dat je met zulke maatregelen komt.
Met Selinux kan je wel doen wat jij wil dus installeer Selinux.
30-10-2018, 05:04 door Anoniem
Hm, in plaats van naar een vraag met een antwoord die naar een pakket verwijst zou je ook rechtstreeks naar het pakket kunnen verwijzen:
http://gufw.org/
Maar gufw doet niet wat de vraagsteller vraagt, gufw is namelijk een grafische frontend voor ufw en dat is weer een frontend voor iptables, en zoals al aangegeven kan met iptables helemaal niet per toepassing toegang geregeld worden. Een frontend kan geen mogelijkheden toevoegen die er niet inzitten, een frontend zorgt alleen dat je beschikbare mogelijkheden makkelijker bedient.

De applicaties die je kan selecteren in gufw/ufw zijn dan ook niet meer dan profielen die in iptables verkeer toestaan dat die applicaties nodig hebben. Het beperkt dat verkeer niet tot specifieke programma's, en dat is waar de vraagsteller naar op zoek is.
30-10-2018, 10:15 door Anoniem
Door Anoniem: Hm, in plaats van naar een vraag met een antwoord die naar een pakket verwijst zou je ook rechtstreeks naar het pakket kunnen verwijzen:
http://gufw.org/
Maar gufw doet niet wat de vraagsteller vraagt, gufw is namelijk een grafische frontend voor ufw en dat is weer een frontend voor iptables, en zoals al aangegeven kan met iptables helemaal niet per toepassing toegang geregeld worden. Een frontend kan geen mogelijkheden toevoegen die er niet inzitten, een frontend zorgt alleen dat je beschikbare mogelijkheden makkelijker bedient.

De applicaties die je kan selecteren in gufw/ufw zijn dan ook niet meer dan profielen die in iptables verkeer toestaan dat die applicaties nodig hebben. Het beperkt dat verkeer niet tot specifieke programma's, en dat is waar de vraagsteller naar op zoek is.

Klopt jij hebt mijn vraag begrepen!
30-10-2018, 10:51 door Anoniem
Door Anoniem: Hm, in plaats van naar een vraag met een antwoord die naar een pakket verwijst zou je ook rechtstreeks naar het pakket kunnen verwijzen:
http://gufw.org/
Maar gufw doet niet wat de vraagsteller vraagt, gufw is namelijk een grafische frontend voor ufw en dat is weer een frontend voor iptables, en zoals al aangegeven kan met iptables helemaal niet per toepassing toegang geregeld worden. Een frontend kan geen mogelijkheden toevoegen die er niet inzitten, een frontend zorgt alleen dat je beschikbare mogelijkheden makkelijker bedient.

De applicaties die je kan selecteren in gufw/ufw zijn dan ook niet meer dan profielen die in iptables verkeer toestaan dat die applicaties nodig hebben. Het beperkt dat verkeer niet tot specifieke programma's, en dat is waar de vraagsteller naar op zoek is.
Is Douane wellicht een optie? https://gitlab.com/douaneapp/Douane
30-10-2018, 11:23 door Anoniem
Door Anoniem: Hm, in plaats van naar een vraag met een antwoord die naar een pakket verwijst zou je ook rechtstreeks naar het pakket kunnen verwijzen:
http://gufw.org/
Maar gufw doet niet wat de vraagsteller vraagt, gufw is namelijk een grafische frontend voor ufw en dat is weer een frontend voor iptables, en zoals al aangegeven kan met iptables helemaal niet per toepassing toegang geregeld worden. Een frontend kan geen mogelijkheden toevoegen die er niet inzitten, een frontend zorgt alleen dat je beschikbare mogelijkheden makkelijker bedient.

De applicaties die je kan selecteren in gufw/ufw zijn dan ook niet meer dan profielen die in iptables verkeer toestaan dat die applicaties nodig hebben. Het beperkt dat verkeer niet tot specifieke programma's, en dat is waar de vraagsteller naar op zoek is.
Zou best kunnen, maar er staat meer in mijn link.
Vraagsteller moet zelf bepalen wat er nodig is, ik draag simpel wat ideeën aan en niet altijd een kant en klare gebraden gehaktbal want daar heb ik niet altijd tijd voor.
Lees je mijn link wat nauwkeuriger dan kom je mogelijk bij Opensnitch uit.
In die eerdere link van mij kan je ook simpel klikken op bron-informatie van een bepaalde tool als http://gufw.org/
(of nog veel beter: https://gufw.org/ (!) etc.
Succes in elk geval aan de topictarter.
30-10-2018, 12:42 door Anoniem
Het juiste antwoord is al eerder gegeven, namelijk de SELinux module gaan toepassen i.p.v. AppArmor. Alleen de SE config opzetten is nogal ingewikkeld. Soms is een veel eenvoudiger oplossing voorhanden.


Het is mogelijk om een vanilla Debian of Ubuntu core installatie nog verder leeg te strippen, zodat slechts nog maar één applicatie opstart: dat heet een single-purpose computer, of ook wel een kiosk.

Meestal start dan alleen een webbrowser op in een locked full-screen modus, die alleen kan worden bediend middels een touch screen en/of een trackball, die ook als muisknop dient. Verder kan men er niets mee.

Deze minimalistische benadering is uiterst robuust, mits goed uitgevoerd. Van programmatuur die helemaal niet aanwezig is, daarop kan namelijk ook geen remote of local exploits op worden losgelaten.


Men ziet die dingen wel eens staan in musea, waar ze een educatieve functie vervullen. Bij bouwmarkten staan ze ook wel, zodat je ter plekke zelf in de winkelvoorraad kunt zoeken om te zien waar iets staat.

How to Easily Create a Ubuntu Kiosk Computer
https://tutorials.ubuntu.com/tutorial/secure-ubuntu-kiosk#0

https://www.omgubuntu.co.uk/2014/07/create-ubuntu-kiosk
30-10-2018, 13:21 door Anoniem
Door Anoniem: Het juiste antwoord is al eerder gegeven, namelijk de SELinux module gaan toepassen i.p.v. AppArmor. Alleen de SE config opzetten is nogal ingewikkeld. Soms is een veel eenvoudiger oplossing voorhanden.



Ik gebruik Selinux, hoe zou ik volgens jou met Selinux alles kunnen blokkeren, en toepassingen die ik whitelist dat die wel toegang hebben tot het Web (Firefox en updates van OS).
Ik kan ook eventueel switchen naar CentOS waar Selinux al in zit als dit makkelijk is op CentOS of andere OS.

Je idee van Kiosk Computer is een hele leuke!
30-10-2018, 14:15 door Anoniem
Topicstarter: je gaat veel te kort door de bocht.

Je mist dhcp (tenzij je route en ip adres statisch configureert)
Je mist DNS
Je mist NTP om de klok gelijk te zetten
Etc.
30-10-2018, 17:28 door Anoniem
De Firewall van Linux kan dit niet. OpenSnitch komt het meest dichtbij wat jij wilt bereiken, maar dat wou je niet gaf je aan.
31-10-2018, 09:44 door Anoniem
Door Anoniem: De Firewall van Linux kan dit niet. OpenSnitch komt het meest dichtbij wat jij wilt bereiken, maar dat wou je niet gaf je aan.

Daarnaast blokkeert opensnitch alleen uitgaande verkeerd TS wilt dat inkomende en uitgaande verkeer gefiltered worden.
31-10-2018, 10:15 door Anoniem
Mensen die aangeven dat Linux zoveel kan..., dit is iets wat wel ingesteld kan worden op Windows met de Windows Firewall.
Als je nog iets erbij wilt install Glasswire of iets elders en draai ze beide.
01-11-2018, 08:59 door Bartbartbart
De enige manier waarop je dit bereiken kan is middels een eigen DNS server die met hostfiles met wildcards werken kan.
Op Windows gebruik ik daarvoor AcrylicDNS, en Linux heeft vast een even waardige tegenhanger.

Het probleem is dat je OS de adressen die het benaderen wil met wildcards benadert, oftewel als a.a.a.microsoft.com niet werkt dan probeert het wel a.a.b.microsoft.com en de manier om dat tegen te houden is om *.microsoft.com tegen te houden, en dat is niet iets wat Microsoft of Linux native ondersteunt.

(en met windows firewall hou je echt geen windowsverbindingen tegen trouwens)
01-11-2018, 17:40 door Anoniem
Door Bartbartbart:

(en met windows firewall hou je echt geen windowsverbindingen tegen trouwens)

"windowsverbindingen" is een beetje vaag, maar ik neem aan dat je 'standaard' ingebouwde Windows functionaliteit en services bedoeld en oooooo, jawel: je kunt zoveel blokkeren dat er echt niets meer naar binnen en buiten gaat. Het is wel vervelend dat Windows na updates sommige uitgeschakelde rules weer zelf activeert en je dus niet beschermd bent. Er zijn heel veel redenen om het merendeel van de standaard Windows services niet door de firewall te laten gaan. Met wat uitzoekwerk hou je evengoed een functionele Windows over. Op de volgende link is een aardig startpunt te vinden als je hiermee aan de slag wilt: https://www.hardenwindows10forsecurity.com/ (vanaf kopje Set up Firewall Profile)
Alles dichtgooien en dan uitsluitend de vereiste zaken open zetten. Ben je een uurtje mee bezig maar daarmee is je systeem een stuk veiliger geworden. Dit geldt dus voor Windows en niet voor Linux zoals de topic starter vraagt (als reactie op Bartbartbart).
01-11-2018, 18:32 door Anoniem
Er zijn wel alternatieven:

Met firejail kan je programma's blokkeren. Misschien eerste instantie niet zo simpel, maar ik vermoed dat je met firejail bij elke software een eigen netwerk geven, bijvoorbeeld met --net=eth0 aan firefox terwijl andere sofware wordt gedwongen om een ander netwerk kaart te gebruiken die offline is, maar dan kan dat waarschijnlijk wel een probleem zijn met de automatische update.

Of wat je ook kan doen is bij elke software 1 voor 1 --net=none gebruiken, zodat alle software wordt geblokkeerd van het internet.

Een ander alternatief is virtualbox, in de ene plaatst je alle software die internet mag hebben en in de andere vm zet je de software die je offline wil houden. Dat kan je aanpassen met de settings. Of je kan dit ook makkelijk doen met Qubes OS.
01-11-2018, 20:21 door Anoniem
Door Anoniem: Er zijn wel alternatieven:

Met firejail kan je programma's blokkeren. Misschien eerste instantie niet zo simpel, maar ik vermoed dat je met firejail bij elke software een eigen netwerk geven, bijvoorbeeld met --net=eth0 aan firefox terwijl andere sofware wordt gedwongen om een ander netwerk kaart te gebruiken die offline is, maar dan kan dat waarschijnlijk wel een probleem zijn met de automatische update.

Of wat je ook kan doen is bij elke software 1 voor 1 --net=none gebruiken, zodat alle software wordt geblokkeerd van het internet.

Een ander alternatief is virtualbox, in de ene plaatst je alle software die internet mag hebben en in de andere vm zet je de software die je offline wil houden. Dat kan je aanpassen met de settings. Of je kan dit ook makkelijk doen met Qubes OS.

Hele creatieve oplossingen dat met de Virtualbox!
Firejail blockt niet per default alle internetverkeer en als er een verborgen app is zal Firejail deze niet pakken.
(Of heb ik dit mis?)
Want TS wilt dat alles geblokt wordt en dat alleen Firefox en zijn updates toegang hebben tot het internet.
03-11-2018, 10:30 door jennifer
Het netwerkfilter van Open Snitch bevindt zich op de applicatielaag, niet op het netwerk
interface laag en dit is volgens mij wat TS wilt. Hoewel alle "normale" netwerkverkeer van applicaties langs dit filter gaat, pakketten kunnen na dit filter worden geïnjecteerd (bijv. VMWare
of vergelijkbaar). In de "overbrugde" configuratie injecteren ze de virtuele machines
netwerkpakketten na het punt waar Open Snitch onderschept. Dus stel je voor je hebt met geadvanceerde hacker te maken en deze heeft een zeroday in handen zal OpenSnitch of Little Snitch wat men ook gebruikt, een niet geconfigureerde hack zal het niet kunnen tegenhouden.
De kans dat een normale gebruiker met zulke hacks te maken heeft is klein, dus het is wel paranoïde maar TS zegt dat hij of zij meerdere malen aangevallen is en zon oplossing bestaat er naar mijn weten niet.
04-11-2018, 13:09 door Anoniem
Het lastige aan firefox en het netwerkverkeer: firefox werkt niet met 1 enkel process, maar gebruikt meerdere geforkte processen. Soms ook nieuwe niet geforkte processen vanuit een firefox container. Elk van die processen en forks hebben netwerk toegang nodig.

Een alternatieve optie: gebruik een authenticated proxy die je in een virtualbox of libvirt vm draait op je systeempje.

Stel in je locale firewall in dat alleen verkeer vanuit die proxy vm naar buiten mag verbinden, alleen DNS verkeer zul je breder moeten toestaan.
In firefox stel je je proxy in met de authenticatie gegevens, zo ook je config aanpassen om aptitude te kunnen gebruiken via die proxy.

Je proxy regelt de rest voor je, zonder poxy geen internet ;-)
14-11-2018, 18:04 door Anoniem
Iptables kan vrij veel.

Wanneer je zoekt op "iptables user allow" of "iptables group allow", kom je een paar interessante mogelijkheden tegen.
Wel kan het dan zo ijn dat je bv alles dichtzet voor de "normale" user, en firefox moet starten als een andere user via su.
Maar dat kun je simpel regelen door de snelkoppeling (.desktopfile) aan te passen.

bv:
https://askubuntu.com/questions/997523/iptables-drop-all-but-group

https://unix.stackexchange.com/questions/12499/iptables-pf-rule-to-only-allow-xy-application-user
14-11-2018, 19:36 door Anoniem
Zet een proxy server (b.v. Squid) op.
Laat Firefox via die http proxy naar buiten lullen.
Zet al het overige verkeer dicht met iptables.


Niks moeilijks aan.
14-11-2018, 21:37 door Anoniem
Door Anoniem: Iptables kan vrij veel.

Wanneer je zoekt op "iptables user allow" of "iptables group allow", kom je een paar interessante mogelijkheden tegen.
Wel kan het dan zo ijn dat je bv alles dichtzet voor de "normale" user, en firefox moet starten als een andere user via su.
Maar dat kun je simpel regelen door de snelkoppeling (.desktopfile) aan te passen.

bv:
https://askubuntu.com/questions/997523/iptables-drop-all-but-group

https://unix.stackexchange.com/questions/12499/iptables-pf-rule-to-only-allow-xy-application-user

Wat is je plan? Je wilt een nieuwe user aanmaken en deze alleen toegang tot het internet geven en firefox uitvoeren onder die groep? Opzich mooi bedacht maar hoe zou je dit voor de updates van Ubuntu of Debian regelen?
14-11-2018, 23:38 door Anoniem
Anoniem 18.04 @ anoniem 21.37:

Heb geen plan. Ooit prog "wifiguard" gedraaid op tinycore OS. Dat had een "phone home". Dus nieuwe groep aangemaakt en een user in die groep, Via iptables (aanvulling op tiny's "basic firewall") die groep beperkt tot lokaal netwerk. Moest prog starten als andere user via su. Maar werkte. Kon netwerk scannen op aangesloten apparaten, maar wifiguard kon niet naar buiten communiceren. Kan mogelijk scripts nog wel terughalen, staan ook nog ergens op het tinycore forum. 3 a 4 jaar geleden.

Las vraag, meende een zinnige aanvulling te geven. Zonder allerlei "ingewikkelde " programmatuur, met enkel de basis, kun je vaak meer dan je denkt. Zoek op internet en gij zult vinden. (Nee, geen Google, Duck-Duck of ixQuick).
15-11-2018, 11:39 door Anoniem
Door Anoniem: Zet een proxy server (b.v. Squid) op.
Laat Firefox via die http proxy naar buiten lullen.
Zet al het overige verkeer dicht met iptables.


Niks moeilijks aan.
Dat schreef ik twee berichten eerder al zie : 04-11-2018, 13:09 door Anoniem
15-11-2018, 11:57 door Anoniem
Door Anoniem:
Door Anoniem: Zet een proxy server (b.v. Squid) op.
Laat Firefox via die http proxy naar buiten lullen.
Zet al het overige verkeer dicht met iptables.


Niks moeilijks aan.
Dat schreef ik twee berichten eerder al zie : 04-11-2018, 13:09 door Anoniem

Volledig over het hoofd gezien, sorry.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.