A few basic questions about features from a NOOB -



  • @johnpoz:

    I believe if your running current version this is the default function now.. unless under misc you enabled this checkbox

    "By default schedules clear the states of existing connections when the expiration time has come. This option overrides that behavior by not clearing states for existing connections. "

    I would suggest test it before assuming it works is all.

    Found it in Advanced/Misc! I will have a loock ath the states the coming evenings and come back with results… Many thanks!



  • Yesterday evening: 08:00 the Schedule closed down the internet for some users, at 08:38 the states of at least one of those users were still present (e.g. browser session). :-\



  • Sorry for the delayed response. Got a ton of stuff on my plate and so little time to manage it. Ughh.

    @Holander - Yes, yes, yes and yes. LOL Couldn't agree with you more. I am an IT guy since Windows 95 and been running my own small biz IT shop for 14 tears…err, I mean years now. Never fooled with my own router though. Was tempted a few times but never did. For my clients, it was important to not monkey around so hardware appliances were the best route and for now I will keep it that way until I gain mad skillz with pfSense. lol I don't know Linux. I never run into it, never have clients ask about it, never needed to. My little pond is basically Windows, Windows, Windows...which is easier on me because I can focus on just that. But for me, pfSense is going to happen and then I am going to play with FreeNAS next year.

    @johnpoz:

    #2 While its possible to create timed firewall rules - you can run into a setup where the session is already active and working beyond your schedule..  You might want to schedule a reset of the firewall states for when your firewall rules change based upon time.

    #3 While yes it is possible to allow access to the pfsense web gui from any interface - common security practices would say you wouldn't want to allow from the public internet - and even wireless might not be good idea.  Wireless is quite often a vector of attack vs wired, so as mentioned you might want to limit firewall access to only from wired connections.  But if your ok with the security implications - then sure you can allow access to the gui from anywhere you want from any device that can run a browser.

    For #2 -
    BINGO! That is what I was concerned about! As long as it is possible to resolve through a reset, I will be happy. I will do my research and learn how and test it.

    For #3 -
    I just wanted to know for the sake that if I was watching TV and could quickly check or reset something, etc. from my Android phone or tablet, that would be nice. I also have my Win 7 laptop and could admin it via Wifi or LAN as well but a quick flip of the smartphone would be sweet. lol

    @johnpoz:

    I believe if your running current version this is the default function now.. unless under misc you enabled this checkbox

    "By default schedules clear the states of existing connections when the expiration time has come. This option overrides that behavior by not clearing states for existing connections. "

    I would suggest test it before assuming it works is all.

    Nice!!!!!!!!!!

    @chemlud:

    Yesterday evening: 08:00 the Schedule closed down the internet for some users, at 08:38 the states of at least one of those users were still present (e.g. browser session). :-\

    OH NO! My fears return! lol

    I was thinking of doing a Kabini build but since I am in no rush (just bought a Netgear R7000 3 months ago and this thing is handling everything I throw at it with DD-WRT KONG on it) I might wait to see if AMD puts Beema on a desktop socket! Would so love to build a box with that 10-15W TDP instead of 25W Kabini. I am sure there will be some kind of announcement in the next 60-90 days. ANd that is time for me to play with pfSense under VMWARE in my lab anyway.


  • Netgate Administrator

    If you are looking at a low power embedded build then consider booting from flash using the nanobsd images. Since they run almost entirely from RAM there isn't really an issue with unexpected shutdown. I pull the plug on home box without worrying at all.

    Also…
    @DownloadDeviant:

    I don't know Linux. I never run into it, never have clients ask about it, never needed to.

    ..before anyone else gets in, pfSense is built on FreeBSD. FreeBSD in not Linux.  ;) But it is quite similar and since you know neither it makes no odds!

    Steve



  • @stephenw10

    That was one of the things I was looking to investigate and learn about. I assumed that would be my best route. Now, I am a NOOB so I have not had a chance yet to research much but I figured either just a big old 8,16, or even 32GB USB flash drive or CF card would be fine. I even have an older Patriot 60GB Inferno SSD laying around collecting dust.

    But I also have to figure out what other packages I will be running. I use a VPN service so OpenVPN, I also thought Squid/SquidGuard might be good. I don't know what else I will want to install or try but cannot imagine it would go beyond a 16GB USB drive.


  • LAYER 8 Global Moderator

    Ok to answer your question about killing states.  See my below example.

    I listed the states for my workstation at home (I am vpn'd in currentl)..  so see lots of states, I xxx'd out my public IP.  I then killed the states for that 192.168.1.100 IP and it killed 18 states.. See when look at states for that IP none listed.  Red arrow, then look again and 1 state, then look again a few seconds later I see more states.

    So the command pfctl -k IPaddress could be setup to run when after your schedule kicks in to kill kids sessions.  Or you could issue a pfctl -f state

    Which would kill all states - if possible target just his IP.. so doesn't break your connections.




  • To quote Daffy Duck - "Juh-rool, Juh-rool!"  ;D lol As in Drool Drool.

    My mouth is watering just thinking about that running every single night, shutting things down and letting me relax!!!!!!!!!!

    I think that works perfectly with my plan which was to basically lock things and allowing only specific devices by MAC address in general, then setting the time limit to his IP or MAC. Then that command could be run and it would leave everything else alone. Right now I have my DD-WRT config'd to shut off his access at 11pm and reboot at 11:01PM. But, as I have said, it is a 50/50 thing. Sometimes it works and sometimes he still can connect. Can't wait to kick his ass out in 3 more years…lol



  • How tech savvy is your kid? If it were me, I'd be running it against his MAC. At the least, most kids nowadays know how to change an IP address :P That can be spoofed as well, which returns to my original question, how tech savvy?



  • @johnpoz:

    Ok to answer your question about killing states.  See my below example.

    I listed the states for my workstation at home (I am vpn'd in currentl)..  so see lots of states, I xxx'd out my public IP.  I then killed the states for that 192.168.1.100 IP and it killed 18 states.. See when look at states for that IP none listed.  Red arrow, then look again and 1 state, then look again a few seconds later I see more states.

    I added to the Cron tab two jobs for two different IPs:

    Should work every 08:05 pm, huh? :-) I will monitor this…



  • @johnpoz:

    Ok to answer your question about killing states.  See my below example.

    I listed the states for my workstation at home (I am vpn'd in currentl)..  so see lots of states, I xxx'd out my public IP.  I then killed the states for that 192.168.1.100 IP and it killed 18 states.. See when look at states for that IP none listed.  Red arrow, then look again and 1 state, then look again a few seconds later I see more states.

    So the command pfctl -k IPaddress could be setup to run when after your schedule kicks in to kill kids sessions.  Or you could issue a pfctl -f state

    Which would kill all states - if possible target just his IP.. so doesn't break your connections.

    Useful, John, thank you for this suggestion  ;D

    But, as always, I don't understand it: you first kill the states, then they are re-restablished by the system, then you have to kill them again via a cronjob? But won't they be established again then?

    Or more fundamentally: shouldnt the firewall schedule take care of this automatically? As in:  this is not a bug, it is a feature'? ( ;D )



  • @Hollander:

    Useful, John, thank you for this suggestion  ;D

    But, as always, I don't understand it: you first kill the states, then they are re-restablished by the system, then you have to kill them again via a cronjob? But won't they be established again then?

    Or more fundamentally: shouldnt the firewall schedule take care of this automatically? As in:  this is not a bug, it is a feature'? ( ;D )

    If you kill the states after a scheduled "end of internet access" the states can't be re-established…


  • LAYER 8 Global Moderator

    yeah mine was just an example of the command, I don't have any firewall rules blocking access on a schedule.  Just showing that I killed them, and they show all gone.  Then sure they will try and reconnect.  But in the posters case his new scheduled rule will prevent them from being created.



  • @l3lu3:

    How tech savvy is your kid? If it were me, I'd be running it against his MAC. At the least, most kids nowadays know how to change an IP address :P That can be spoofed as well, which returns to my original question, how tech savvy?

    My thought as well. By extension, the MAC address can often be changed too. You may have better success in a small network by blocking all network traffic EXCEPT the devices that you specifically want to allow during your restricted hours.



  • Thank you John and Chemlud  ;D

    It would have been perfect if, on using the schedules, functionality had been built in to kill states for that rule automatically, but this workaround will work too.

    @cneep:

    @l3lu3:

    How tech savvy is your kid? If it were me, I'd be running it against his MAC. At the least, most kids nowadays know how to change an IP address :P That can be spoofed as well, which returns to my original question, how tech savvy?

    My thought as well. By extension, the MAC address can often be changed too. You may have better success in a small network by blocking all network traffic EXCEPT the devices that you specifically want to allow during your restricted hours.

    Is it that easy to spoof your LAN-ip adress, from, say, Win7? For even kids?

    :o

    A partial workaround might be static IP with  deny unknown clients' on the DHCP-server(?) Of course, that also hardly is 100% fool proof, as kid might simply scan the LAN and take ip of parent (provided parent isn't online).



  • @Hollander:

    Is it that easy to spoof your LAN-ip adress, from, say, Win7? For even kids?

    :o

    All it takes is access to the device manager where the settings for the network adapter device offers you a field where you can enter the MAC address you want to use instead of the pre-programmed one.


  • Netgate Administrator

    @Hollander:

    For even kids?

    Especially for kids! They don't know it might be or should be difficult so they poke around until intil it's done. They've never known a computer that wasn't on the internet or a firewall that couldn't be eventually broken. Also they probably have a lot of friends who are also learning about this stuff and there's literally thousands of pages on the web explaining how to do it. Safer to assume kids know more than you!  ;)

    Steve



  • @stephenw10:

    Especially for kids! …

    DHCP, with static mapping based on MAC, with "deny unknown clients", with static ARP. What would be the work-around to get internet access? :-\

    EDIT: Cron job for killing states works apparently fine! However, it looks as if states for one of the users were already killed when the firewall went to "BLOCK"… strange...


  • Netgate Administrator

    I'm not saying that it's impossible to lock down a computer to prevent 'unauthorised' internet access. It's easy enough to put a security policy on a Windows box to prevent users changing the MAC but how many home computers have that?
    I'm just saying that most computer literate school age children have probably come up against some sort of web/connection filter at some point and those who are minded to do so have probably looked into ways to get around it. Someone they are friends with will have suggested finding the MAC of a local authorised machine from the ARP table and changing your MAC to it. That friend will then gain popularity for doing so. Everybody wins. Except the network admin/parents!

    It would be a mistake to assume that just because users are children they will not be familiar with basic networking. It's in their interests to keep you thinking they aren't.  ;)

    Steve



  • @chemlud:

    DHCP, with static mapping based on MAC, with "deny unknown clients", with static ARP. What would be the work-around to get internet access? :-\

    Exactly what my thinking was and then running the CRON jobs. I am even thinking of VLAN-ing him to keep him completely separate and isolated. I already have him setup on a guest wifi network that is isolated from us. So, now I guess I have to buy a smart or managed switch. The $$$$ keeps flying away! lol

    Kind of how it is setup on my DD-WRT router. Again, DD-WRT itself is 50/50 reliable and then there are fixes and new versions and then what was working doesn't work any more. lol I have a love/hate relationship with it. lol

    @stephenw10:

    I'm not saying that it's impossible to lock down a computer to prevent 'unauthorised' internet access. It's easy enough to put a security policy on a Windows box to prevent users changing the MAC but how many home computers have that?
    I'm just saying that most computer literate school age children have probably come up against some sort of web/connection filter at some point and those who are minded to do so have probably looked into ways to get around it. Someone they are friends with will have suggested finding the MAC of a local authorised machine from the ARP table and changing your MAC to it. That friend will then gain popularity for doing so. Everybody wins. Except the network admin/parents!

    It would be a mistake to assume that just because users are children they will not be familiar with basic networking. It's in their interests to keep you thinking they aren't.  ;)

    Steve

    Uhhhhh, YEP! lol Been through this. Trust me I am so freaking glad he is 19 now. From the time he was 14 it was a total battle royal. The parental software out there is a joke - Net Nanny, etc., I tried them all! The kids go to forums or chat and learn from each other how to hack it and bypass it. And the sw companies move like molasses when it comes to fixing their bugs. I spent 3 solid months playing email ping pong with Net Nanny actually helping them fix their own darn bugs and I just had had enough. By the time he was 17, I had to go to the extreme level. I literally had the machine locked down and frozen with Deep Freeze by Faronics with only his game folders and a homework folder on a separate isolated HD being the only things on his PC that he could alter. And it worked too! He was so pissed you could see the hate! lol I even had the BIOS locked with a password too.

    So now he is a 19 yr old college freshman about to become a sophomore and a full summer ahead of him and I am not going to deal with him PCing into the wee small hours. I will pull the router plug out if I have to and that is in a steel locked cabinet that he definitely can't get to. lol Hence, why I drool over something rock solid and automated to save me the stress.


  • Netgate Administrator

    Agreed, a separate interface is the way go for real security.
    Then put a super cheap switch between the router and the hostile machine. Power that switch from via timer. Done!  ;)

    Steve



  • @chemlud:

    @Hollander:

    Useful, John, thank you for this suggestion  ;D

    But, as always, I don't understand it: you first kill the states, then they are re-restablished by the system, then you have to kill them again via a cronjob? But won't they be established again then?

    Or more fundamentally: shouldnt the firewall schedule take care of this automatically? As in:  this is not a bug, it is a feature'? ( ;D )

    If you kill the states after a scheduled "end of internet access" the states can't be re-established…

    Lately I checked for states after "end of internet" and after the subsequent Cron job to kill all states and found for one of the IPs active states 1.5 hours after the end of internet… How can that happen?  :o

    I would like to monitor the states via email report, but unfortunately there is no log for the states and I don't know the command to be executed to post the current states of the box.... Can anybody help me out, please?  :)


  • LAYER 8 Global Moderator

    I showed you the command to list states for an IP, or all of them pfctl -ss

    You may need to kill both sides of the state..  When you kill the states, what do you show with the -ss for your host your worried about?  You may need to use the -k twice, etc.

    I would suggest you read the man on pfctl, I would of assumed that would of been step one after I gave the command example ;)

    http://www.openbsd.org/cgi-bin/man.cgi?query=pfctl&sektion=8

    NAME
        pfctl - control the packet filter (PF) device

    SYNOPSIS
        pfctl [-deghnPqrvz] [-a anchor] [-D macro=value] [-F modifier] [-f file]
              [-i interface] [-K host | network] [-k host | network | label | id]
              [-L statefile] [-o level] [-p device] [-S statefile]
              [-s modifier [-R id]] [-t table -T command [address …]]
              [-x level]



  • Yess, I must confess I started with Linux/BSD last fall, so I'm far from pro… Should invest a little more time, but currently it is a little bit too much around here. I'll do my very best  :D


  • LAYER 8 Global Moderator

    Huh?  From your title of the thread we understand your not a pro ;)

    Given a command, with examples that showed listing of states doesn't seem too far reaching to think the person with the interest the function would breeze over the doc for the command given..

    I would think the same thing be it a linux/bsd command or a windows cmd..  If I say told you to release your dhcp lease you could use ipconfig /releaseall

    Wouldn't you look up the command ipconfig?  Not like gave you example pfctl and then expected you to recompile your kernel ;)



  • cough I didn't start this thread, I actually hijacked it. cough, cough  ::)

    … but the pfctl does nicely what it is supposed to do with the mail report. Unfortunately the mail report allows eMails only at full hours (no minutes to be added to the job...). (edit: me idi**, found the jobs in Cron to edit the time of execution  ;)). However, very nice indeed!

    And I compiled my kernel with the router at the same time :P



  • It's absolutely fascinating:

    20:00 firewall turns off internet (block rule all IPs and all ports with schedule)
    20:02 all states are gone (pfctl -ss | grep <ip>via mail report, and checked by hand)

    however, as pidgin, thunderbird and firefox are still open on this particular computer:

    20:04 states (more than a dozen) to google (993) and to one of these infamous game servers (443) are up again (in both directions):

    re2 tcp 74.125.136.16:993 <- 10.xxx.xxx.xxx:38268      ESTABLISHED:ESTABLISHED
    re1 tcp 10.xxx.xxx.xxx:38268 -> 83.xxx.xxx.xxx:40101 -> 74.125.136.16:993      ESTABLISHED:ESTABLISHED

    or

    re2 tcp 216.66.6.120:443 <- 10.xxx.xxx.xxx:37596      ESTABLISHED:ESTABLISHED
    re1 tcp 10.xxx.xxx.xxx:37596 -> 83.xxx.xxx.xxx:44266 -> 216.66.6.120:443      ESTABLISHED:ESTABLISHED

    …for example...

    The Cron job to kill all states for this particular local IP doesn't change anything, all states present (again?) 5 minutes after the pfctl -k <ip>command.

    Only killing each and every state at once apparently really ends the game(s), so to say.</ip></ip>



  • @johnpoz:

    …  Or you could issue a pfctl -f state

    Which would kill all states - if possible target just his IP.. so doesn't break your connections.

    Actually, the correct command to kill all states is

    pfctl -F state

    (there is an error at the man page for pfctl at openBSD, there it is "states", which actually doesn't work… :-D )

    http://www.openbsd.org/cgi-bin/man.cgi?query=pfctl&sektion=8


  • Netgate Administrator

    The pf in FreeBSD has moved significantly away from that in OpenBSD. Also the pf in pfSense is different to that in the base FreeBSD version so even this page may not be entirely correct. But, yes 'F' appears correct.  :)

    Steve



  • I found the easiest way to avoid all the hassle with killed connections and existing states etc was to take the other approach.

    make an alias for IP addresses you want to block called blocked
    make a schedule for the hours you want it to work named limits

    Firewall rules, LAN tab,
    first rule is the antilockout rule
    second rule says when the controlled devices ARE allowed on,
    allow source blocked  schedule limits
    third rule is
    allow source!blocked

    works very well.

    PS its trivial to get an app to change the mac address, so its not exactly fullproof.  I told my kid that its his reminder , not designed to be full proof.



  • …today I found some states (I think it was one of these game IPs) 1.5 hours after the block kicked in and a subsequent pfctl -F state.

    I don't believe any longer in any of those firewalls, rules, whatsoever. An open browser is apparently enough to restart the states, no idea how that works...



  • Try what I do.  I know it works because right on the hour, he walks out of his room and gets a snack every day.  If the game he was playing was still working, he would be still in there!.


  • LAYER 8 Global Moderator

    "1.5 hours after the block kicked in and a subsequent pfctl -F state."

    Your sure your command ran and cleared the states?  If pfctl -f or -F, clears the states and your rules don't allow traffic then something is clearly not right in the rules or the states were not cleared would be my guess.



  • I have a Cron job to do pfctrl -F state 1 min after the block rule kicks in (allow rules didn't work either and I had to have more than one, due to the general limitations on ports/IPs). An eMail Service says 1 h later:

    "This is a periodic report from your firewall

    Current report: states >NAME< 21:00

    Command output: states (pfctl -ss | grep 10.zzz.yyy.xxx)"

    i.e. there are no states, which I checked by hand several times. But half an hour later I found 6-8 states to this notorious ivony.com IP (216.66.6.120). Unfortunately I killed them and took no screenshot in advance…


  • LAYER 8 Global Moderator

    Can you post up your rules so we can take a look at what they are and what your trying to do..  I thought you wanted to block his access completely..  Off the top if your saying new states are being created when your trying block them, then your rules are not correct for what your trying to do.



  • Hello again and many thanks for your patience! :-)

    Here the first 3 rules of my LAN set. The first is the default, the second blocks some domain names (as in alias "blocklist") for the kids IPs (alias "junx", IPs are correct, trust me :-D ).

    The third rule blocks all WAN access according to a schedule called "majo", see below, which kicks in at 21:00. At 21:00 the eMail report for the states (pfctl -ss | grep 10.xxx.yyy.zzz) of one of the IPs blocked is EMPTY, completely empty, Null, NADA, NIENTE…

    EDIT: But I found now that this is not the truth, there ARE states alive at that time, checked by hand (Diagnostics -> States). What is wrong with the eMail report job? :o

    The browser at the kids computers is still alive at that time, of course. Two minutes later the Cron job does (?) its job

    pfctl -F state

    EDIT: However, the states are still alive, not in the eMail report (completely empty), but when I check manually. When I go to Status -> eMail Reports and press "Send now", there ARE states, but not according to the eMail sent out automatically.... STRANGE indeed!

    Now I'm no longer willing to watch this and do

    Diagnostics -> States -> filter for kids IP and press KILL

    States are gone now... dunno if they come up again if they manipulate with their browsers, normally they should NOT. ;)

    So actually the problem appears to be related to my Cron job and the eMail Reports on states send out. Apparently. Or any other explanations? ???

    ![firewallrules kids.JPG](/public/imported_attachments/1/firewallrules kids.JPG)
    ![firewallrules kids.JPG_thumb](/public/imported_attachments/1/firewallrules kids.JPG_thumb)
    ![schedule majo.JPG](/public/imported_attachments/1/schedule majo.JPG)
    ![schedule majo.JPG_thumb](/public/imported_attachments/1/schedule majo.JPG_thumb)


  • LAYER 8 Global Moderator

    Well another thing is when are the states being created from your schedule there is 1 minute while its off.  so at 23:59:01 its off til 23:59:59, then turns back on at 00:00

    Just pointing out a possible flaw..  You would need to validate that the states are gone..  Why your email says they are none, but when you check is odd yes.



  • Same game today:

    21:00 firewall block rule
    21:00 eMail report for "pfctl -ss | grep 10.XXX.YYY.ZZZ" COMPLETELY EMPTY
    21:01 Cron job "01  21  *  *  *  root  pfctl -F state"

    so far so good, but

    21:14 I check states for the blocked IP via Diagnostics -> States and find: 32 states alive AS WELL AS by press "SEND NOW" for the eMail Report job for 21:00, same result dozends of states alive…

    I erased the Cron job as well as the eMail report jobs yesterday and made them new. Makes no difference, as you see. Don't know what to do next...



  • Question:

    Found this in my logs:

    php: rc.start_packages: The command '/usr/local/etc/rc.d/cron.sh stop' returned exit code '1', the output was ''

    Might this result in impaired Cron functionality?


  • Netgate Administrator

    That's not necessarily a problem. Cron is stopped and restarted along with all packages, usually in response to an IP change on one of your interfaces though could be a config change etc. As long as it starts again correctly it shouldn't be causing an issue though you could end up with multiple instances if it wasn't stopped correctly for example.

    Steve



  • Status -> Services shows Cron as up and running

    Diagnostics -> Sockets shows only one instance for Cron

    Re-installed Cron package, but I still don't see proper functioning, as apparently the states are not killed (pfctl -F state) and the output from eMail reports (performed via Cron jobs) doesn't provide accurate information on the states present.

    No idea why…


Log in to reply