成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

保護你的Web服務器 iptables防火墻腳本全解讀

原創
系統 Linux
本文中介紹的腳本涉及到recent安全模塊,這對系統內核有要求(recent模塊在主機防護腳本中也經常用到)。因此,如果大家要采用iptables作為主機防火墻時,建議用CentOS 5.6 x86_64或更高級版本。此Web服務器是置于負載均衡器后面,所以我們要允許數據源地址為負載均衡器的數據包通過。

【51CTO獨家特稿】本文假設你已經對iptables有基本的了解,否則請先閱讀iptables入門一文。

在我們的Web服務器上,系統的默認策略是INPUT為DROP,OUTPUT;FORWARD鏈為ACCEPT,DROP則設置得比較寬松,因為我們知道出去的數據包比較安全。

準備工作

為了驗證腳本的通用性,我特地查看了服務器的內核及iptables版本:

# uname -a
Linux ud50041 2.6.9-34.ELsmp #1 SMP Fri Feb 24 16:54:53 EST 2006 i686 i686 i386 GNU/Linux
# iptables -V
iptables v1.2.11
# lsb_release -a
LSB Version: :core-3.0-ia32:core-3.0-noarch:graphics-3.0-ia32:graphics-3.0-noarch
Distributor ID: RedHatEnterpriseAS
Description: Red Hat Enterprise Linux AS release 4 (Nahant Update 3)
Release: 4
Codename: NahantUpdate3

大家可以發現,這臺服務器的系統、內核和iptables版本是比較老的。本文中介紹的腳本涉及到recent安全模塊,這對系統內核有要求(recent模塊在主機防護腳本中也經常用到)。因此,如果大家要采用iptables作為主機防火墻時,建議用CentOS 5.6 x86_64或更高級版本,不然系統會有如下提示錯誤信息:

iptables: Unknown error 18446744073709551615
iptables:Invalid argument

在tail -f /var/log/messages時會有如下出錯提示:

ip_tables: connlimit match: invalid size 32 != 16
ip_tables: connlimit match: invalid size 32 != 24

另外,在生產環境下進行iptables腳本的調試之前,強烈建議編寫crontab任務,每5分鐘關閉一次iptables腳本,防止操作失誤而將自己的SSH客戶端鎖在外面:

*/5 * * * * root /etc/init.d/iptables stop

準備工作就是這些,下面是iptables腳本內容。

腳本內容

#!/bin/bash
iptables -F
iptables -F -t nat
iptables -X

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
 
#load connection-tracking modules
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

iptables -A INPUT -f -m limit --limit 100/sec --limit-burst 100 -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 10 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 20/sec --limit-burst 200 -j ACCEPT
 
iptables -A INPUT -s 122.70.x.x -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 80,22 -j ACCEPT

保存腳本文件后用

# sh iptables.sh

執行腳本。運行腳本之后最好檢查一下:

# iptables -nv -L

腳本說明

由于此Web服務器是置于負載均衡器后面,所以我們要允許數據源地址為負載均衡器的數據包通過:

iptables -A INPUT -s 122.70.x.x -j ACCEPT

如果配置了Nagios等監控系統的話在這里也要加上,如果監控和LB都沒做的話,這行可以不用。

另外,我的許多基于LNMP的小網站上面也部署了此腳本,由于Web服務和MySQL數據庫同時安裝在一臺機器上,所以沒有開放3306端口。

在本腳本中,我們配置了一些安全措施,以防止外部的ping和SYN洪水攻擊,并且考慮到外部的瘋狂端口掃描軟件可能會影響服務器的入口帶寬,所以在這里也做了限制:

iptables -A INPUT -p tcp --syn -m limit --limit 100/s --limit-burst 100 -j  ACCEPT

上面的命令每秒鐘最多允許100個新連接。請注意這里的新連接指的是state為New的數據包,在后面我們也配置了允許狀態為ESTABLISHED和RELATED的數據通過;另外,100這個閥值則要根據服務器的實際情況來調整,如果是并發量不大的服務器這個數值就要調小,如果是訪問量非常大且并發數不小的服務器,這個值則還需要調大。

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s –limit-burst 10 -j ACCEPT

這是為了防止ping洪水攻擊,限制每秒的ping包不超過10個。

iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 20/sec --limit-burst 200 -j ACCEPT

