@sebastiannielsen:
no, he isn't out to restrict to a specific OS.
what he is out for, is, when a client authenticate correctly, the client's MAC, OS-fingerprint, and IP is saved in the firewall rule.
So the OS-fingerprint must match whatever the user authenticated with, to prevent spoofing.
Yes, that's precisely what I'm looking for. I wasn't aware that pf wasn't used for the Captive Portal. However, since pf is still available for filtering, I was thinking about something like this:
Create a pf rule that logs the OS fingerprints of clients.
After a successful login of a user, create a pf rule for the IP that the user got that only allows TCP traffic with the OS fingerprint that has been detected during login.
After either a voluntary logout by the user herself or after the soft / hard timeout, remove the pf rule for the user's IP.
This should add one more layer of security. Sure, it's not foolproof but certainly would add one more hurdle to abuse.