CentOS服务器iptables配置简单教程_Linux

iptables是Linux类服务器重要的网络安全防范系统工具,考虑到多数服务器有专门的团队托管,服务器管理员多数时间只能通过SSH进行远程管理,在安全允许的情况下,保证SSH的合法联通,需要做如下的配置。

iptables -P INPUT ACCEPT
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -L -v

  这样能够保证SSH的22端口得到合法的通行,最后执行service iptables save,将刚才的配置保存。

  通过cat /etc/sysconfig/iptables可以查看iptables配置文件的信息,今后可以通过直接编辑该文件,增删配置条目。

  查看运行着的iptables的规则指令为:lsmod | grep ip_tables或iptables -L。

小编再补充一个知识点:防简单攻击iptables策略

#!/bin/sh
IPTABLES=/sbin/iptables

# clear
$IPTABLES -F

# if pkg type is allow, then accept
#$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 如果同时在80端口的连接数大于10,就Drop掉这个ip

netstat -an | grep :80 | awk -F: '{ print $8 }' | sort | uniq -c | awk -F\  '$1>10 && $2!="" { print $2 }' >> /etc/fw.list
less /etc/fw.list | sort | uniq -c | awk -F\  '$2!="" { print $2 }' > /etc/fw.list2
less /etc/fw.list2 > /etc/fw.list
while read line

    do
    t=`echo "$line"`
    $IPTABLES -A INPUT -p tcp -s $t -j DROP
done < /etc/fw.list2

# IP转发
$IPTABLES -A INPUT -p tcp --dport 20002 -j ACCEPT
$IPTABLES -A INPUT -d 172.16.204.7 -p tcp -m tcp --dport 20002 -i eth0 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -d 211.100.39.44 -p tcp -m tcp --dport 20002 -j DNAT --to-destination 172.16.204.7:20002
$IPTABLES -t nat -A POSTROUTING -d 172.16.204.7 -p tcp -m tcp --dport 20002 -j SNAT --to-source 10.6.39.44

# if pkg visit 80,7710 port then accept
$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 8080 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 873 -j ACCEPT
# $IPTABLES -A INPUT -i eth0 -m limit --limit 1/sec --limit-burst 5 -j ACCEPT
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --syn -m limit --limit 10/s -j ACCEPT
$IPTABLES -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT

# if pkg from allow ip then accept

$IPTABLES -A INPUT -p tcp -s 127.0.0.1  -j ACCEPT

# if pkg not above then deny

$IPTABLES -A INPUT -p tcp --syn -j DROP

下面这个防火墙测试结果更正确,能起到一定的防攻击的功能

#!/bin/sh

IPTABLES="/sbin/iptables"

echo "1" > /proc/sys/net/ipv4/ip_forward

$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -F
$IPTABLES -X

$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 80 --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT

$IPTABLES -A OUTPUT -p tcp -s 127.0.0.1 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -s 192.168.1.102 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -s 127.0.0.1 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -s 192.168.1.102 -j ACCEPT

$IPTABLES -A INPUT -p tcp --syn -j DROP

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索centos
iptables
linux 服务器 centos、centos7配置ftp服务器、centos ftp服务器配置、centos7配置dns服务器、centos配置dns服务器,以便于您获取更多的相关知识。

时间: 2024-09-22 01:29:28

CentOS服务器iptables配置简单教程_Linux的相关文章

Sql Server2012 使用IP地址登录服务器的配置图文教程

最近在使用NFineBase框架+c#做一个系统的时候,在使用sql server 2012 连接数据库的时候 ,遇到几个问题. 一. 就是在本地或者远程连接别人的数据库的时候,以ip地址作为服务器名称 以SQL Server 身份验证(即输入登录名和密码)的方式登录数据库 总会出现错误 比如说会提示一下错误: 用户 'sa' 登录失败,该用户与可信 SQL Server 连接无关联. 但是使用 计算机名\实例名 这种方式就可以登录 \ 最后发现还是数据库的配置问题,解决方案如下: 我使用的是w