上面的命令防止各種端口掃描,將SYN及ACK SYN限制為每秒鐘不超過200個,免得把數務器帶寬耗盡了。

后續加固工作

iptables防火墻運行后,運行nmap工具進行掃描:

# nmap -P0 -sS 211.143.6.x
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2009-03-29 16:21 CST
Interesting ports on 211.143.6.X:
Not shown: 1668 closed ports
PORT     STATE SERVICE
22/tcp   open   ssh
25/tcp   open   smtp
80/tcp   open   http
110/tcp   open   pop3
111/tcp   open   rpcbind
143/tcp   open   imap
443/tcp   open   https
465/tcp   open   smtps
587/tcp   open   submission
993/tcp   open   imaps
995/tcp   open   pop3s
1014/tcp  open   unknown

在這里,我們發現一個1014端被某個進程打開了,用lsof -i:1014查看發現是rpc.statd打開的,這服務每次用的端口都不一樣啊!本來想置之不理的,但是如果rpc.statd不能正確處理SIGPID信號,遠程攻擊者可利用這個漏洞關閉進程,進行拒絕服務攻擊,所以還是得想辦法解決掉。我們發現rpc.statd是由服務nfslock開啟的,進一步查詢得知它是一個可選的進程,它允許NFS客戶端在服務器上對文件加鎖。這個進程對應于nfslock服務,于是我們關掉了此服務:

service nfslock stop
chkconfig nfslock off

最后想說的是,如果沒有硬件防火墻保護的話,請盡量在每一臺有公網IP的機器上部署iptables防火墻吧!

作者介紹:余洪春(撫琴煮酒·微博),《構建高可用Linux服務器》一書作者,一拍網系統架構師、資深項目管理工程師,ChinaUnix集群和高可用版版主。

【51CTO.com獨家特稿,合作媒體轉載請注明原文作者及出處!】

【編輯推薦】

  1. iptables實戰系列:通過NAT轉發實現私網對外發布信息
  2. 深入淺出Netfilter/iptables防火墻框架(基礎篇)
  3. 深入淺出Netfilter/iptables防火墻框架(入門篇)
  4. iptables實戰系列:公共網絡服務防火墻
  5. iptables的狀態機制

 

責任編輯:yangsai 來源: 51CTO.com
相關推薦

2010-10-25 12:07:51

2018-09-17 12:20:55

2009-09-24 13:53:53

2010-09-29 14:28:07

2018-02-06 10:53:53

2011-03-15 16:35:27

2011-03-17 16:00:57

2011-03-15 15:47:15

Iptables防火墻

2011-03-25 11:18:51

2010-07-26 19:53:18

2010-01-07 14:12:11

Linux防火墻

2011-03-15 15:47:26

LinuxIptables防火墻

2011-03-15 09:10:43

iptables防火墻

2011-03-15 17:18:45

2011-03-17 10:58:55

Linux防火墻Iptables入門

2018-07-02 09:18:11

Linuxiptables防火墻

2011-03-16 12:46:29

CentOSiptables防火墻

2011-03-15 17:38:24

2011-08-18 10:22:44

2011-03-16 16:23:23

保存iptables防火墻
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美黄色精品 | 国产精品污www一区二区三区 | 你懂的免费在线 | 国产免费麻豆视频 | 亚洲欧美bt| 日日噜噜夜夜爽爽狠狠 | 午夜视频免费在线观看 | 欧美色a v| 97免费在线视频 | 一区二区在线免费观看 | 久久88 | 999热精品 | 亚洲精品66| 亚洲一二三区精品 | 国产精品国产a | 精品伊人久久 | 四虎永久免费在线 | 国产精品国产精品国产专区不片 | 在线a视频 | 国产精品一卡 | 精品乱子伦一区二区三区 | 成人精品免费视频 | 成人影音 | 中文字幕日本一区二区 | 中文字幕亚洲无线 | 亚洲一区国产 | 欧美午夜在线 | 日日操夜夜操天天操 | 午夜影院中文字幕 | 久久久久久亚洲精品不卡 | 国内精品久久精品 | 久久精品欧美一区二区三区不卡 | av一级一片 | 不卡一区二区三区四区 | 午夜精品在线 | 一区二区三区在线观看免费视频 | 91成人在线| 99久久电影| 中文字幕在线一区二区三区 | 免费视频二区 | 亚洲午夜视频 |