多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 服務器 > Iptables 服務器安全策略集合

Iptables 服務器安全策略集合

來源:程序員人生   發布時間:2014-12-14 08:26:14 閱讀次數:3193次

Linux服務器上經常使用端口

ftp:20 21    ssh:22    http:80    telnet:23    rsync:873    svn:3690

pop3:110    smtp:25    dns:53    mysql:3306    nfs:111

如果你的IPTABLES基礎知識還不了解,建議先去看看.

開始配置

我們來配置1個filter表的防火墻.

(1)查看本機關于IPTABLES的設置情況

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

可以看出我在安裝linux時,選擇了有防火墻,并且開放了22,80,25端口.

如果你在安裝linux時沒有選擇啟動防火墻,是這樣的

Chain INPUT (policy ACCEPT)
target       prot opt source                 destination         

Chain FORWARD (policy ACCEPT)
target       prot opt source                 destination         

Chain OUTPUT (policy ACCEPT)
target       prot opt source                 destination  

甚么規則都沒有.

(2)清除原有規則.

不管你在安裝linux時是不是啟動了防火墻,如果你想配置屬于自己的防火墻,那就清除現在filter的所有規則.

[root@tp ~]# iptables -F        清除預設表filter中的所有規則鏈的規則
[root@tp ~]# iptables -X        清除預設表filter中使用者自定鏈中的規則

我們在來看1下

