IT安全以及iptables

目录:

  1. IT运维安全
  2. iptables概念及应用
  3. iptable NAT转发
IT运维安全

为了保障企业IT设备、门户网站、业务系统、应用软件&程序高效稳定的运行,需要通过一下一些方面来强化安全

安全从点滴做起

  • 硬件层面
    IDC机房门禁、设备静电、灭火器、管理人员权限、摄像头监控、操作权限、供电系统、空调、大风扇、服务器硬件等
  • 软件层面
    应用程序可读、可写、执行、控制访问权限、软件自身BUG、软件代码、网站程序代码、软件数据涉密、软件备份
  • 系统层面
    系统稳定性、系统补丁、系统用户、用户密码登录、密码复杂度、目录文件授权管理、开放端口、系统启动进程等
  • 网络层面
    网络流量、网络的连通性、网线、广域网链路、网络设备高可用、互备机制等


iptables概念及应用
  • Iptables是Linux内核级别软件级防火墙,区别于硬件设备的防火墙,IPtables是开源的、免费的。
  • Netfilter/iptables看成是统一基于Linux级别防火墙,其实基于IP数据包做过滤的,有两个组成部分:Netfilter和IPtables,其中Netfilter主要是集成在Linux内核中模块,而iptables是用于管理Netfilter模块的;(类似IP_VS和ipvsadm关系)
  • Iptables防火墙由表和链构成的,其中表是存储在Linux内核中(Netfilter模块),链是存在表中的,链中由单个规则或者多个规则组成的,规则是什么呢?规则(约定)允许访问、不允许访问等
  • Netfilter主要是作用于内核空间,属于Linux内核中一个数据包过滤模块,而Iptables是用于管理Netfilter模块的(管理Netfilter中的表和链(规则)),通常称防火墙不是Netfilter/Iptables,而是直接称为Iptables(统称)

如图所示,表示IPtables防火墙关于用户数据包的请求和流向结构图:
在这里插入图片描述
通常修改filter表
在这里插入图片描述

简单使用yum安装iptables

yum install iptables iptables-devel iptables-utils iptables-services -y

iptables 默认规则存放在/etc/sysconfig/iptables

文件内容如下:

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter  # 使用filter表
:INPUT ACCEPT [0:0]  # 表示input链默认为接受数据包
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT  # -m 表示模块
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

查看规则

[root@avazu ~]# iptables -L -n

保存规则

[root@avazu ~]# iptables-save >> /etc/sysconfig/iptables
# 或者使用
[root@avazu ~]# service iptables save

线上防火墙配置示例

# Generated by iptables-save v1.4.7 on Wed Dec 14 21:05:31 2016
*filter
:INPUT DROP [0:0]  # 默认丢弃
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [602:39593]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#########################
-A INPUT -i lo -j ACCEPT
##########################
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8801 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
####
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

将错误密码,且访问次数大于2的ip进行封禁

for i in $(grep "Failed password" /var/log/secure|awk '{print $(NF-3)}'|sort|uniq -c|sort -nr|awk '{if($1>=2) print $2}');do sed -i "/lo/a -A INPUT -s $i -j DROP" /etc/sysconfig/iptables;done && service iptables save ; service iptables restart

回到目录



iptable NAT转发

基于NAT表实现IP地址转发或者转化,操作案例如下:

将192.168.1.126(本机)的8080端口转发至其他目标主机,主机IP:192.168.1.126,目标主机IP和端口:192.168.1.125:80,规则如下:

  1. 在nat表上添加规则,并保存
iptables -t nat -A PREROUTING -p tcp -m tcp -d 192.168.1.126 --dport 8080 -j DNAT --to-destination 192.168.1.125:80
iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.1.126:8080
  1. 打开内核路由转发,如果要自动打开,需要 添加到rc.local
echo 1 > /proc/sys/net/ipv4/ip_forward

回到目录

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值