0. "port knocking"

如字面意思,类似‘敲门’,只是这里敲的是‘端口’,而且需要按照顺序‘敲’端口。如果敲击规则匹配,则可以让防火墙实时更改策略。从而达到开关防火墙的目的。

1. 配置 knockd 服务
cat /etc/knockd.conf
[options]
UseSyslog
[openSSH]
sequence = 7000,8000,9000
seq_timeout = 5
command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn
[closeSSH]
sequence = 9000,8000,7000
seq_timeout = 5
command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn

配置文件里有两个参数:

  • sequence 按照顺序依次访问端口,command执行的条件。比如这里是依次访问7000, 8000, 9000端口,默认使用TCP访问。
  • command 当knockd监测到sequence端口访问完成,然后执行此处command,这里为通过iptables开启关闭ssh外部访问。
2. 构造knock sequence
1. 直接手工构造
  • 打开 SSH iptables
telnet  <target> 7000
telnet <target> 8000
telnet <target> 9000
  • 关闭 SSH iptables
telnet  <target> 9000
telnet <target> 8000
telnet <target> 7000
2. 使用knock程序
开启
knock <target> 7000 8000 9000
关闭
knock <target> 9000 8000 7000
3. NC 或者 Nmap
Open:
nc -z <target> 7000 8000 9000
Close:
nc -z <target> 9000 8000 7000
for x in  7000 8000 9000; do nmap -Pn --host_timeout 201 --max-retries 0 -p $x  <target> ; done

3. 其他

Port-knocking 并不能作为一种独立的安全防御措施,因为它属于security by obscurity。

最新文章

  1. sql server 2005 32位+64位、企业版+标准版、CD+DVD 下载地址大全 .
  2. ServiceStack.Redis 之 IRedisTypedClient 04_转
  3. Delphi 使用串口模拟工具进行串口程序开发调试
  4. form提交数据中文乱码问题总结
  5. XoftSpy 4.13的注册算法分析
  6. ASP.NET中的SQL注入攻击与防护
  7. iOS下JS与OC互相调用(八)--Cordova详解+实战
  8. EC20 R2.1
  9. java基于redis事务的秒杀实现
  10. 3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(购买域名,域名绑定IP)
  11. bash 基础命令
  12. 用户态使用 glibc/backtrace 追踪函数调用堆栈定位段错误【转】
  13. [P3625][APIO2009]采油区域 (前缀和)
  14. centos7下stf安装介绍(一)----环境搭建
  15. 关于vue中eslint规范报错问题
  16. 知识点【JavaScript模块化】
  17. Spring---七大核心模块
  18. js判断手机型号
  19. https ddos攻击——由于有了认证和加解密 后果更严重 看绿盟的产品目前对于https的ddos cc攻击需要基于内容做检测
  20. bzoj 1010 斜率优化DP

热门文章

  1. 错误 10 非静态的字段、方法或属性“Test10.Program.a”要求对象引用
  2. 不能将多个项传入“Microsoft.Build.Framework.ITaskItem”类型的参数
  3. Jira &amp; SVN &amp; Chrome extensions
  4. 【python】Python 之 __new__() 方法与实例化
  5. MVC 上传文件实例
  6. hdu 2686 Matrix &amp;&amp; hdu 3367 Matrix Again (最大费用最大流)
  7. Unity游戏开发技术的最佳实践
  8. Android Fragment 使用详解
  9. 除了love和hate,还能怎么表达那些年的“爱恨情仇”?
  10. Django内置auth模块中login_required装饰器用于类视图的优雅方式