[root@tp ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target       prot opt source                 destination         

Chain FORWARD (policy ACCEPT)
target       prot opt source                 destination         

Chain OUTPUT (policy ACCEPT)
target       prot opt source                 destination      

甚么都沒有了吧,和我們在安裝linux時沒有啟動防火墻是1樣的.(提早說1句,這些配置就像用命令配置IP1樣,重起就會失去作用),怎樣保存.

[root@tp ~]# /etc/rc.d/init.d/iptables save

這樣就能夠寫到/etc/sysconfig/iptables文件里了.寫入后記得把防火墻重起1下,才能起作用.

[root@tp ~]# service iptables restart

現在IPTABLES配置表里甚么配置都沒有了,那我們開始我們的配置吧

(3)設定預設規則

[root@tp ~]# iptables -P INPUT DROP

[root@tp ~]# iptables -P OUTPUT ACCEPT

[root@tp ~]# iptables -P FORWARD DROP
上面的意思是,當超越了IPTABLES里filter表里的兩個鏈規則(INPUT,FORWARD)時,不在這兩個規則里的數據包怎樣處理呢,那就是DROP(放棄).應當說這樣配置是很安全的.我們要控制流入數據包

而對OUTPUT鏈,也就是流出的包我們不用做太多限制,而是采取ACCEPT,也就是說,不在著個規則里的包怎樣辦呢,那就是通過.

可以看出INPUT,FORWARD兩個鏈采取的是允許甚么包通過,而OUTPUT鏈采取的是不允許甚么包通過.

這樣設置還是挺公道的,固然你也能夠3個鏈都DROP,但這樣做我認為是沒有必要的,而且要寫的規則就會增加.但如果你只想要有限的幾個規則是,如只做WEB服務器.還是推薦3個鏈都是DROP.

注:如果你是遠程SSH登陸的話,當你輸入第1個命令回車的時候就應當掉了.由于你沒有設置任何規則.

怎樣辦,去本機操作唄!

(4)添加規則.

首先添加INPUT鏈,INPUT鏈的默許規則是DROP,所以我們就寫需要ACCETP(通過)的鏈

為了能采取遠程SSH登陸,我們要開啟22端口.

[root@tp ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT

[root@tp ~]# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT (注:這個規則,如果你把OUTPUT 設置成DROP的就要寫上這1部,好多人都是望了寫這1部規則致使,始終沒法SSH.在遠程1下,是否是好了.

其他的端口也1樣,如果開啟了web服務器,OUTPUT設置成DROP的話,一樣也要添加1條鏈:

[root@tp ~]# iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT ,其他同理.)

如果做了WEB服務器,開啟80端口.

[root@tp ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
如果做了郵件服務器,開啟25,110端口.

[root@tp ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT
[root@tp ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT
如果做了FTP服務器,開啟21端口

[root@tp ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT

[root@tp ~]# iptables -A INPUT -p tcp --dport 20 -j ACCEPT

如果做了DNS服務器,開啟53端口

[root@tp ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT

如果你還做了其他的服務器,需要開啟哪一個端口,照寫就好了.

上面主要寫的都是INPUT鏈,凡是不在上面的規則里的,都DROP

允許icmp包通過,也就是允許ping,

[root@tp ~]# iptables -A OUTPUT -p icmp -j ACCEPT (OUTPUT設置成DROP的話)

[root@tp ~]# iptables -A INPUT -p icmp -j ACCEPT    (INPUT設置成DROP的話)

允許loopback!(不然會致使DNS沒法正常關閉等問題)

iptables -A INPUT -i lo -p all -j ACCEPT (如果是INPUT DROP)
iptables -A OUTPUT -o lo -p all -j ACCEPT(如果是OUTPUT DROP)

下面寫OUTPUT鏈,OUTPUT鏈默許規則是ACCEPT,所以我們就寫需要DROP(放棄)的鏈.

減少不安全的端口連接

[root@tp ~]# iptables -A OUTPUT -p tcp --sport 31337 -j DROP

[root@tp ~]# iptables -A OUTPUT -p tcp --dport 31337 -j DROP

有些些特洛伊木馬會掃描端口31337到31340(即黑客語言中的 elite 端口)上的服務。既然合法服務都不使用這些非標準端口來通訊,阻塞這些端口能夠有效地減少你的網絡上可能被感染的機器和它們的遠程主服務器進行獨立通訊的機會

還有其他端口也1樣,像:31335、27444、27665、20034 NetBus、9704、137⑴39(smb),2049(NFS)端口也應被制止,我在這寫的也不全,有興趣的朋友應當去查1下相干資料.

固然出入更安全的斟酌你也能夠包OUTPUT鏈設置成DROP,那你添加的規則就多1些,就像上邊添加

允許SSH登陸1樣.照著寫就好了.

下面寫1下更加細致的規則,就是限制到某臺機器

如:我們只允許192.168.0.3的機器進行SSH連接

[root@tp ~]# iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT

如果要允許,或限制1段IP地址可用 192.168.0.0/24 表示192.168.0.1⑵55真個所有IP.

24表示子網掩碼數.但要記得把 /etc/sysconfig/iptables 里的這1行刪了.

-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 由于它表示所有地址都可以登陸.

或采取命令方式:

[root@tp ~]# iptables -D INPUT -p tcp --dport 22 -j ACCEPT

然后保存,我再說1邊,反是采取命令的方式,只在當時生效,如果想要重起后也起作用,那就要保存.寫入到/etc/sysconfig/iptables文件里.

[root@tp ~]# /etc/rc.d/init.d/iptables save

這樣寫 !192.168.0.3 表示除192.168.0.3的ip地址

其他的規則連接也1樣這么設置.

在下面就是FORWARD鏈,FORWARD鏈的默許規則是DROP,所以我們就寫需要ACCETP(通過)的鏈,對正在轉發鏈的監控.

開啟轉發功能,(在做NAT時,FORWARD默許規則是DROP時,必須做)

[root@tp ~]# iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

[root@tp ~]# iptables -A FORWARD -i eth1 -o eh0 -j ACCEPT

拋棄壞的TCP包

[root@tp ~]#iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP

處理IP碎片數量,避免攻擊,允許每秒100個

[root@tp ~]#iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT

設置ICMP包過濾,允許每秒1個包,限制觸發條件是10個包.

[root@tp ~]#iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT

我在前面只所以允許ICMP包通過,就是由于我在這里有限制.

2,配置1個NAT表縱火墻

1,查看本機關于NAT的設置情況

[root@tp rc.d]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target       prot opt source                 destination         

Chain POSTROUTING (policy ACCEPT)
target       prot opt source                 destination         
SNAT         all    --    192.168.0.0/24         anywhere              to:211.101.46.235

Chain OUTPUT (policy ACCEPT)
target       prot opt source                 destination    

我的NAT已配置好了的(只是提供最簡單的代理上網功能,還沒有添加防火墻規則).關于怎樣配置NAT,參考我的另外一篇文章

固然你如果還沒有配置NAT的話,你也不用清除規則,由于NAT在默許情況下是甚么都沒有的

如果你想清除,命令是

[root@tp ~]# iptables -F -t nat

[root@tp ~]# iptables -X -t nat

[root@tp ~]# iptables -Z -t nat

2,添加規則

添加基本的NAT地址轉換,(關于如何配置NAT可以看我的另外一篇文章),

添加規則,我們只添加DROP鏈.由于默許鏈全是ACCEPT.

避免外網用內網IP欺騙

[root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP
[root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP
[root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP
如果我們想,比如禁止MSN,QQ,BT等的話,需要找到它們所用的端口或IP,(個人認為沒有太大必要)

例:

制止與211.101.46.253的所有連接

[root@tp ~]# iptables -t nat -A PREROUTING    -d 211.101.46.253 -j DROP

禁用FTP(21)端口

[root@tp ~]# iptables -t nat -A PREROUTING -p tcp --dport 21 -j DROP

這樣寫范圍太大了,我們可以更精確的定義.

[root@tp ~]# iptables -t nat -A PREROUTING    -p tcp --dport 21 -d 211.101.46.253 -j DROP

這樣只禁用211.101.46.253地址的FTP連接,其他連接還可以.如web(80端口)連接.

依照我寫的,你只要找到QQ,MSN等其他軟件的IP地址,和端口,和基于甚么協議,只要照著寫就好了.

最后:

drop非法連接
[root@tp ~]# iptables -A INPUT     -m state --state INVALID -j DROP
[root@tp ~]# iptables -A OUTPUT    -m state --state INVALID -j DROP
[root@tp ~]# iptables-A FORWARD -m state --state INVALID -j DROP
允許所有已建立的和相干的連接
[root@tp ~]# iptables-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@tp ~]# iptables-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

[root@tp ~]# /etc/rc.d/init.d/iptables save

這樣就能夠寫到/etc/sysconfig/iptables文件里了.寫入后記得把防火墻重起1下,才能起作用.

[root@tp ~]# service iptables restart


別忘了保存,不行就寫1部保存1次.你可以1邊保存,1邊做實驗,看看是不是到達你的要求,

上面的所有規則我都試過,沒有問題.ccc

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品久久久久国产免费 | 国产丝袜福利视频在线播放 | 校园春色网站 | 小说区乱图片区 | 一级aa毛片 | 综合久久久久 | 欧美精品一区二区三区四区 | 日本护士xxww免费 | 欧美日韩一二三区 | 国产精品第一页在线观看 | 午夜dj在线观看免费高清视频在线观看 | 久久久久一区二区三区 | 精品一区二区免费视频 | 性欧美video另类hd亚洲人 | 波多野结衣中文字幕在线播放 | 国产视频在线看 | 91精品91| 亚洲精品久久久久久久网站 | 爱爱的免费视频 | 日韩欧美印度一级毛片 | 成人精品美女隐私漫画 | 中国国产一级毛片 | 亚洲在线视频播放 | 亚洲欧美日韩久久一区 | 精品久久久久久国产免费了 | 亚洲永久免费网站 | 亚洲精品人成无码中文毛片 | 日韩字幕无线乱码 | 老司机免费福利在线观看 | 国产日韩欧美亚洲 | 国产在线成人一区二区 | 精品理论片一区二区三区 | 色综合久久综合欧美综合网 | 黑人和黑人激情一级毛片 | 中文字幕乱码无线码在线 | 国产乱码精品一区二区三上 | 日本一本高清v免费视频 | 国产一级理论免费版 | 午夜三级成人三级 | 中文字幕高清在线观看 | 男女日日 |