Hi Josh et al: I have been trying to use tcpdump after applying these rules:
# cat /etc/pf.conf match log block pass from self to any and I get this: # tcpdump -ni pflog0 tcpdump: WARNING: snaplen raised from 116 to 160 tcpdump: listening on pflog0, link-type PFLOG ^C 0 packets received by filter 0 packets dropped by kernel With those pf.conf rules I am not able to do anything. All outgoing traffic seems to be blocked. Although I have added match log, I must admit that I do not know how to look at the log... Any idea? thanks! Pau --- Group Leader of Theoretical Astrophysics Max Planck Institute Gravitational Physics Albert Einstein Institute http://astro-gr.org 2016-06-25 19:43 GMT+02:00 Josh Grosse <j...@jggimi.homeip.net>: > On Sat, Jun 25, 2016 at 07:16:29PM +0200, Pau Amaro-Seoane wrote: >> Dear Josh: >> >> Apologies for being vague. >> >> I mean that I have yours now: >> >> $ cat /etc/pf.conf >> block >> pass from self to any >> #a. Rule 1 blocks all traffic. >> #b. Rule 2 passes all traffic originating on the laptop, going anywhere. >> >> If I enable them with >> >> $ pfctl -e >> >> I can ping anything, but no browser will open anything >> >> If I run >> >> $ pfctl -d >> pf disabled >> >> Then of course everything works just fine. >> >> Pau > > I am at a loss to explain your issue, then. I have just > tested that exact 2-line ruleset here, and am able > to connect to a nameserver for address resolution, connect > to websites with a browser, and connect to an Email client > with ssh in order to post this message. > > Please post additional information. > > 1. Post your dmesg(8). > > $ dmesg > /path/to/my.dmesg > > This will show us the exact version of the OS you are > using, when it was built, and your network interfaces, > among other information. > > 2. Post your ifconfig(8). > > $ ifconfig > /path/to/my.ifconfig > > This will show us how your network interfaces are > configured. Feel free to redact any "real" Internet > facing addresses, if your laptop is on the Internet > rather than on a private network that routes to the > Internet. > > 3. Optionally, collect information to determine if > desired traffic is being blocked by PF. > > a. Add this new rule above the other two: > > match log > > This will log all pass and block rules as they > match through your pflog(4) interface. > > b. Use tcpdump(8) to inspect pass/block rules as they > are applied. The following example command will > do this "live" while you attempt to use your network, > output goes to the local terminal window and also to a file. > > # tcpdump -ni pflog0 | tee /path/to/my.tcpdump.log > >> 2016-06-25 18:35 GMT+02:00 Josh Grosse <j...@jggimi.homeip.net>: >> > On Sat, Jun 25, 2016 at 06:18:18PM +0200, Pau Amaro-Seoane wrote: >> >> thanks, Josh! >> >> >> >> Although with these rules I seem not to be able to send e-mails.... >> > >> > Which rules? Mine or yours? Please remember I only have what you >> > state in your Emails for a problem description. >> > >> > All I know is that you have a laptop running OpenBSD, and that >> > when you use your "six rule" ruleset, all traffic would be blocked. >> > If you use your "five rule" ruleset, no traffic would be blocked. >> > If you use Stephen's recommended additional line, and build a >> > "seven rule" ruleset that ends with his pass out rule, or, end >> > with my pass from self to any rule, or you use my simple two >> > rule exampe, with either the pass out or the pass from self to any >> > rule, you should have a working ruleset for the use case you >> > described. >> > >> >> ... For >> >> instance, gmail complains about not being able to do so, and it also >> >> says that I seem to have a very old browser, and should load a >> >> simplistic html version of gmail. When I disable pf with pfctl -d, the >> >> email is sent and gmail does not complain about anything. Maybe the >> >> block is also blocking sites from delivering cookies? >> > >> > I can only guess that your normalization ("scrub") directive is the >> > cause of this symptom. >> > >> >> 2016-06-25 15:39 GMT+02:00 Josh Grosse <j...@jggimi.homeip.net>: >> >> > On Sat, Jun 25, 2016 at 09:28:16AM +0200, Pau Amaro-Seoane wrote: >> >> >> pf is disabled, yes... >> >> >> >> >> >> So, then I would have to remove the last line. I need to download and >> >> >> upload things, but do not want to allow any remote connection to the >> >> >> laptop. I guess this configuration fulfills my needs? >> >> > >> >> > No. If you remove the rule that blocks all traffic, what will PF do? >> >> > >> >> > 1) Ignore lo0 traffic >> >> > 2) Scrub all other traffic >> >> > >> >> > Nothing else. >> >> > >> >> > Let's look at your six-line rule set in detail: >> >> > >> >> > a. Rules 1 and 2 set the macros $wifi and $wired, which are never used. >> >> > b. Rule 3 sets the option to respond to blocked TCP traffic with RST >> >> > and respond with ICMP UNREACHABLE to other blocked traffic. >> >> > c. Rule 4 instructs PF to ignore traffic on the loopback interface. >> >> > d. Rule 5 requests packet normalization >> >> > e. Rule 6 blocks all traffic, except on the ignored loopback interface, >> >> > and logs them through your pflog(4) interface. >> >> > >> >> > Keep in mind, I can only answer questions based upon the information >> >> > you provide. Based solely on your laptop use-case description, here is >> >> > a very simple ruleset: >> >> > >> >> > block >> >> > pass from self to any >> >> > >> >> > a. Rule 1 blocks all traffic. >> >> > b. Rule 2 passes all traffic originating on the laptop, going anywhere. >> >> > >> >> > How does PF manage inbound traffic with this? >> >> > >> >> > Because passed traffic keeps state by default, response packets >> >> > will be passed. For stateless protocols like UDP or ICMP, state is >> >> > maintained via timers. >> >> > >> >> > In my previous reply to you, I'd reminded you that in PF, the last >> >> > matching rule wins. When an inbound packet is part of an existing >> >> > state (TCP session, or within a response timeout window), the rule >> >> > set will not be tested and the packet will flow. When an inbound >> >> > packet is not part of any existing state, PF will test it against >> >> > the rule set and the first rule (block) will be the last one >> >> > which matches. >> >> > >> >> >> >> >> >> Thanks! >> >> >> >> >> >> 2016-06-23 19:20 GMT+02:00 Josh Grosse <j...@jggimi.homeip.net>: >> >> >> > On 2016-06-23 10:29, Pau Amaro-Seoane wrote: >> >> >> >> >> >> >> >> Hi... with these pf rules >> >> >> >> >> >> >> >> wifi=iwn0 >> >> >> >> wired=em0 >> >> >> >> set block-policy return >> >> >> >> set skip on lo0 >> >> >> >> match in all scrub >> >> >> >> block log all >> >> >> >> >> >> >> >> I can ping www.google.com without loss >> >> >> >> but no browser opens any URL... do you know what's going on? >> >> >> >> >> >> >> >> Thanks! >> >> >> >> >> >> >> >> Pau >> >> >> >> _______________________________________________ >> >> >> >> Openbsd-newbies mailing list >> >> >> >> Openbsd-newbies@sfobug.theapt.org >> >> >> >> http://mailman.theapt.org/listinfo/openbsd-newbies >> >> >> > >> >> >> > >> >> >> > Hi, Pau. Last matching rule wins, and your last rule blocks all >> >> >> > traffic. >> >> >> > >> >> >> > The only packets that will pass through PF are those that use the >> >> >> > loopback >> >> >> > interface lo0. So either that is not your entire rule set, or PF is >> >> >> > disabled. >> >> >> > >> >> >> > Ping requires the passing of ICMP protocol ECHO packates, while >> >> >> > address >> >> >> > resolution of www.google.com requires the passing of DNS protocol >> >> >> > packets via UDP port 53. _______________________________________________ Openbsd-newbies mailing list Openbsd-newbies@sfobug.theapt.org http://mailman.theapt.org/listinfo/openbsd-newbies