Netwerken, subnets en nu ook firewalls.

Heb je problemen met het instellen van je netwerk, bedraad of draadloos, dan kan je hier altijd terecht!
Plaats reactie
Gebruikersavatar
Trojan
Elite Poster
Elite Poster
Berichten: 3229
Lid geworden op: 13 aug 2009, 21:10
Locatie: Kontich
Uitgedeelde bedankjes: 113 keer
Bedankt: 241 keer

Geachte heren,

In navolging van mijn topic uit 2017 ( https://userbase.be/forum/viewtopic.php?f=55&t=49606 ) heb ik dankzij corona toch maar eens de tijd genomen om mijn netwerk onder handen te nemen.

De noden zijn iets veranderd, ipv wat te prutsen met subnets achter een bbox heb ik een paar jaar geleden een Ubiquity Edgerouter-X aangeschaft om daar mijn ganse netwerk achter te smijten.
Kortom dient de bbox dan nog enkel maar als bridge (guest wifi/lan) en wordt de PPPoE sessie vanop de ER-X opgezet.

Nu, voor ik mijzelf buiten sluit heb ik eerst een proof-of-concept opgezet met een VyOS router en een VM op een esx. En dat werkt nu.
(zeer gemakkelijk aangezien zowel ubnt en VyOS afstammen van de oude vyatta (core))

Nu waar ik jullie voor nodig heb ik eigenlijk om te verifieren en na te gaan dat ik niks vergeten ben, dat de juiste firewall rules geconfigureerd zijn etc ...
(hopelijk zijn jullie dus bekend met de VyOS/ubnt configuraties.

Code: Selecteer alles

vyos@VyOS01:~$ show configuration
firewall {
    all-ping enable
    broadcast-ping disable
    config-trap disable
    group {
        port-group WEBSERVER {
            port 80
        }
    }
    ipv6-receive-redirects disable
    ipv6-src-route disable
    ip-src-route disable
    log-martians enable
    name WAN_IN {
        default-action drop
        description "WAN to internal"
        enable-default-log
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
        rule 100 {
            action accept
            destination {
                address 10.1.10.11
                port 80
            }
            log enable
            protocol tcp
            state {
                new enable
            }
        }
    }
    name WAN_LOCAL {
        default-action drop
        description "WAN to router"
        rule 10 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            state {
                invalid enable
            }
        }
    }
    receive-redirects disable
    send-redirects enable
    source-validation disable
    syn-cookies enable
    twa-hazards-protection disable
}
interfaces {
    ethernet eth0 {
        address 192.168.1.221/24
        description OLD-LAN
    }
    ethernet eth1 {
        address 10.1.10.254/24
        description LAN
    }
    loopback lo {
    }
    pppoe pppoe0 {
        authentication {
            password ****************
            user xxxxxxx@PROXIMUS
        }
        default-route auto
        description WAN
        firewall {
            in {
                name WAN_IN
            }
            local {
                name WAN_LOCAL
            }
        }
        mtu 1492
        no-peer-dns
        source-interface eth0
    }
}
nat {
    destination {
        rule 10 {
            description "Port forward 80 to webserver"
            destination {
                port 80
            }
            inbound-interface pppoe0
            protocol tcp
            translation {
                address 10.1.10.11
            }
        }
    }
    source {
        rule 100 {
            outbound-interface pppoe0
            source {
                address 10.1.10.0/24
            }
            translation {
                address masquerade
            }
        }
    }
}
protocols {
}
service {
    dhcp-server {
        shared-network-name LAN {
            authoritative
            subnet 10.1.10.0/24 {
                default-router 10.1.10.254
                dns-server 1.1.1.1
                lease 86400
                range 1 {
                    start 10.1.10.10
                    stop 10.1.10.20
                }
            }
        }
    }
    dns {
    }
    lldp {
        interface all {
        }
    }
    snmp {
        community routers {
            authorization ro
            client 192.168.1.108
            client 192.168.1.114
        }
        listen-address 192.168.1.221 {
            port 161
        }
        location "Home esx"
        trap-target 192.168.1.114 {
            community routers
            port 162
        }
        v3 {
            engineid xxxxxxxxx
            group defaultgroup {
                mode ro
                seclevel priv
                view defaultview
            }
            user prtg {
                auth {
                    plaintext-key ****************
                    type md5
                }
                group defaultgroup
                mode ro
                privacy {
                    plaintext-key ****************
                    type aes
                }
            }
            view defaultview {
                oid 1 {
                }
            }
        }
    }
    ssh {
        port 22
    }
}
system {
    config-management {
        commit-revisions 100
    }
    console {
        device ttyS0 {
            speed 115200
        }
    }
    domain-name xxxxx.xx
    host-name xxxx
    login {
        user vyos {
            authentication {
                encrypted-password ****************
                plaintext-password ****************
            }
        }
    }
    ntp {
        server 0.pool.ntp.org {
        }
        server 1.pool.ntp.org {
        }
        server 2.pool.ntp.org {
        }
    }
    syslog {
        global {
            facility all {
                level info
            }
            facility protocols {
                level debug
            }
        }
    }
    time-zone Europe/Brussels
}
En hoewel de PoC nu werkt kan ik mij toch niet ontdoen dat ik ergens iets vergeten ben, een firewall rule te weinig ofzo.
Online port scanner zeggen nochtans dat enkel maar poort 80 open staat, wat ook klopt en de website is te benaderen.

Laat jullie kritische oog hier eens op los en bezorg mij van alle feedback die jullie nodig achten om mij te vrijwaren van boze hackers op het internet.

Schema:
Screenshot 2020-05-15 at 22.42.02.png
Firewall:
Screenshot 2020-05-15 at 22.42.23.png
UPDATE:
2020-05-15 Visio tekeningen toegevoegd van firewall en opstelling.
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Laatst gewijzigd door Trojan op 15 mei 2020, 22:54, 1 keer totaal gewijzigd.
De posts van deze gebruiker weerspiegelen op geen enkel moment de mening van Belgacom NV/SA.
ITnetadmin
Elite Poster
Elite Poster
Berichten: 8445
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 164 keer
Bedankt: 618 keer

Heb je echt een publieke webserver nodig?
Anders steek je gewoon intern eentje, en benader via vpn?
Gebruikersavatar
Trojan
Elite Poster
Elite Poster
Berichten: 3229
Lid geworden op: 13 aug 2009, 21:10
Locatie: Kontich
Uitgedeelde bedankjes: 113 keer
Bedankt: 241 keer

Niet echt, maar het leek me de gemakkelijkste manier om een ACCEPT firewall rule te testen.
Als alles naar prod gaat smijt ik die er terug uit.
De posts van deze gebruiker weerspiegelen op geen enkel moment de mening van Belgacom NV/SA.
ITnetadmin
Elite Poster
Elite Poster
Berichten: 8445
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 164 keer
Bedankt: 618 keer

Ah ok.
In that case... never mind :-)
Gebruikersavatar
Trojan
Elite Poster
Elite Poster
Berichten: 3229
Lid geworden op: 13 aug 2009, 21:10
Locatie: Kontich
Uitgedeelde bedankjes: 113 keer
Bedankt: 241 keer

