Nätverksfilter - vilka alternativ/byggen finns?

Permalänk

Nätverksfilter - vilka alternativ/byggen finns?

Funderar på att skaffa ett nätverksfilter, främst mot internettrafiken. Var många år sedan jag höll på med sådant så är väldigt ringrostig.

Vad jag vill är att kunna inspektera och kontrollera varje paket vad gäller källa och mål samt innehåll. Det senare avser både läsbar text och "containers" och maskinkod/exekverbart.

T ex finns det färdiga komponenter för det ändamålet eller finns det lätta byggen för det numera?

Permalänk
Rekordmedlem

Det är väl inget filter om du vill inspektera trafik snarare än att filtrera den.
Prova Wireshark.

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk
Medlem
Skrivet av IBM System z:

Funderar på att skaffa ett nätverksfilter, främst mot internettrafiken. Var många år sedan jag höll på med sådant så är väldigt ringrostig.

Vad jag vill är att kunna inspektera och kontrollera varje paket vad gäller källa och mål samt innehåll. Det senare avser både läsbar text och "containers" och maskinkod/exekverbart.

T ex finns det färdiga komponenter för det ändamålet eller finns det lätta byggen för det numera?

Om man köper färdiga paket för realtidsfiltrering i högre lager än 3 så är det ”dyrt”. Det kräver ofta prenumerationer på filter och relativt biffig hårdvara.

Som MrQaffe är inne på kan du hitta en lämplig punkt i nätverket och dumpa trafiken med till exempel tcpdump och sedan inspektera den med till exempel Wireshark. Men då handlar det inte om automatik och inte om realtid.

Snort och Suricata är de två mest kända Open Source-lösningarna för Intrusion Detection System (detektering) och Intrusion Prevention System (realtidsblockering), men ska man köra dem får man vara beredd på att det behövs rejält med CPU och man har inga uppdaterade filter om man inte betalar för sådana. De är inte triviala att sätta upp heller.

Om du ska inspektera trafiken i layer 5 så behöver du knäcka krypteringen i realtid. Kan funka, men är aldrig trivialt.

Fattigmansvarianten är att hålla sig i layer 3 och prenumerera på listor över farliga IP-adresser, de är ofta gratis. De har också en tendens att ge rejält med vad jag bedömmer är falska positiver. Jag har bland annat lyckats blocka Sweclockers och Stack Overflow med vissa listor. Exempel på lösningar med automatiskt uppdaterade listor är BanIP-paketet i OpenWrt och Turris dynamiska brandvägg som de kallar Sentinel.

I slutändan så behöver du kunna förklara för dig själv vad du vill ha och varför.

Permalänk
Skrivet av mrqaffe:

Det är väl inget filter om du vill inspektera trafik snarare än att filtrera den.
Prova Wireshark.

Ok, jag var tydligen otydlig. Jag avser att filtrera trafiken. Inspektionen är (bl a) ett sätt att se vad jag behöver och hur jag kan filtrera.
Att det därutöver är intressant att se vad som finns i trafiken och vad som händer är ett intressant bonus s a s.

Permalänk
Skrivet av KAD:

Om man köper färdiga paket för realtidsfiltrering i högre lager än 3 så är det ”dyrt”. Det kräver ofta prenumerationer på filter och relativt biffig hårdvara.

Som MrQaffe är inne på kan du hitta en lämplig punkt i nätverket och dumpa trafiken med till exempel tcpdump och sedan inspektera den med till exempel Wireshark. Men då handlar det inte om automatik och inte om realtid.

Snort och Suricata är de två mest kända Open Source-lösningarna för Intrusion Detection System (detektering) och Intrusion Prevention System (realtidsblockering), men ska man köra dem får man vara beredd på att det behövs rejält med CPU och man har inga uppdaterade filter om man inte betalar för sådana. De är inte triviala att sätta upp heller.

Om du ska inspektera trafiken i layer 5 så behöver du knäcka krypteringen i realtid. Kan funka, men är aldrig trivialt.

Fattigmansvarianten är att hålla sig i layer 3 och prenumerera på listor över farliga IP-adresser, de är ofta gratis. De har också en tendens att ge rejält med vad jag bedömmer är falska positiver. Jag har bland annat lyckats blocka Sweclockers och Stack Overflow med vissa listor. Exempel på lösningar med automatiskt uppdaterade listor är BanIP-paketet i OpenWrt och Turris dynamiska brandvägg som de kallar Sentinel.

I slutändan så behöver du kunna förklara för dig själv vad du vill ha och varför.

Som nämnt i ovanstående svar var jag tydligen otydlig.

Jag vill filtrera trafiken för att skydda mig för intrång och skydda mitt privatliv i alla dess bemärkelser.

Därutöver har jag ett visst intresse att se vad trfiken innehåller mm. Men avser inte att lägga ner större mängd tid pch resurser på just det.

