iptables 防火墙日常
、
检查机目标机器 httpd 服务
/etc/init.d/httpd status
=================================================================================================
Netfilter是Linux网络层 IP数据包处理模块。
【Chain】【Hook point】 ,数据包在 Netfilter 的挂载点 (PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING)
【iptables】
Filter 表
NAT 表
Mangle 表
Raw 表
iptables 规则
数据包访问控制 ACCEPT 、DROP 、REJECT
数据包改写 SNAT DNAT
信息记录 LOG
规则一 对所有地址开放本机的 tcp ( 80 22 10~21 )端口访问。
iptables -I INPUT -p tcp --dport -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp --dport 10:21 -j ACCEPT
规则二 允许对所有地址开放本机的 ICMP 协议数据包访问。
iptables -I INPUT -p icmp -j ACCEPT
规则三 其他未被允许端口 禁止访问
iptables -A INPUT -j REJECT
解决思路:
【查看本机 端口开放情况】netstat -lntp
【列出已有规则】iptables -L
【清空已有规则】iptables -F
【客户机验证服务器 iptables规则】nmap -sS -p 0-1000 服务器IP地址
iptables -D INPUT -p tcp --dport -j ACCEPT
iptables -I INPUT -p tcp --dport -j REJECT
【本机无法访问本机】环回地址 lo
iptables -I INPUT -i lo -j ACCEPT
【本机无法访问 其他主机】ESTABLISHED,RELATED 建立连接,FTP连接状态
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
【只允许某台主机访问本机的 httpd 】
iptables -D INPUT -p tcp --dport -j ACCEPT
iptables -I INPUT -p tcp -s 某台主机 --dport -j ACCEPT
======================================================
ftp连接默认是【被动模式 passive on 】
【配置vsftpd服务支持主动模式】sudo vi /etc/vsftpd/vsftpd.conf
port_enable=yes
connect_from_port_20=YES【启动 vsftpd 】/etc/init.d/vsftpd restart
【匿名用户】anonymous
【切换主动模式命令】 passive
【主动模式 关联 iptables 规则】
iptables -I INPUT -p tcp --dport -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT iptables -I INPUT -p icmp -j ACCEPT
iptables -A INPUT -j REJECT
【被动模式 关联 iptables 规则】
iptables -I INPUT -p tcp --dport -j ACCEPT
iptables -I INPUT -p tcp --dport 50000:60000 -j ACCEPT
sudo vi /etc/vsftpd/vsftpd.conf pasv_min_port=
pasv_max_port=
【被动模式 】
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -p tcp --dport -j ACCEPT # 临时
modprobe nf_conntrack_ftp
# 开机启动
sudo vi /etc/sysconfig/iptables-config
IPTABLES_MODULES="nf_conntrack_ftp"
=================================
需求 员工在公司内部 10.10.155.0/24 10.10.188.0/24 能访问服务器上任何服务
需求 员工出差 外网拨号给 VPN服务器 => 连接内网FTP服务器 、SAMBA NFS SSH
需求 公司有一个门户网站需要允许 公网访问
iptables -F
iptables -I INPUT -i lo -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -s 10.10.155.0/ -j ACCEPT
iptables -A INPUT -s 10.10.188.0/ -j ACCEPT
iptables -A INPUT -s 本机./ -j ACCEPT iptables -A INPUT -p tcp --dport -j ACCEPT
iptables -A INPUT -p tcp --dport -j ACCEPT
iptables -I INPUT -p icmp -j ACCEPT iptables -A INPUT -j REJECT
【保存到配置文件】/etc/sysconfig/iptables
/etc/init.d/iptables save
【开机启动】chkconfig iptables on
【验证开启 2345 on】chkconfig --list | grep iptables
一般允许外网访问的服务
网站 www http /tcp
https /tcp 邮件 mail
smtp /tcp
smtps /tcp
pop3 /tcp
pop3s /tcp
imap /tcp
一般不允许外网访问的服务
文件服务器 NFS /udp
SAMBA ,,/tcp /tcp
FTP /TCP /tcp 远程管理 SSH /tcp
数据库 MYSQL /tcp
ORACLE /tcp
【配置规则基本思路】
ACCEPT 的规则 ① 允许本地访问 ②允许已经监听状态数据包通过 ③允许规则中允许的数据包(SSH要开放)
DENY规则 拒绝不允许的数据包
=================================
【NAT Server】
sudo vi /etc/sysctl.conf
net.ipv4.ip_forward = sysctl -p
sysctl -a|grep ip_forward iptables -t nat -A POSTROUTING -s 10.10.177.0/ -j SNAT --to 10.10.188.232
【客户机默认网关设置】
netstat -rn sudo vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=blahblah
GATEWAY=10.10.177.232 --------------------------------
或者
route add 0.0.0.0 gw 10.10.177.232
【客户机】iptables -F
【服务器】curl http://10.10.177.233
【NAT Server】
iptables -t nat -A PREROUTING -d 10.10.188.232 -p tcp --dport -j DNAT --to 10.10.177.233:
================================================
防止 CC 攻击
connlimit 模块,限制并发连接数 100 个
iptables -I INPUT -p tcp --syn --dport -m connlimit --connlimit-above -j REJECT
limit 模块 限制流量 限制速度 ,比如 icmp 协议,,ping 可达 10个包之后就 ACCEPT
iptables -A INPUT -p icmp -m limit --limit /m --limit-burst -j ACCEPT
iptables -A INPUT -p icmp -j DROP
iptables 防火墙日常的更多相关文章
- linux 的iptables防火墙
.a文件就是*.o文件的集合, 是object文件的归档文件, 所以, 用nm -A ???.a看到的 symbolic符合名称都是 相应的, 包含的 .o文件.... linux 2.4内核中 ...
- Iptables防火墙规则使用梳理
iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤.封包重定向和网络地址转换(NAT)等功能 ...
- Iptables防火墙规则使用
iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤.封包重定向和网络地址转换(NAT)等功能 ...
- CentOS系统配置 iptables防火墙
阿里云CentOS系统配置iptables防火墙 虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FO ...
- 关闭SELinux和iptables防火墙
1.关闭SELinux: 编辑SELinux配置文件: [root@Redis selinux]# vim /etc/selinux/config 修改SELINUX配置项为disable SELIN ...
- CentOS 7.0,启用iptables防火墙
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...
- 编译内核实现iptables防火墙layer7应用层过滤 (三)
在前面的两篇文章中我们主要讲解了Linux防火墙iptables的原理及配置规则,想博友们也都知道iptables防火墙是工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙.以 ...
- [CentOs7]iptables防火墙安装与设置
摘要 CentOS 7.0默认使用的是firewall作为防火墙,如果改为iptables防火墙,如何操作? 关闭firewall: systemctl stop firewalld.service ...
- iptables防火墙作为基本需求的配置
企业中使用iptables防火墙:(一般不要在命令中输入规则) # Firewall configuration written by system-config-firewall# Manual c ...
随机推荐
- Select2控件不能自适应的解决办法
$.fn.select2.defaults.set('width', '100%');
- FineUIMvc随笔(1)动态创建表格列
声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. <FineUIMvc随笔>目录 FineUIMvc随笔(1)动态创建表格列 FineUIMvc随笔(2)怎样在控件中 ...
- Python--day10(函数(使用、分类、返回值))
1. 函数 1. 函数: 完成特定功能的代码块,作为一个整体,对其进行特定的命名,该名字就代表这函数 现实中:很多问题要通过一些工具进行处理 => 可以将工具提前生产出来并命名 =>通 ...
- 接口(迭代器) Iterator
Iterator接口简介 在程序开发中,经常需要遍历集合中的所有元素.针对这种需求,JDK专门提供了一个接口java.util.Iterator.Iterator接口也是Java集合中的一员,但它与C ...
- codeforces#1139E. Maximize Mex(逆处理,二分匹配)
题目链接: http://codeforces.com/contest/1139/problem/E 题意: 开始有$n$个同学和$m$,每个同学有一个天赋$p_{i}$和一个俱乐部$c_{i}$,然 ...
- 菜鸟学IT之四则运算升级版
菜鸟学IT之四则运算升级版 本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213 团队代码github远程仓库的 ...
- Springboot的static和templates区别
static和templates部分参考博客:https://blog.csdn.net/wangb_java/article/details/71775637 热部署参考博客:https://www ...
- vim命令:编辑模式和命令模式
vim:编辑模式 从一般模式进入编辑模式,只需你按一个键即可(i,I,a,A,o,O,r,R).当进入编辑模式时,会在屏幕的最下一行出现“INSERT或REPLACE”的字样.从编辑模式回到一般模 ...
- js检查身份证号是否正确
转的,比较完善的验证身份证号的代码 /* check(ID)验证身份证号码 返回值:0 : "是正确的身份证号" 1 : "身份证校验不符合求和模11=1这个等式&quo ...
- django 日志logging的配置以及处理
django日志官方文档https://docs.djangoproject.com/en/1.11/topics/logging/ 本文摘自http://davidbj.blog.51cto.com ...