Ondertussen proberen om alles in mooie visio tekeningetjes te gieten.

En in een volgende fase eens zien hoe we er VLANs op kunnen smijten om mijn labo "los te koppelen" van mijn netwerk.
De posts van deze gebruiker weerspiegelen op geen enkel moment de mening van Belgacom NV/SA.
CCatalyst
Elite Poster
Elite Poster
Berichten: 6659
Lid geworden op: 20 jun 2016, 18:36
Uitgedeelde bedankjes: 18 keer
Bedankt: 386 keer

Firewalling lijkt me in orde, ik zou wel offloading configureren.

Verder op de EdgeOS 2.0 branch springen indien dit nog niet het geval is gezien de 1.0 geen security updates meer zal krijgen afaik. Daarna de bootloader updaten via ssh of console.

Optionele suggesties: DHCP: hostfile-update disable, authoritative enable, static-arp disable, use-dnsmasq disable. SSH: protocol-version v2. System: name-server, offload (zie hierboven).
Gebruikersavatar
Trojan
Elite Poster
Elite Poster
Berichten: 3229
Lid geworden op: 13 aug 2009, 21:10
Locatie: Kontich
Uitgedeelde bedankjes: 113 keer
Bedankt: 241 keer

@CCatalyst: Thx

Deze config is wel nog van VyOS. Van zodra deze werkt ga ik alles overzetten naar de Edgerouter.
Daarop heb ik denk ik al offloading geconfigureerd gehad destijds.
De rest van uw suggesties ga ik dan tegelijk ook toepassen.

