端口敲门(Port knocking)技术,即服务通过动态的添加 iptables 规则来隐藏系统开启的服务,使用自定义的一系列序列号来「敲门」,使系统开启需要访问的服务端口,才能对外访问。不使用时,再使用自定义的序列号来「关门」,将端口关闭,不对外监听。进一步提升了服务和系统的安全性。

关闭SELinux

查看 SELinux 状态:

getenforce

临时关闭 SELinux(设为 Permissive 模式):

setenforce 0

永久关闭 SELinux(重启生效):

修改 /etc/selinux/config 文件
将 SELINUX=enforcing 改为 SELINUX=disabled

安装 ipset

CentOS 7 需要先关闭 Firewall 防火墙:

systemctl stop firewalld.service
systemctl disable firewalld.service

创建规则

创建一个名为 allowlist 的规则并设置有效期为 30 秒

ipset create allowlist hash:ip timeout 30

设置IP白名单

# 放行IP规则
iptables -A INPUT -p tcp -m set --match-set allowlist src -j ACCEPT # 关闭22端口
iptables -A INPUT -p tcp --dport 22 -j DROP

iptables 是由上而下的进行规则匹配,放行规则需在禁行规则之前才能生效。

开放指定IP

# 将IP加入白名单
ipset -exist add allowlist 192.168.37.1 timeout 30

其他指令

# 查看白名单IP列表
ipset list allowlist

如果手工将其 timeout 值设置为 0 的话,即为存活时间无限久。

使用 IPset 进行端口敲门的更多相关文章

  1. [原创]安全系列之端口敲门服务(Port Knocking for Ubuntu 14.04 Server)

    Port Knocking for Ubuntu 14.04 Server OS:ubuntu 14.04 server 原理简单分析: 端口敲门服务,即:knockd服务.该服务通过动态的添加ipt ...

  2. linux安全体系

    一.   硬件.软件选型 确认需求,分析可能面临的安全问题 记录各硬件寿命.保证散热.确保性能冗余 使用商业正版.开源的软件,不从互联网安装系统,从源头保证系统安全 购买专业售后支持 服务器配置双电源 ...

  3. 如何保护你的linux操作系统

    如何保护你的linux操作系统 导读 在现在这个世道中,Linux操作系统的安全是十分重要的.但是,你得知道怎么干.一个简单反恶意程序软件是远远不够的,你需要采取其它措施来协同工作.那么试试下面这些手 ...

  4. 如何增加黑客通过ssh入侵的难度--保护ssh的三把锁

    源文档:https://blog.csdn.net/cnbird2008/article/details/6130696 简介 如果需要远程访问计算机并启用了 Secure Shell (SSH) 连 ...

  5. 20 个 OpenSSH 最佳安全实践

    来源:https://linux.cn/article-9394-1.html OpenSSH 是 SSH 协议的一个实现.一般通过 scp 或 sftp 用于远程登录.备份.远程文件传输等功能.SS ...

  6. 22. CTF综合靶机渗透(十五)

    靶机说明: Game of Thrones Hacking CTF This is a challenge-game to measure your hacking skills. Set in Ga ...

  7. 流媒体应用程序Mobdro或存在安全隐患

    Mobdro是一款流媒体应用程序,可以安装在任何Android设备上,包括手机,平板电脑,亚马逊的Fire TV Stick和Google的Chromecast.它现在已经流行了一段时间,特别是在围绕 ...

  8. 保护 SSH 的三把锁

    转自:https://www.ibm.com/developerworks/cn/aix/library/au-sshlocks/index.html 简介 如果需要远程访问计算机并启用了 Secur ...

  9. 保护你的Linux系统的九个老生常谈

    在现在这个世道中,保障基于Linux的系统的安全是十分重要的.但是,你得知道怎么干.一个简单反恶意程序软件是远远不够的,你需要采取其它措施来协同工作.那么试试下面这些手段吧. 1. 使用SELinux ...

随机推荐

  1. [.NET] - 基础知识 - 如何debug一个.NET application

    1.可以使用Debug/Trace类来将runtime信息输出到控制台窗口: https://msdn.microsoft.com/en-us/library/bs4c1wda.aspx https: ...

  2. 各公有云1核1G的云主机跑分对比

    本文主要测评华为云.腾讯云.阿里云 1H1G服务器的性能,为保证结果有效性,使用环境如下: 1.1H1G Ubuntu 16.04_x64 2.Unixbench Version 5.1.3,详细信息 ...

  3. Q227 Basic Calculator II

    /* 看的答案,设置一个符号变量记录这个数前边的符号是什么,不同的符号进行不同的操作.这点自己想到了. 没想到的是由于乘除相当于一个优先级高的线程,所以要先处理,还有存取前一个乘数或者分子,应该怎么办 ...

  4. Redis如何做内存优化?

    1.缩减键值对象 缩减键(key)和值(value)的长度, key长度:如在设计键时,在完整描述业务情况下,键值越短越好. value长度:值对象缩减比较复杂,常见需求是把业务对象序列化成二进制数组 ...

  5. 【Termux】使用指南

    直入主题: 1.1 下载安装 Google下载(有条件的用!) F-droid下载(建议使用!) ps:不建议去酷安下载! 1.2 配置 apt update && apt upgra ...

  6. 修改/查看ssh端口

    修改ssh端口 vi /etc/ssh/sshd_config 将Port修改为需要的端口 Port 212 重启ssh服务 service sshd restart 查看ssh端口 netstat ...

  7. 行业动态 | DataStax 2021年新年预测

     Happy New Year!   今天是元旦,DataStax在此祝大家2021新年快乐 o(*≧▽≦)ノ   新的一年中,我们也将为大家提供更多有用的资源,并组织更多有意义的活动.   同时我们 ...

  8. R语言学习笔记-单一决策树

    决策树比较简单明晰,但存在不稳定的风险,数据的微小变化会导致最佳决策树结构的巨大变化,且决策树可能会变得比较复杂. 其算法原理参见https://zhuanlan.zhihu.com/p/148010 ...

  9. #3使用html+css+js制作网页 制作登录网页

    #3使用html+css+js制作网页 制作登录网页 本系列链接 2制作登录网页 2.1 准备 2.1.1 创建文件夹 2.1.2 创建主文件 2.2 html部分 2.2.1 网站信息 2.2.2 ...

  10. idea生成UML

    原文链接http://zhhll.icu/2020/12/18/idea/%E7%94%9F%E6%88%90UML/ 使用idea直接生成UML类图 然后点击所要生成的类即可生成 由于本身的博客百度 ...