iptables实战案例详解-技术流ken
简介
关于iptables的介绍网上有很多的资料,大家可以自己找一些关于iptables的工作原理,以及四表五链的简介,对于学习iptables将会事半功倍。本博文将会例举几个工作中常用的iptables应用组合。
系统环境
centos6.7
服务器IP:10.220.5.166/24
客户端IP:10.220.5.188/24
iptables的filter表的INPUT链的默认规则为DROP
案列详解
1.设置默认规则
[root@ken ~]# iptables -P INPUT DROP #设置INPUT链默认规则设置为DROP,工作中一般默认4.是drop
[root@ken ~]# iptables -P INPUT ACCEPT #设置INPUT链默认规则设置为ACCEPT
[root@ken ~]# iptables -P OUTPUT DROP #设置OUTPUT链默认规则设置为DROP,如果OUTPUT链开启DROP,相应组合后可防范反弹式木马
[root@ken ~]# iptables -P OUTPUT ACCEPT #设置OUTPUT链默认规则设置为ACCEPT
2.清空规则链
[root@ken ~]# iptables -t filter -F #清空filter表规则
[root@ken ~]# iptables -t nat -F #清空nat表规则
[root@ken ~]# iptables -t mangle -F #清空mangle表规则
[root@ken ~]# iptables -t raw -F #清空raw表规则
3.查看规则链
[root@ken ~]# iptables -L -n --line -v
4.允许10.220.5.0/24网段的客户端可以访问本机的80端口
[root@ken ~]# iptables -A INPUT -s 10.220./ --dport -j ACCEPT
5.实现单向ping(即服务器可以ping通客户端,客户端ping不通服务器端)
[root@ken ~]# iptables -A INPUT -p icmp --icmp-type -d 10.220.5.166 -j ACCEPT
[root@ken ~]# iptables -A OUTPUT -p icmp --icmp-type -s 10.220.5.166 -j ACCEPT
注:--icmp-type 0 表示应答包
--icmp-type 8 表示请求包
6.只允许10.220.5.188发送httpd请求
[root@ken ~]# iptables -A INPUT -s 10.220.5.188 -p tcp --dport --tcp-flags syn,ack,fin syn -j ACCEPT
7.限制只有10.220.5.188可以连接ssh
[root@ken ~]# iptables -A INPUT -s 10.220.5.188 -p tcp --dport -j ACCEPT
8.允许10.220.5.188访问本机22,80,3306,100到200的端口
[root@ken ~]# iptables -A INPUT -p tcp -m multiport --dport ,,,: -m state --state NEW,ESTABLISHED -j ACCEPT
9.只允许ip地址10.220.5.10至10.220.5.20之间的主机访问本机的web网站
[root@ken ~]# iptables -A INPUT -p tcp --dport 80 -m iprange --src-range 10.220.5.10-10.220.5.20 -j ACCEPT
10. 防暴力破解&DOS攻击,限制请求登录22端口的频率
[root@ken ~]# iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit /minute --limit-burst -j ACCEPT
[root@ken ~]# iptables -A INPUT -p tcp --dport 22 -m state --state ESTABLISHED -j ACCEPT
11.限制只能从10.220.5.188登录后台界面(admin.php)
[root@ken ~]# iptables -A INPUT -s 10.220.5.188 -m string --algo bm --string "admin.php" -j ACCEPT
12.限制每个用户只能同时登录5个ssh
[root@ken ~]# iptables -A INPUT -p tcp --dport -m connlimit ! --connlimit-above -j ACCEPT
13.限制每个客户端只能与80端口并发连接10个链接
[root@ken ~]# iptables -A INPUT -p tcp --dport -m state --state NEW,ESTABLISHED -m connlimit !--connlimit-above -j ACCEPT
14.指定在1h只登录达到5次之上的,该次链接请求会被丢弃
[root@ken ~]# iptables -A INPUT -p tcp --dport -m state --state NEW -m recent --name loginSSH --update --seconds --hitcount -j DROP
15.保存iptables规则
[root@ken ~]# service iptables save
熟练掌握以上15个iptables配置,你也可以和Hacker斗智斗勇,一决高下了。
iptables实战案例详解-技术流ken的更多相关文章
- NTP时间服务器实战应用详解-技术流ken
简介 在搭建集群服务中,要保证各节点时间一致,NTP时间服务器就成为了一个好帮手了. 系统环境 系统版本:centos6.7 服务器IP:10.220..5.166/24 客户端IP:10.220.5 ...
- samba企业级实战应用详解-技术流ken
1.简介 Samba是一套使用SMB(Server Message Block)协议的应用程序, 通过支持这个协议, Samba允许Linux服务器与Windows系统之间进行通信,使跨平台的互访成为 ...
- MySQL系列详解三:MySQL中各类日志详解-技术流ken
前言 日志文件记录了MySQL数据库的各种类型的活动,MySQL数据库中常见的日志文件有 查询日志,慢查询日志,错误日志,二进制日志,中继日志 .下面分别对他们进行介绍. 查询日志 1.查看查询日志变 ...
- 实战!基于lamp安装wordpress详解-技术流ken
简介 LAMP 是Linux Apache MySQL PHP的简写,其实就是把Apache, MySQL以及PHP安装在Linux系统上,组成一个环境来运行动态的脚本文件.现在基于lamp搭建wor ...
- KVM虚拟化使用详解--技术流ken
KVM介绍 Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中. KVM的虚拟化需要硬件支持 ...
- cobbler批量安装系统使用详解-技术流ken
前言 cobbler是一个可以实现批量安装系统的Linux应用程序.它有别于pxe+kickstart,cobbler可以实现同个服务器批量安装不同操作系统版本. 系统环境准备及其下载cobbler ...
- linux四剑客-grep/find/sed/awk/详解-技术流ken
四剑客简介 相信接触过linux的大家应该都学过或者听过四剑客,即sed,grep,find,awk,有人对其望而生畏,有人对其爱不释手.参数太多,变化形式太多,使用超级灵活,让一部分人难以适从继而望 ...
- pxe+kickstart自动化批量安装系统详解-技术流ken
前言 pxe+kickstart是一款可以实现自动化批量安装系统的服务,比较经典,下面将详细介绍此服务的安装和使用. 系统环境准备 系统版本:CentOS release 6.7 (Final) 内网 ...
- MySQL系列详解五: xtrabackup实现完全备份及增量备份详解-技术流ken
xtrabackup简介 xtrabackup是一个用来对mysql做备份的工具,它可以对innodb引擎的数据库做热备.xtrabackup备份和还原速度快,备份操作不会中断正在执行的事务,备份完成 ...
随机推荐
- Paper | 学习多任务中的最佳分/ 合结构(十字绣结构)
目录 1. 问题 2. 十字绣结构(Cross-stitch architecture) 3. 实验设计 论文:Cross-stitch Networks for Multi-task Learnin ...
- 内存栅栏(memory barrier):解救peterson算法的应用陷阱
最近一个项目中用到了peterson算法来做临界区的保护,简简单单的十几行代码,就能实现两个线程对临界区的无锁访问,确实很精炼.但是在这不是来分析peterson算法的,在实际应用中发现peterso ...
- Nginx 教程(2):性能
tcp_nodelay, tcp_nopush 和 sendfile tcp_nodelay 在 TCP 发展早期,工程师需要面对流量冲突和堵塞的问题,其中涌现了大批的解决方案,其中之一是由 John ...
- Bootstrap3.3.7
页面的布局 <-!不让文字超出左右屏幕--> <style> .demo { word-wrap: break-word; } </style> 他们为那个模板中的 ...
- 每天学点SpringCloud(四):Feign的使用及自定义配置
Feign:SpringCloud的官网对它的定义是这样的: 是一个声明式的Web服务客户端.它支持Feign本身的注解.JAX-RS注解以及SpringMVC的注解.Spring Cloud集成Ri ...
- Kali学习笔记6:二层发现
先介绍下ARPING命令: arping命令是用于发送ARP请求到一个相邻主机的工具 arping使用arp数据包,通过PING命令检查设备上的硬件地址.能够测试一个IP地址是否是在网络上已经被使用, ...
- postgresql 日志配置
Postgresql日志收集 PG安装完成后默认不会记录日志,必须修改对应的(${PGDATA}/postgresql.conf)配置才可以,这里只介绍常用的日志配置. 1.logging_col ...
- hashMap,hashTable,concurrentHashMap区别
HashTable 底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相 ...
- Group By Rollup
Rollup与group by组合使用,可对分组结果进行进一步的汇总. 创建数据表 select * from emp_test (1) rollup单个字段 如按照country字段进行分组,并在最 ...
- 使用Keras搭建cnn+rnn, BRNN,DRNN等模型
Keras api 提前知道: BatchNormalization, 用来加快每次迭代中的训练速度 Normalize the activations of the previous layer a ...