:beerchug:
De posts van deze gebruiker weerspiegelen op geen enkel moment de mening van Belgacom NV/SA.
Gebruikersavatar
Trojan
Elite Poster
Elite Poster
Berichten: 3229
Lid geworden op: 13 aug 2009, 21:10
Locatie: Kontich
Uitgedeelde bedankjes: 113 keer
Bedankt: 241 keer

Om eens te weten te komen of de firewall wel effectief is heb ik een iet of wat convoluted setup gemaakt.
Om te beginnen worden alle firewall rules gelogd naar syslog die elke hit parsed en in een database steekt.
En dan wordt van elk IP de gegevens opgevraagd bij ipinfo.io om het land en ASN te weten te komen

Ziehier het resultaat.
Screenshot 2020-05-01 at 22.35.01.png
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
De posts van deze gebruiker weerspiegelen op geen enkel moment de mening van Belgacom NV/SA.
Gebruikersavatar
Trojan
Elite Poster
Elite Poster
Berichten: 3229
Lid geworden op: 13 aug 2009, 21:10
Locatie: Kontich
Uitgedeelde bedankjes: 113 keer
Bedankt: 241 keer

Ok, de vyos is hier nu enkele weken up and running.
Maar ... ik heb nu een gewone windows vm er achter gestoken om te zien of alles wel deftig werkt.

En lo and behold, er lijken toch enkele issues te zien die ik niet direct kan thuisbrengen.
Sommige websites laden ofwel niet, of heel traag.

(Ik heb ondertussen de firewall rules en dhcp forwarding voor die webserver er terug uit gehaald.)

Maar weten jullie wat ik nog mis?

Code: Selecteer alles

firewall {
    all-ping enable
    broadcast-ping disable
    config-trap disable
    group {
        port-group WEBSERVER {
            port 80
        }
    }
    ipv6-receive-redirects disable
    ipv6-src-route disable
    ip-src-route disable
    log-martians enable
    name WAN_IN {
        default-action drop
        description "WAN to LAN"
        enable-default-log
        rule 10 {
            action accept
            description "Allow established/related"
            log enable
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            log enable
            state {
                invalid enable
            }
        }
    }
    name WAN_LOCAL {
        default-action drop
        description "WAN to router"
        enable-default-log
        rule 10 {
            action accept
            description "Allow established/related"
            log enable
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            log enable
            state {
                invalid enable
            }
        }
    }
    name WAN_OUT {
        default-action accept
        description "LAN to WAN"
        enable-default-log
    }
    receive-redirects disable
    send-redirects enable
    source-validation disable
    syn-cookies enable
    twa-hazards-protection disable
}
interfaces {
    ethernet eth0 {
        address 192.168.1.221/24
        description OLD-LAN
        hw-id 00:50:56:9f:3f:d5
    }
    ethernet eth1 {
        address 10.1.10.254/24
        description LAN
        hw-id 00:50:56:9f:45:3b
    }
    ethernet eth2 {
        address 10.0.20.221/24
        description UBNT-LAN2
        hw-id 00:50:56:9f:f6:19
    }
    loopback lo {
    }
    pppoe pppoe0 {
        authentication {
            password ****************
            user xxx
        }
        default-route auto
        description WAN
        firewall {
            in {
                name WAN_IN
            }
            local {
                name WAN_LOCAL
            }
            out {
                name WAN_OUT
            }
        }
        mtu 1492
        no-peer-dns
        source-interface eth0
    }
}
nat {
    destination {
    }
    source {
        rule 100 {
            outbound-interface pppoe0
            source {
                address 10.1.10.0/24
            }
            translation {
                address masquerade
            }
        }
    }
}
protocols {
}
service {
    dhcp-server {
        shared-network-name LAN {
            authoritative
            subnet 10.1.10.0/24 {
                default-router 10.1.10.254
                dns-server 1.1.1.1
                lease 86400
                range 1 {
                    start 10.1.10.10
                    stop 10.1.10.20
                }
            }
        }
    }
    dns {
    }
    lldp {
        interface all {
        }
    }
    ssh {
        port 22
    }
}
system {
    config-management {
        commit-revisions 100
    }
    console {
        device ttyS0 {
            speed 115200
        }
    }
    domain-name xxx
    host-name VyOS01
    login {
        user vyos {
            authentication {
                encrypted-password ****************
                plaintext-password ****************
            }
        }
    }
    name-server 192.168.1.144
    ntp {
        server 0.pool.ntp.org {
        }
        server 1.pool.ntp.org {
        }
        server 2.pool.ntp.org {
        }
    }
    syslog {
        global {
            facility all {
                level info
            }
            facility protocols {
                level debug
            }
        }
        host 192.168.1.20 {
            facility kern {
                level all
                protocol udp
            }
            port 514
        }
        host 192.168.1.114 {
            facility all {
                level all
                protocol udp
            }
            port 514
        }
    }
    time-zone Europe/Brussels
}
De posts van deze gebruiker weerspiegelen op geen enkel moment de mening van Belgacom NV/SA.
vasonline
Pro Member
Pro Member
Berichten: 312
Lid geworden op: 25 aug 2007, 14:45
Uitgedeelde bedankjes: 116 keer
Bedankt: 18 keer

