下列规则将会阻止来自某一特定IP范围内的数据包,因为该IP地址范围被管理员怀疑有大量恶意攻击者在活动: 
# iptables -t filter -A INPUT -s 123.456.789.0/24 -j DROP 
也可以很轻易地阻止所有流向攻击者IP地址的数据包,该命令稍有不同:
 # iptables -t filter -A OUTPUT -d 123.456.789.0/24 -j DROP 
 
注意这里的A选项,使用它说明是给现有的链添加规则
基于TCP协议的原理,为了彻底阻断攻击IP的连接,所以需要把流入流出到该IP的数据包都DROP掉
 
 
最后补充一下,如果想针对某IP进行单独开放端口可以如下配置:
 
如果我需要对内网某机器单独开放mysql端口,应该如下配置:   
iptables -A INPUT -s 192.168.2.6 -p tcp -m tcp --dport 3306 -j ACCEPT   
iptables -A OUTPUT -s 192.168.2.6 -p tcp -m tcp --sport 3306 -j ACCEPT  
 
 
彻底禁止某IP访问:
 
#屏蔽单个IP的命令是   
iptables -I INPUT -s 123.45.6.7 -j DROP   
#封整个段即从123.0.0.1到123.255.255.254的命令   
iptables -I INPUT -s 123.0.0.0/8 -j DROP   
#封IP段即从123.45.0.1到123.45.255.254的命令   
iptables -I INPUT -s 124.45.0.0/16 -j DROP   
#封IP段即从123.45.6.1到123.45.6.254的命令是   
iptables -I INPUT -s 123.45.6.0/24 -j DROP   
指令I是insert指令 但是该指令会insert在正确位置并不像A指令看你自己的排序位置,因此用屏蔽因为必须在一开始就要加载屏蔽IP,所以必须使用I命令加载,然后注意执行/etc/rc.d/init.d/iptables save进行保存后重启服务即可  
 
 
屏蔽或开启常见端口
 
屏蔽或开启常用的TCP、UDP端口:
 
#可以使用DROP替换ACCEPT,实现端口屏蔽。  
#打开22端口(SSH)  
# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT  
# iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 22 -j ACCEPT  
#打开TCP/UDP631端口(打印服务)  
# iptables -A INPUT -p udp -s 192.168.1.0/24 -m udp --dport 631 -j ACCEPT  
# iptables -A INPUT -p tcp -s 192.168.1.0/24 -m tcp --dport 631 -j ACCEPT  
# 打开123端口,允许局域网用户进行NTP时间同步  
# iptables -A INPUT -p udp -s 192.168.1.0/24 -m state --state NEW --dport 123 -j ACCEPT  
#打开25端口(SMTP)  
# iptables -A INPUT -p tcp -m state --state NEW --dport 25 -j ACCEPT  
# 打开DNS端口  
# iptables -A INPUT -p udp -m state --state NEW --dport 53 -j ACCEPT  
# iptables -A INPUT -p tcp -m state --state NEW --dport 53 -j ACCEPT  
#打开http/https端口  
# iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT  
# iptables -A INPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT  
#打开TCP110端口(POP3)  
# iptables -A INPUT -p tcp -m state --state NEW --dport 110 -j ACCEPT  
#打开TCP143端口  
# iptables -A INPUT -p tcp -m state --state NEW --dport 143 -j ACCEPT  
#为局域网用户开启Samba访问  
# iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 137 -j ACCEPT  
# iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 138 -j ACCEPT  
# iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 139 -j ACCEPT  
# iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 445 -j ACCEPT  
#为局域网用户开启代理服务器访问  
# iptables -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW --dport 3128 -j ACCEPT  
#为局域网用户开启MySQL访问  
# iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

