Portknocking-Daemon-GUI or Package –> {CANCELED}

  • Hello,
    i need a Portknocking in Pfsense. The Bounty is set to 250 €. A invoice is needed.


  • I guess for pfSense stable aka RELENG of course?

    Daniel S. Haischt

  • Hello,
    yes that´s OK for the releng snapshot under http://snapshots.pfsense.com/FreeBSD6/RELENG_1/


  • A while ago I did a research regarding portknocking, because this feature was already requested by someone else.
    I have to search for my notes first. Hopfully they did not went to my digital pastebin ;)

    Daniel S. Haischt

  • Hello Daniel,
    please search, but fast… :)

  • May I ask for what you do need all these functionalities, which you are requesting using bounties?

    Daniel S. Haischt

  • Hello Daniel,
    please search the forum….too much money?
    Greetings from Germany

  • please take a look at the time-based-rule thread…..

  • has anybody interest in "portknocking", otherwise i will kill the offer….

    Now i boost the bounty to 350 €. That´s it.

  • I am interested but we need to finish the time based rules support.

  • but with killing of the states at the expiration! ;D

    Do you really interested? We can arrange a little bit later, 4 weeks i think. I go to russia in 6-8 weeks and change checkpoint to PFSENSE.

  • Heiko,
    Are you going to replace Nokia Checkpoint firewall with Pfsense ?

    Nokia Checkpoint firewall  is one the most advance firewall that corporate use these days.

    Scott, you must be very proud now, aren't you ? :-)

  • Yes i do, on our own hardware, not nokia, we change checkpoint to pfsense…..checkpoint ist really good, but you need for each loacation a truck of money for support, upgrade etc. ......

    i can map all my feature requests with pfsense, and i don´t know about portknocking on Checkpoint ;D
    Greetings from germany

    --> i would rather speak about this bounty and portknocking.

    --> Anybody interest?? really?? Not minor points! Excuse me........

  • Hello,

    the bounty is now set to 500 €. We can arrange anything of this bounty up to the due state " 01.05.2007". Thereafter i will kill this bounty.


  • Outside the US most people do day/month/year if that makes more sense to people reading this post, not that it is my place, but I thought it needed to be clarified.  So if I'm reading it right, it won't be over for a month and a half

  • Excuse me, the german date translation is for other people abnormal, i think..

    The offer will be dropped at Year = 2007 ; Month = Mai, Day = 01

    I hope, this is undestandable.

  • I will be taking this one on as soon as you declare time based rules a success.

  • OK, i am await for finished time based ruled system.Then we could arrange "portknocking"

  • Hello Scott,
    one Extension: I want to blocking countries and i know from another thread, that this is implemented in HEAD. Can you backported this to a productive PFSENSE-RELENG-SNAPSHOT Version?

    Portknocking = 500 €
    Blocking-Countries= 250 €

    Do you disposed to this extension. It would be very nice?

    I know, i am a nag…. :)
    Greetings from Germany

  • No, I am affraid not.  We are about to enter beta status as soon as the final Time Based Rules bugs are fixed.

    Sorry!  Maybe on next version.

  • OK, thanks, then we can arrange the port knocking when the timebased rules are finished

  • LAYER 8 Moderator

    Don't want to disturb the thread but I'm curious for what you (or people generally) want to use portknocking for and (if that's generally possible doing with pfsense/freebsd/pf) if authpf wouldn't be a better/other approach to the desired result. Coming from the OpenBSD side I used authpf for quite a few thingies, people want portknocking for, so I thought I should maybe throw this in here.

    Greets Grey

  • Yes it is possible: http://doorman.sourceforge.net/

  • Looks like doorman will not be a suitable package as it requires a client to do the knocking….  Need to find a package that works with PF and does not require a client.

  • i agree with that. The project is on sourceforge not really active, i think?

  • Every port knocking daemon is going to require a client. It could be something as simple as a batch file/shell script that telnets to several ports, but they all need a client of some sort. It's no different from OpenVPN, in that it requires a client that we don't provide.

    I say start with doorman, if it doesn't work for some technical or compatibility reason, move on to something else.

  • Doorman requires a specific client in that it transmits the knock in one UDP packet on one port and doesn't knock on several ports in certain order (the way most "normal" portknocking setups work).

    My point being that Joe Blow just can't grab any old portknocking client…it would need to do the following:

    This particular implementation deviates a bit from his original proposal, in that the doorman watches for only a single UDP packet.  To get the doorman to open up, the packet must contain an MD5 hash which correctly hashes a shared secret, salted with a 32-bit random number, the identifying user or group-name, and the requested service port-number.

    I guess if you enable this package in your pfSense box, you better be prepared to use a specific client.

  • Hmm, would it be better if i cancel this bounty and we say "no solution is safe and required a specific client"??
    If Portknocking under BSD/pf is not possible or the solution is not safety so i´m doubtful to create a solution for pfsense?!

    A portknocking package is nice but not by hook or by crook!!

    What do you think Scott? I don´t know? :'(

  • Don't cancel it on account of what I said.  :(

  • I think you should not listen to the back seat drivers.  Let me keep digging around for a solution.  I have been trying to get knockd ported from Linux and am about 60% done.

    If you have a 3-4 knock key, ie:

    telnet ip 945
    telnet ip 5678
    telnet ip 1234
    telnet ip 4756

    Then I don't see how much this will hurt.  Besides, what exactly are you planning on exposing once you knock?  The webConfigurator or possibly SSH?

  • I set the Bounty for the portknocking feature to

    1000 €


  • Just to document what I've found about port knocking so far:

    research paper:

    fwknop - promissing but Linux based:

    trapdoor2 - may work out of the box on BSD:

    webknocking - an alternative approach in some kind of an early stage:

    Reverse Remote Shell - Very interesting but needs a client:

    and of course:

  • I will continue porting knockd over to FreeBSD.  It seems to be the nicest of the bunch.

  • From what I can see, knockd appears to just allow you to setup a sequence of ports, and any old connection to those ports will work. Well….while it's widely compatible, it's next to worthless. Unless you change the ports and sequence every time somehow, it's highly insecure. First time you use it on a hot spot, or if someone intercepts your traffic some other way, you're compromised. Granted it wouldn't be the only security measure you would rely upon, but there are much more secure ways of doing this.

    doorman is nice in that intercepting the traffic in transit doesn't completely eliminate the security provided. See the quote in BuddhaChu's post above. The only way I can think of to do this securely will require a client like doorman.

  • From a security standpoint, a port knocking daemon that requires a client is the best option.

  • Hello,

    my statement to this discussion:

    the knockd daemon runs passively listening to network traffic without opening any network ports. Even though it is practically impossible to an attacker to see that we are running knockd on the server, and try to guess the knock sequences we have configured.

    Some general common sense security rules for the knockd, so "Scott"  - this must be implemented as default settings in the gui:

    • NEVER use default sequences. I have included in my example for this reason the default 7000,8000,9000 sequence to not create another default pattern. Choose your own port sequences.

    • Use at least 3 ports in the sequence. If you are paranoic you can use as many ports as you like.

    • Mix tcp ports (default, if you do not specify the protocol) with udp ports: 9000:tcp,8000:udp,7000:tcp

    Even if someone might hit by mistake the configured sequences try to prevent any damage: choose proper timeouts for running the command, use strong passwords as default (required in the GUI), etc.

    So i think knockd is the first option for me. ;D

  • @heiko:

    So i think knockd is the first option for me. ;D

    Sonuds good.  I will keep porting it but will not have time to work on it again until tomorrow or Wed as we are about to release 1.2-BETA-1.

  • No problem, good work!

  • Heiko, I know you want something that doesn't require a client, but that's the only way to do this securely. It doesn't really matter how many ports you use, how random they are, and whether you mix TCP and UDP, knockd is still insecure. Anyone that can intercept your traffic can bypass it, and you never know who's intercepting your traffic.

    doorman seems to have a client available for pretty much any OS, and is a secure way to accomplish the same thing. I encourage you to strongly consider doorman over knockd.

    From an email conversation - neither Scott nor I would use knockd ourselves, but we'd be comfortable using doorman, if that tells you anything. :) But Scott is willing to implement either one to satisfy your bounty.

  • Hello,
    what was the problem with the doorman package in the past?
    Why have the package not really worked in the past?
    Now, is it possible to recompile doormanD to run fine with pfsense and also "bugless"?

    I think, clientless portknocking is better but all of you voting for Doorman or other implementations, i´m confident!

    If doormanD is a mess  ;), we are searching for another implementation without doormand and knockd, i think!
    Thanks Daniel for the links - Is trapdoor2 an option? It is a clientless implementation, and the knock packets are SSL-encrypted?!

    All of us are searching for the absolute best solution, high secure, fast and realizable… :), so Scott, sorry - knockd isn´t the accurate package for all of us, sorry, sorry - Don´t beat me