Door Erik van Straten: @Anoniem 13:33: dank!
Geen dank ;-)
Door Anoniem: Het punt is dat je door een gesloten poort niet binnenkomt, je zult hemop wat voor manier dan ook moeten openen.
Mijn punt is dat het risico's met zich mee kan brengen door uitsluitend in abstracte "poorten" te denken.
Wat jij een geopende poort noemt is, vermoed ik (correcties welkom!), dat een "luisterend" proces het adres van een callback routine in een tabel van de TCP/IP stack heeft laten zetten, gekoppeld aan een specifiek poortnummer.
En toegestaan door de firewall.
Daarmee weet de software achter die TCP/IP stack dat, als er een netwerkpakketje binnen is gekomen met daarin (op een specifieke offset in dat pakketje, nadat buitenste schillen ervan zijn afgepeld, zoals een mogelijke ethernet header) dat specifieke destination port nummer, dat de callback routine naar het luisterende proces moet worden aangeroepen - met als één van de parameters waarschijnlijk een pointer naar de juiste offset in het binnengekomen pakketje in RAM.
Dus ook als een poort dicht is, komen netwerkpakketjes wel eerst binnen, alleen worden ze (binnen het device) niet doorgestuurd naar een proces dat te kennen heeft gegeven dergelijke pakketjes te willen ontvangen. Van pakketjes die "niemand wil hebben" zeggen we dat ze worden "gedropt". D.w.z. dat de buffer (in het geheugen) met dat pakketje wordt vrijgegeven (waarbij zo'n buffer lang niet altijd wordt "gecleared" - maar dat is een ander verhaal).
Klopt dat het verkeer binnenkomt tot de firewall, anders zou een firewall nooit dropped of denied connections kunnen loggen.
De netwerkstack kan dan, naar keuze, bijv. een ICMP "port unreachable" pakketje terugsturen naar de kennelijke afzender van het ontvangen pakketje (waarbij al enige tijd bekend is dat je dat niet moet doen als het afzenderadres 255.255.255.255 is).
Gewetensvraag: stel een webserver luistert op poort 80. Stel ik configureer op die server een firewall die alle pakketjes bestemd voor poort 80 blokkeert indien het afzender-poortnummer oneven is (of bijv. het afzenderadres niet 10.11.12.13 is). Staat poort 80 op die server dan open of dicht? Of is het antwoord daarop "dat hangt ervan af"?
De poort staat dicht voor het betreffende verkeer wat aan de firewall rules voldoet en open voor het overige verkeer.
Nog zo'n vraag: stel op jouw smartphone luistert er niks op poort 2345. Jij surft naar security.nl waarbij jouw webbrowser toevallig poort 2345 als source port gebruikt. Staat de poort op jouw smartphone op dat moment dan open of niet?
Open maar alleen voor gerelateert verkeer, er kan geen nieuw proces van buitenaf geinitieerd worden wat door die poort 2345 naar binnen kan komen.
Laatste vraag: voordat die websessie start doet jouw smartphone mogelijk een DNS request via UDP. Staat er dan een poort open voor een antwoord? En als dat antwoord even op zich laat wachten, hoe lang staat die poort dan open?
Eigenlijk vergelijkbaar antwoord met hierboven.
Mij ging het in dit topic er om om de vraag van TS proberen te beantwoorden in simpele bewoordingen.
Als mijn auto niet start omdat de startmotor niet rond gegooid kan worden roep ik dat de accu leeg is.
Dat is totaal onjuist op meerdere[1] fronten maar toch begrijpt iedereen me.
[1]
De accu is gevuld met een vloeistof (accuzuur), loodcellen en nog wat zooi, dus niet leeg.
Qua capaciteit/lading ook onjuist omdat er nog steeds sprake is van een bepaalde capaciteit maar niet voldoende om de startmotor rond te gooien.