iptables阻止服务器被攻击的更多相关文章

  1. 这两周服务器被攻击,封锁了600多个IP地址段后今天服务器安静多了

    这两周服务器被攻击,封锁了600多个IP地址段后今天服务器安静多了 建议大家在自己的服务器上也封杀这些瘪三的地址 iptables -I INPUT -s 123.44.55.0/24 -j DROP ...

  2. 服务器被攻击后当作矿机,高WIO

    __ 矿机特点:    操作系统反应慢. wio 非常高,一般轻松达到50%,甚至达到100%. 在/root/ 下存在 .ddg 隐藏路径.路径中有nnnn.db 二进制文件. /tmp ./usr ...

  3. .cn根服务器被攻击之后

    如果是互联网行业的人员应该知道,8月25日凌晨,大批的“.cn”域名的网站都无法访问,当然包括weibo.cn等大型网站.个人比较奇怪的一件事情是,微博PC网页版是:www.weibo.com,而mo ...

  4. iptables配置服务器端口转发

    环境: CentOS6.5,192.168.1.10,外网双向通信,绑定域名zlzkj.org: WinServer2008,192.168.1.11,外网不能直接访问到该机器,但ftp.远程桌面.M ...

  5. linux服务器被攻击处理过程

    开始排查 首先检查日志,以前做过安全运维,所以写过类似于检查命令和工具,开始一一排查. #查看是否为管理员增加或者修改 find / -type f -perm #显示文件中查看是否存在系统以外的文件 ...

  6. 一次处理CentOS服务器被攻击往外发广播包

    情况是这样:我们在某地托管的一台linux服务器,突然接到机房电话说是我们机器将整个IDC网络搞瘫了.外部机器没法访问IDC.  挂掉电话后:我就开始考虑,托管机器的机房是有硬防的,我本身一台机器怎么 ...

  7. 服务器安全之iptables

    服务器安全之iptables iptables防火墙简介 Netfilter/Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源代码的安全自由的基于包过滤的防火墙 ...

  8. Fail2ban 防止暴力破解centos服务器的SSH或者FTP账户

    次尝试登陆root账户失败的情况.[说明服务器被攻击了]   logtarget = SYSLOG  #我们需要做的就是把这行改成/var/log/fail2ban.log,方便用来记录日志信息 so ...

  9. 如何检查CentOS服务器受到DDOS攻击

    登录到你的服务器以root用户执行下面的命令,使用它你可以检查你的服务器是在DDOS攻击与否: netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | c ...

随机推荐

  1. centos 下搭建 php环境(2) mysql 安装

    CentOS下的MySQL 5.1安装   01 1.下载源码包 wget http://mysql.llarian.net/Downloads/MySQL-5.1/mysql-5.1.63.tar. ...

  2. 用soaplib的django webserver

    前面写过怎么利用suds来调用webservicePython调用基于https协议的SOAP WebService,这篇讲的是如何用soaplib开发SOAP WebService(最近发现国外开源 ...

  3. Js监控回车事件

    标题通俗的说,也就是绑定当用户按下回车键要执行的事件. 下面,入正题. 第一步,先编写简单的页面代码,这里我们只需要一个按钮就足够了.当然,还有按钮事件. <html> <head& ...

  4. C#程序中将图片转换为二进制字符串,并将二进制字符串转换为图片

    /// <summary> /// 将图片以二进制流 /// </summary> /// <param name="path"></pa ...

  5. poj2255 (二叉树遍历)

    poj2255 二叉树遍历 Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu   Descripti ...

  6. ecilipse Javadoc文档注释

    — 标签 @param @param 空格后面跟上形参(不是数据类型)空格后跟着对该参数的描述. 在描述中第一个名字为该变量的数据类型 对于参数的描述是一个句子,最好不要首字母大写, 如果出现了句号这 ...

  7. JAVA基础(1)之hashCode()

    JAVA基础(1)之hashCode() 看到一篇关于hashCode的文章(),写的很详细明白,瞬间有种恍然大悟的感觉,所以特地转过来.原文:http://blog.csdn.net/fenglib ...

  8. C51 库函数(2)

    3.2 STDIO.H:一般I/O函数 C51编译器包含字符I/O函数,它们通过处理器的串行接口操作,为支持其它I/O机制,只需修改getkey()和putchar()函数,其它所有I/O支持函数依赖 ...

  9. 多线程同步循环打印和Guarded suspension 模式

     * 迅雷笔试题: * 有三个线程ID分别是A.B.C,请有多线编程实现,在屏幕上循环打印10次ABCABC…  由于线程执行的不确定性,要保证这样有序的输出,必须控制好多线程的同步. 线程同步有两种 ...

  10. Java学习日记-4 StringBuffer类和数组

    一.StringBuffer类 StringBuffer是一个可变字符序列. 1.1 构造函数 StringBuffer() 构造一个不带字符的字符缓冲区,初始容量为16个字符. StringBuff ...