Um, this was one of the debates I was hoping to avoid
Anyway, it's been 5+ years, same iptables script. Most of my clients have in excess of 1,000,000 hits per year per domain and are heavily SEO'd.
As far as guessing is concerned, if you scan more than x ports in x period of time, you're blocked. I have the script set so the port seq has to happen fast. So it's like a port scan, but has to be perfect or they are locked out.
As far as outgoing firewall problems (them to us), that's not my problem.
As far as clients knowing the seq, I don't care. It's to keep the bots and kiddies at bay.
As far as having a client is concerned, yes, port seq is exposed if they want to sniff with Wireshark, etc. No biggy. The worst that happens is they open the server to expose ports that many already have open and covered by things like ASL and wrappers. So I am not losing sleep. I mean if someone wants to get my secret combo, in order to open 21,22, or 8443, then have at it.
It's simply a layer.
As far as implementing. It's pathetically easy, at least my script is. As far as breaking? I absolutely have not had a single problem on over 5 servers, many generations. Over 450 sites, nearly 500 Million hits per year ++
Nothing to brag about, but certainly more than a casual wordpress site on VPS.
Just to be clear, I know what I want. I know the risks. And I know the risks of not having anything.
The LDAP does little to protect the knock sequence, but it does help provide some security if the client were accidently put in the wrong hands. They would need to know the ftp user pass, or they would need to profile the software and know they are looking for ports. I mean this can go on and on and on, it's pointless to me.
Another idea I had was to self generate some port knocks and provide them for one time use only. The user would need to authenticate using their FTP account and we would let our client grab the sequence from a web url that is dynamically generated for that one session. The client would then knock.
Obviously, there are great out of band solutions, but most if not all require installing software and not just appending iptables. The model i prefer is to append iptables with the sequence.
In closing, if you want to really be concerned about security, then you should probably hookup a logic analyzer to the chips on your iphone, android, pc, mac, server devices, tv's, etc. and see what's being sent back to mama or collected.
how do you know when your microphone is being turned on, or when that camera is turned on. You can't know what's in the very server you are trying to protect. And if you host your server with a 1and1, etc., then you have no idea what they are doing to your box. At some point, you have to punt. I am simply saying that it's either port knocking, or nothing (for most of us) but wrappers (if that).
Also, I still have 22 and 8443 closed 100% only available by my knock. My clients don't use the control panel. They use their CMS and rarely, if ever use 21/ftp. So it also has to do with the needs of the admin. For encrypted ftp, I will need to be more liberal, but for now, generic is fine.
Mike is absolutely right with what he is saying, and I prefaced my post to avoid said. I just want the solution, I know the risk going in and I love the benefit of portknocking. It is especially helpful on my phone when I need to ssh, etc. Bringing my notebook with me is a thing of the past. I don't need it anymore now that the EVO is out (yes, blows away the iPhone. NOW THAT'S A DEBATE WORTH HAVING!! (I don't care...))
Brucelee sounds like myself in that he has some clients that might need ftp now and again, and he doesn't want to leave it hanging open. Portknocking is just such an answer.
I will pass on the sourceforge dilio for now. Keeping it simple and going forward.