學(xué)習(xí)啦>學(xué)習(xí)電腦>電腦安全>防火墻知識(shí)>

CentOS Linux防火墻配置及關(guān)閉方法

時(shí)間: 林澤1002 分享

  近在CentOS Linux下安裝配置 ORACLE 數(shù)據(jù)庫(kù)的時(shí)候,總顯示因?yàn)榫W(wǎng)絡(luò)端口而導(dǎo)致的EM安裝失敗,遂打算先關(guān)閉一下防火墻。下面是學(xué)習(xí)啦小編跟大家分享的是CentOS Linux防火墻配置及關(guān)閉方法,歡迎大家來(lái)閱讀學(xué)習(xí)。

  CentOS Linux防火墻配置及關(guān)閉方法

  偶然看到防火墻的配置操作說(shuō)明,感覺(jué)不錯(cuò)。執(zhí)行”setup”命令啟動(dòng)文字模式配置實(shí)用程序,在”選擇一種工具”中選擇”防火墻配置”,然后選擇”運(yùn)行工具”按鈕,出現(xiàn)防火墻配置界面,將”安全級(jí)別”設(shè)為”禁用”,然后選擇”確定”即可.

  或者用命令:

  #/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT

  #/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT

  #/etc/rc.d/init.d/iptables save

  這樣重啟計(jì)算機(jī)后,防火墻默認(rèn)已經(jīng)開(kāi)放了80和22端口

  這里應(yīng)該也可以不重啟計(jì)算機(jī):

  #/etc/init.d/iptables restart

  防火墻的關(guān)閉,關(guān)閉其服務(wù)即可:

  查看防火墻信息:

  #/etc/init.d/iptables status

  關(guān)閉防火墻服務(wù):

  #/etc/init.d/iptables stop

  永久關(guān)閉?不知道怎么個(gè)永久法:

  #chkconfig –level 35 iptables off

  看了好幾個(gè)頁(yè)面內(nèi)容都有錯(cuò),下面是正確方法:

  #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

  #/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT

  然后保存:

  #/etc/rc.d/init.d/iptables save

  再查看是否已經(jīng)有了:

  [root@vcentos ~]# /etc/init.d/iptables status

  Table: filter

  Chain INPUT (policy ACCEPT)

  num target prot opt source destination

  1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:80

  2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

  3 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0

  Chain FORWARD (policy ACCEPT)

  num target prot opt source destination

  1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0

  服務(wù)器遭受到大量的大量SYN_RECV,80端號(hào)占死,網(wǎng)站打不開(kāi)

  沒(méi)有硬防

  有什么辦法可以解決嗎

  1

  sysctl -w net.ipv4.tcp_syncookies=1 #啟用使用syncookies

  sysctl -w net.ipv4.tcp_synack_retries=1 #降低syn重試次數(shù)

  sysctl -w net.ipv4.tcp_syn_retries=1 #降低syn重試次數(shù)

  sysctl -w net.ipv4.tcp_max_syn_backlog=6000 #最大半連接數(shù)

  sysctl -w net.ipv4.conf.all.send_redirects=0

  sysctl -w net.ipv4.conf.all.accept_redirects=0 #不接受重定向的icmp數(shù)據(jù)包

  sysctl -w net.ipv4.tcp_fin_timeout=30

  sysctl -w net.ipv4.tcp_keepalive_time=60

  sysctl -w net.ipv4.tcp_window_scaling=1

  sysctl -w net.ipv4.icmp_echo_ignore_all=1 #禁止ICMP

  sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 #ICMP禁止廣播

  2.限制單位時(shí)間內(nèi)連接數(shù)

  如

  iptables -N syn-flood

  iptables -A FORWARD -p tcp --syn -j syn-flood

  iptables -A INPUT -p tcp --syn -j syn-flood

  iptables -A syn-flood -p tcp --syn -m limit --limit 3/s --limit-burst 1 -j ACCEP

  iptables -A syn-flood -j DROP

  iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP

  iptables -A INPUT -p tcp --syn -m state --state NEW -j DROP

  3 如果還是不行,

  iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 30 -j REJECT

  iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEP

  如攻擊過(guò)來(lái)的流量大于你的服務(wù)器的流量,那就沒(méi)有什么辦法了,如果流量不大,以上方法,可以暫時(shí)保證你的80可以訪問(wèn)

  如果你的內(nèi)核已經(jīng)支持iptables connlimit可以使用, iptables 設(shè)定部份,也可以使用

  iptables -I FORWARD -p tcp --syn -m connlimit --connlimit-above 5 -j DROP

  或

  iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 5 -j REJECT

  對(duì)付SYN FLOOD的話,真正起作用的是:

  sysctl -w net.ipv4.tcp_syncookies=1 #啟用使用syncookies

  sysctl -w net.ipv4.tcp_synack_retries=1 #降低syn重試次數(shù)

  其他IPTABLES的限制速度功能不能用來(lái)對(duì)付SYN FLOOD的(不能阻止拒絕服務(wù),但是確實(shí)可以防止服務(wù)器CRASH)。

2672728