Mitt resonemang är följande:
- Varje paket har en avsändare och en mottagare som man identifiera - annars skulle inte paketen hitta vare sig in i mitt nätverk (vilken mobil/dator/IoT-enhet det ska till) eller ut ur det till avsedd mottagare. Här talar jag om ip-adresser och annat som styr transporten.
(Här är jag fullständigt ointresserad av sådant som externa adresslistor, jag avser att fokusera på vad jag kan göra enbart baserat på vad jag kan se av trafiken/paketen.)
- Varje paket har därutöver standardiserade attribut, som typ och andra data som är intressanta i sammanhanget.
- Därutöver kan man se följande sammanhang som man kan agera på:
--- Kombinationer av avsändare och mottagare. T ex har en trafik oväntade/varierande kombinationer för mitt ändamål och apparat/applikation.
--- Tidpunkter för trafiken, t ex tidssamband mellan olika typer och adresser. Eller tidpunkter där det inte borde ske trafik m a p adresserna.
--- Oväntad mängd trafik m a p ändamålet/adressen.
--- Typer av paket och protokoll som avviker från vad man kan förvänta sig.
--- Kombinationer av ovanstående i relation till mina apparater/applikationer/program.
- Baserat på allt ovanstående avser jag att filtrera bort det skadliga, misstänkta eller onödiga så långt det går och fortfarande behålla den funktionalitet jag vill ha.

Jag har ingen djupare kunskap inom området men jag har baskunskap vad gäller hur internet och nätverk är uppbyggt inklusive sådant som protokoll, pakettyper, OSI-layers (jag vet, inte exakt detsamma som "interneylayers") och routingmetoder mm.

Bakgrund som kanske kan hjälpa:
- Jag har programmerat professionellt sedan 1979 och håller fortfarandd på.
- Området är IBM stordatorer (IBM system z som det kallas numera) men inte något annat.
- Privat har jag gjort vissa mindre insatser vad gäller pc/internet. Inget avancerat eller omfattande dock.

F ö har jag använt Wireshark eller snarare dess föregångare för många år sedan.

Permalänk

Är det nån sorts IDS/IPS du är ute efter?
Snort eller Suricata kanske är nåt att för dig att titta på
https://www.snort.org/
https://suricata.io/

Visa signatur

AMD Ryzen 7 5700X, Gigabyte B550I Aorus PRO AX, Powercolor RX 6700 XT Fighter.

Permalänk
Medlem

Ja, jag tycker mer det låter som du vill ha någon sorts trafiklogg som du kan analysera.

Men somsagt, innehåll är svårt numera eftersom det mesta är krypterat. De flesta enterprise-brandväggar hanterar detta genom IP-adress-databaser eller i vissa fall bryta TLS/SSL (vilket saboterar en hel del övrigt)

Permalänk
Medlem
Skrivet av IBM System z:

Jag vill filtrera trafiken för att skydda mig för intrång och skydda mitt privatliv i alla dess bemärkelser.

Jag tror du behöver själv klura ut vad du är ute efter. Vad behöver du skydda dig mot?

Din önskemålslista är tekniskt svår. Initialt låter det som att du bara vill ha en brandvägg, men sen blandar du in omätbara mått som mål, exempelvis:

  • Tidpunkter för trafiken, t ex tidssamband mellan olika typer och adresser. Eller tidpunkter där det inte borde ske trafik m a p adresserna. - Hur kvantifierar vi när trafik borde ske?

  • Oväntad mängd trafik m a p ändamålet/adressen. - IP är bursty, och vad är normalt? Vad är för lite? Hur undviker vi falsklarm för att en netflix-ström drar mycket en stund, mindre en annan stund, och supermycket en tredje?

  • Typer av paket och protokoll som avviker från vad man kan förvänta sig. - Vad är förväntat? Hur mäter vi det?

Här har vi inte ens tagit upp saker som CDN - att nästan alla tjänster gömmer sig bakom stora, distribuerade och dynamiska nätverk. Microsoft och SÄPO, script kids och rimliga företag - ofantligt många bakom samma begränsade mängd IPs. Ska du spärra alla? Hur ska du avgöra vad som är legitimt?

Visa signatur

There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

@oscar:prutt.party / monotux@freenode

Permalänk
Medlem

Håller med föregående talare, kraven är luddiga och svåra att möta. Du pratar inte något om kryptering, en väldigt viktig ingrediens i dagens samhälle. I princip all trafik är krypterad idag, så för att du ska ha en chans att inspektera trafiken närmare så behöver du kunna utföra såkallad full SSl dekryptering vilket är en enorm insats att göra i ett nätverk, helt enkelt för att du måste installera brandväggens CA certifikat på alla enheter på LANet. Du kan skippa SSL men då bara kunna titta på IP headers och delar av HTTP headern, vilket försvårar livet en aning.

Du pratar också en del om trafik från internet, men som standard blockerar man all trafik från internet. Den enda trafiken du bör se släppas igenom brandväggen är sådan som initierats från inifrån ditt LAN. Det är upp till dig att bestämma vilka ip/port kombos du vill tillåta och när.

Det finns kraftfulla produkter men dessa är riktade mot Enterprise och därför dyra. Vill du ha en kraftfull, kompetent och "relativt" billig så kan jag varmt rekommendera Fortigate 40F, och helst med deras såkallade UTP bundle där du får bland annat följande säkerhetsfunktioner:
- Web filter
- Dns filter
- Antivirus skanning
- IPS signatur skanning
- Applicationkontroll och identifiering
- Skydd mot kända Botnet

Det svåra är nog att köpa UTP licensen då det finns få återförsäljare till privatpersoner. Men med en 40F mellan dig och Internet är det svårt att bli tryggare.

Visa signatur

CCNP Enterprise + SPCOR
FCSS Network Security