在CentOS服务器上配置NTP服务器的教程

  网络时间协议(NTP)用来同步网络上不同主机的系统时间.你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间.而另一方面,一个 NTP 服务器会将它的时间和任意公共 NTP 服务器,或者你选定的服务器同步.由 NTP 管理的所有系统时钟都会同步精确到毫秒级. 在公司环境中,如果他们不想为 NTP 传输打开防火墙,就有必要设置一个内部 NTP 服务器,然后让员工使用内部服务器而不是公共 NTP 服务器.在这个指南中,我们会介绍如何将一个 CentOS 系统配置为

详细阿里云CentOS服务器安全设置步骤教程

阿里云CentOS服务器安全设置步骤如下 1.开启云盾所有服务 2.通过防火墙策略限制对外扫描行为 请您根据您的服务器操作系统,下载对应的脚本运行,运行后您的防火墙策略会封禁对外发包的行为,确保您的主机不会再出现恶意发包的情况,为您进行后续数据备份操作提供足够的时间. Window2003的批处理文件下载地址:http://oss.aliyuncs.com/aliyunecs/windows2003_drop_port.bat Window2008的批处理文件下载地址:http://oss.al

mysql 5.7.14 安装配置简单教程_Mysql

记录mysql5.7.14安装与配置过程,梳理成文,希望对大家有所帮助. 1.配置文档:  ####################配置文件开始################### # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It'

linux中centOS防火墙iptables的设置教程

  1.安装iptables防火墙 怎么知道系统是否安装了iptables?执行iptables -V,如果显示如: iptables v1.3.5 说明已经安装了iptables. 如果没有安装iptables需要先安装,执行: yum install iptables 在Linux中设置防火墙,以CentOS为例,打开iptables的配置文件: vi /etc/sysconfig/iptables   通过/etc/init.d/iptables status命令查询是否有打开80端口,如

CentOS服务器安全配置方法总结

启动和登录安全性 1.BIOS安全 设置BIOS密码且修改引导次序禁止从软盘启动系统. 2.用户口令 用户口令是linux安全的一个基本起点,很多人使用的用户口令过于简单,这等于给侵入者敞开了大门,虽然从理论上说,只要有足够的时间和资源可以利用,就没有不能破解的用户口令,但选取得当的口令是难于破解的.较好的用户口令是那些只有他自己容易记得并理解的一串字符,并且绝对不要在任何地方写出来. 3.默认账号 应该禁止所有默认的被操作系统本身启动的并且不必要的账号,当您第一次安装系统时就应该这么做,Lin

mysql 5.5 安装配置简单教程_Mysql

下面的是MySQL安装的过程,用的可执行文件安装的,详细说明了一下! 1.打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行"setup.exe" 2.mysql安装向导启动,按"Next"继续 选择安装类型,有"Typical(默认)"."Complete(完全)"."Custom(用户自定义)"三个选项,我们选择"Custom",有更多的选项,

Centos虚拟机上网配置IP方法_Linux

本文主要是介绍了CentOS虚拟机需要上网快速配置IP,如果是虚拟机直接上网很简单,如果是和主机互联需要桥链接,具体如下: 如果仅仅是虚拟机需要上网,则很简单 1.进入Centos系统,查看网络配置. 输入命令:ifconfig -a 2.进入ifcfg-eth0文件. 输入命令:vim /etc/sysconfig/network-scripts/ifcfg-eth0 注:非root账户需加sudo,否则无权限编辑,或者直接su切换到root用户下. 3.配置动态IP. 通过修改ifcfg-e

Apache2 WEB服务器的配置步骤分享_Linux

安装配置apache2 1.到apache(www.apache.org)官方网站下载最新的源代码包 2.用tar -zxvf apache_[version].tar.gz解压,得到一个目录 3.进入目录执行./configure prefix=[path] enable-module=so开始配置 例如要将apache安装在/www/ 下,则可以./configure prefix=/wwwenable-moudle=so 4.配置过后执行make,接着make install,apache