Hoi trojan,

Ik ken niet veel specifiek van je routingOS

Maar:
Zo sommige sites die wel, en andere niet doet me op het eerste zicht een MTU probleem denken.


Provider is via PPPoE dus, i.i.g. van toepassing. Ik zie het wel in je config staan.
Maar kan je de MTU instellingen nog eens bekijken en testen?

Iets anders:

rule 10 {
action accept
description "Allow established/related"
<< Dit laat ook DNS (udp) inkomend antwoord toe? En niet juist enkel TCP ('established')?


Groetjes!
deman
Member
Member
Berichten: 50
Lid geworden op: 18 jul 2008, 17:00
Locatie: Olen
Uitgedeelde bedankjes: 7 keer
Bedankt: 5 keer

set firewall options mss-clamp mss 1412
set firewall options mss-clamp6 mss 1412
Gebruikersavatar
Trojan
Elite Poster
Elite Poster
Berichten: 3229
Lid geworden op: 13 aug 2009, 21:10
Locatie: Kontich
Uitgedeelde bedankjes: 113 keer
Bedankt: 241 keer

@vasonline

Voor zover ik er iets van versta blijkt het dus die mss-clamping te zijn, en dus ook (indirect?) de mtu.
(zie hieronder)

Wat betreft die firewall rule 10. Aangezien er geen restrictie op protocol staat zou _alles_ toegelaten moeten worden.
Maar voor de zekerheid heb ik "protocol all" toch maar toegevoegd.

@deman

Thank, uw opties waren dus blijkbaar nog de missing-link.
(Al heb ik de commando's moeten omzetten naar het vYOS equivalent)
https://docs.vyos.io/en/latest/routing/mss-clamp.html

Beide bedankt voor jullie snelle antwoord. :beerchug:

Het testen gaat voort tot ik blij en overtuigd ben dat het klaar is om in productie te gaan.
De posts van deze gebruiker weerspiegelen op geen enkel moment de mening van Belgacom NV/SA.
deman
Member
Member
Berichten: 50
Lid geworden op: 18 jul 2008, 17:00
Locatie: Olen
Uitgedeelde bedankjes: 7 keer
Bedankt: 5 keer

@Trojan, graag gedaan. Ik heb me er rot achter gezocht.
Heeft me uren gekost.

Indien jij nog in een labo omgeving zit, dan kun je misschien is testen tot hoe hoog je die bij Proximus kunt zetten.
In theorie is dat MTU-40. Maar 1452 was bij mij nog onstabiel.
Daarom dat ik ineens afgezakt ben naar 1412.
Ik deed altijd een test op https://test-ipv6.com/
Gebruikersavatar
Trojan
Elite Poster
Elite Poster
Berichten: 3229
Lid geworden op: 13 aug 2009, 21:10
Locatie: Kontich
Uitgedeelde bedankjes: 113 keer
Bedankt: 241 keer

@deman: ik heb die meteen op 1452 gezet (voor ipv4) cfr de link van vyos zelf.

Maar ipv6 heb ik nog niet op gezet, en ik moet nog uitzoeken wat daar voor nodig zou zijn.
Dus een ipv6 test lijkt me nog niet echt mogelijk.

De pagina laadt wel, maar geeft op alles van ipv6 failed.

Als je tips hebt voor een ipv6 configuratie zou wel nice zijn. ;)
De posts van deze gebruiker weerspiegelen op geen enkel moment de mening van Belgacom NV/SA.
deman
Member
Member
Berichten: 50
Lid geworden op: 18 jul 2008, 17:00
Locatie: Olen
Uitgedeelde bedankjes: 7 keer
Bedankt: 5 keer

@Trojan. Ik heb op zich een eenvoudige opstelling. In Eth0 heb ik de BBOX verbonden. De andere poorten staan in switch. Eigenlijk gewoon de basic wizard laten lopen. Toen werkte IPV6 nog niet. Wat dacht je wel.
Heb ik in de config tree aan het grasduinen geweest.
Het is al een week geleden.
Zover ik me kan herinneren:
set interfaces ethernet eth0 pppoe 0 ipv6 enable
set interfaces ethernet eth0 pppoe 0 ipv6 address autoconf
set interfaces ethernet eth0 pppoe 0 ipv6 dup-addr-detect-transmits 1

Je zou dan op je dashboard IPV6 zien. Zoniet herstart je VDSL connectie

disconnect interface pppoe0
connect interface pppoe0

Gelukt?
Gebruikersavatar
Trojan
Elite Poster
Elite Poster
Berichten: 3229
Lid geworden op: 13 aug 2009, 21:10
Locatie: Kontich
Uitgedeelde bedankjes: 113 keer
Bedankt: 241 keer

Mijn (vYOS) router ipv6 geven is gelukt, maar hoe krijg ik die het beste op de rest van mijn devices?

Alsook, welke firewall rules zet ik daar dan op? Ik heb bijvoorbeeld een kopie genomen van de ipv4 rules en omgezet naar ipv6, maar dan stopt ineens alle ipv6 verkeer. (ipv4 blijft gelukkig nog werken)
De posts van deze gebruiker weerspiegelen op geen enkel moment de mening van Belgacom NV/SA.
deman
Member
Member
Berichten: 50
Lid geworden op: 18 jul 2008, 17:00
Locatie: Olen
Uitgedeelde bedankjes: 7 keer
Bedankt: 5 keer

Ik heb je een DM gestuurd.
Gebruikersavatar
Trojan
Elite Poster
Elite Poster
Berichten: 3229
Lid geworden op: 13 aug 2009, 21:10
Locatie: Kontich
Uitgedeelde bedankjes: 113 keer
Bedankt: 241 keer

:banana: :bdaysmile: :beerchug:
De posts van deze gebruiker weerspiegelen op geen enkel moment de mening van Belgacom NV/SA.
Gebruikersavatar
Trojan
Elite Poster
Elite Poster
Berichten: 3229
Lid geworden op: 13 aug 2009, 21:10
Locatie: Kontich
Uitgedeelde bedankjes: 113 keer
Bedankt: 241 keer

Ik heb ondertussen de OP geupdatet met visio tekeningen van mijn netwerk, hoe het nu is, en een schematische voorstelling van de firewall.
De posts van deze gebruiker weerspiegelen op geen enkel moment de mening van Belgacom NV/SA.
Plaats reactie

Terug naar “Netwerken en Security”