iptables -f
(or)
iptables --flush
iptables的filter表中有三種鏈:input, forward和output。預設的鏈策略是accept,你可以將它們設定成drop。
iptables -p input drop
iptables -p forward drop
iptables -p output drop
iptables -a output -p icmp --icmp-type echo-request -j accept
iptables -a input -p icmp --icmp-type echo-reply -j accept
iptables -a input -i lo -j accept
iptables -a output -o lo -j accept
iptables -a input -i eth0 -p tcp --dport 22 -m state --state new,established -j accept
iptables -a output -o eth0 -p tcp --sport 22 -m state --state established -j accept
本規則和上述規則有所不同,本規則意在允許本機發起ssh連線,上面的規則與此正好相反。
iptables -a output -o eth0 -p tcp --dport 22 -m state --state new,established -j accept
iptables -a input -i eth0 -p tcp --sport 22 -m state --state established -j accept
以下規則僅允許來自192.168.100.0/24的網路:
iptables -a input -i eth0 -p tcp -s
192.168.100.0/24 --dport 22 -m state --state new,established -j accept
iptables -a output -o eth0 -p tcp --sport 22 -m state --state established -j accept
以下規則僅允許從本地主機連線到192.168.100.0/24的網路:
iptables -a output -o eth0 -p tcp -d
192.168.100.0/24 --dport 22 -m state --state new,established -j accept
iptables -a input -i eth0 -p tcp --sport 22 -m state --state established -j accept
# 1.允許http連線:80埠
iptables -a input -i eth0 -p tcp --dport 80 -m state --state new,established -j accept
iptables -a output -o eth0 -p tcp --sport 80 -m state --state established -j accept
# 2.允許https連線:443埠
iptables -a input -i eth0 -p tcp --dport 443 -m state --state new,established -j accept
iptables -a output -o eth0 -p tcp --sport 443 -m state --state established -j accept
iptables -a input -i eth0 -p tcp -s
192.168.100.0/24 --dport 3306 -m state --state new,established -j accept
iptables -a output -o eth0 -p tcp --sport 3306 -m state --state established -j accept
本規則可以允許使用者從本地主機發起https連線,從而訪問internet。
iptables -a output -o eth0 -p tcp --dport 443 -m state --state new,established -j accept
iptables -a input -i eth0 -p tcp --sport 443 -m state --state established -j accept
-m multiport
:指定多個埠
通過指定-m multiport
選項,可以在一條規則中同時允許ssh、http、https連線:
iptables -a input -i eth0 -p tcp -m multiport --dports 22,80,443 -m state --state new,established -j accept
iptables -a output -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state established -j accept
iptables -a output -p udp -o eth0 --dport 53 -j accept
iptables -a input -p udp -i eth0 --sport 53 -j accept
iptables -a input -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j accept
有一些時候 我們需要將iptables
的input
鏈寫死,那麼我們可以用iptables -p input drop
來全部關掉input
鏈路。
但是隨之產生了乙個很嚴重的問題,那麼伺服器本身傳送的資料請求返回的資料同樣被iptables
拒之門外,乙個通俗的解釋就是外部資料無法訪問本地服務,本地伺服器也無法正常上網。
解決方法如下:
iptables -a input -m state --state established,related -j accept
iptables -a output -m state --state established,related -j accept
防止syn攻擊(ddoos攻擊的一種)
iptables -i input -p tcp --syn -m limit --limit 1/s -j accept
iptables -i forward -p tcp --syn -m limit --limit 1/s -j accept
防止各種埠掃瞄
iptables -a forward -p tcp --tcp-flags syn,ack,fin,rst rst -m limit --limit 1/s -j accept
ping洪水攻擊(ping of death)
iptables -a forward -p icmp --icmp-type echo-request -m limit --limit 1/s -j accept
#linux中預防syn_recv**)
攻擊的形式多種多樣,我們這裡只介紹最為常見的syn_recv,遇到攻擊的不要著急,小量的syn_recv很容易防止的
1.對於大量的 syn_recv
若懷疑是syn flood攻擊,有以下建議:
這個攻擊的解決方法如下:
1,增加未完成連線佇列(q0)的最大長度。
echo
1280>/proc/sys/net/ipv4/tcp_max_syn_backlog
2, 啟動syn_cookie。
echo
1>/proc/sys/net/ipv4/tcp_syncookies
這些是被動的方法,治標不治本。而且加大了伺服器的負擔,但是可以避免被拒絕攻擊(只是減緩)
治本的方法是在防火牆上做手腳。但是現在能在一定程度上防住syn flood攻擊的防火牆都不便宜。並且把這個命令加入"/etc/rc.d/rc.local"檔案中
2. iptables的設定,引用自cu
防止同步包洪水(sync flood)
# iptables -a forward -p tcp --syn -m limit --limit 1/s -j accept
也有人寫作
#iptables -a input -p tcp --syn -m limit --limit 1/s -j accept
--limit 1/s 限制syn併發數每秒1次,可以根據自己的需要修改
防止各種埠掃瞄
# iptables -a forward -p tcp --tcp-flags syn,ack,fin,rst rst -m limit --limit 1/s -j accept
ping洪水攻擊(ping of death)
# iptables -a forward -p icmp --icmp-type echo-request -m limit --limit 1/s -j accept
Linux防火牆設定
修改防火牆配置需要修改 etc sysconfig iptables 這個檔案,如果要開放哪個埠,在裡面新增一條 a rh firewall 1 input m state state new m tcp p tcp dport 1521 j accept 就可以了,其中 1521 是要開放的埠號,...
Linux防火牆設定
1 重啟後永久性生效 開啟 chkconfig iptables on 關閉 chkconfig iptables off 2 即時生效,重啟後失效 開啟 service iptables start 關閉 service iptables stop 需要說明的是對於linux下的其它服務都可以用以...
LINUX防火牆設定
在終端中輸入如下命令開啟防火牆 chkconfig iptables on 如閉防火牆則輸入 chkconfig iptables off 上述兩條命令均要重啟系統才能生效。如果不想通過重啟系統而即時生效的話,可以用 service 命令。缺點是重啟系統後設定會丟失。開啟了防火牆 service i...