我的網站只有開80 port其它port全關掉,這樣還是會被入侵嗎? - PCZONE 討論區

返回   PCZONE 討論區 > ▲ ADSL_CABLE_FTTH 寬 頻 上 網 討 論 > -- 防 駭 / 防 毒 版


PCZONE 討論區



通知

-- 防 駭 / 防 毒 版 不論你是使用固定 IP 或是 DHCP 一定都有機會被無聊的駭客入侵 , 來這裡跟大家作防駭以及防毒的心得與資訊分享。

美麗與智慧並重英
我的網站只有開80 port其它port全關掉,這樣還是會被入侵嗎?
因為我的主機是linux redhat 7.2 提供web、mail、ftp
有架iptable防火牆,設定很嚴格,但是一樣常被入侵,
被入侵的症狀是:主機掛了,登入不了,網站也掛了
網路的頻寬被吃光,然後接在swithch上,這一台主機的燈號
狂閃,一個月內這樣的情形發生了十次,快被搞風了。

所是我改用windows 2000 server當主機
但是一樣被攻擊,但是症狀和用linux當主機被入侵攻擊的情況
不同,
我猜可能是DDOS的攻擊,
情況如下:
被攻擊時,網站掛了,但是用nslookup 還是查的到,
但是公司的網路寬頻並沒有變慢(和上面的情況不同),此時動開iis
網站一樣是掛的,要電腦整個重開,才會又活過來,


以上是我遇到的困竟,
對公司來說最重要的是web,其它都可以不用,
有人教我一個方法,
把系統灌成windows 2003 sever 並上所有的service pack及hotfix
並把它的內建防火牆打開,只開放80 port能進來,其它進來的的port全部關掉
出去的port也全關,等於這一台主機不能上網(即為不回應外界任何查詢)
等於外界只能瀏覽這一台主機的網頁。

上面的方法行的通嗎?
這樣一定可以防止客怪入侵,或是防DDOS嗎?

因為我真的快被搞風了。

還是各位大大有其它更好的方法。
煩請指導。
感謝大家。

回覆
花非花

基本上開的 port 越少當然被攻擊的機會就會減少
不過只開 80 port,如果 web server 本身有漏洞沒有即時更新
還是有可能會被攻擊
隨時注意有無新的 patch 可以減少被攻擊的機率
回覆
美麗與智慧並重英

請問apache for windwos的最新版和iis哪一個的漏洞比較少呢?
謝謝
回覆
Kree

只允許 Port 80 進入,可抵擋掉大部分的木馬程式攻擊
但是無法避免web程式本身的漏洞

例如PHP 4.3.10以下版本
就被發現有漏洞,會被有心人士取得系統控制權
php開發社群,前陣子強烈建議馬上升級到4.3.10以上版本
還有一些PHP論壇程式,也都有在做安全性更新,這些都要注意
這是指web中有用到php來說,沒用到的話就不用理會了

apache本身的話,更新到最新版就沒問題了
可以用yum或apt去做更新
不然的話,只好先用rpm指令移除,再在重裝新版的

redhat 7.2 是好幾年前的版本了
未免也太舊了,漏洞一定很多
redhat 最後一版是redhat 9,不過那也是兩年前的版本了

redhat 9之後
紅帽分離成付費的enterprise企業版,和免費的Fedora版
建議更新到目前最新的 Fedora core 3

DDoS 攻擊,和 ICMP 封包有關,和 TCP/UDP 封包沒關係
光是封鎖 TCP/UDP 封包,是沒用的,要擋 ICMP 才行
TCP/IP 協定中,有 TCP,UDP,ICMP 三種封包
而 ICMP 沒有 port,它是有 11種 type
當伺服器的電腦
可以設定成:拒絕所有種類 ICMP 封包進出
這樣會可以防止 DoS 攻擊,或被利用來當 DDoS 攻擊源

另外也有一種不算攻擊,但是會造成困擾的,就是"砍站"
同一IP來源,對web server 連續發出多數連線請求
砍站就是用抓站軟體,對web做大量下載,會影響到服務頻寬
這也可以用iptables指令去做偵測和阻擋

轉到 windows 2003 要注意版權的問題
用 apache for windows 還好
如果是 IIS,從瀏覽端就可以知道伺服器是 IIS
公司買軟體,當然是用公司名義去買
但是微軟一查就可以知道有沒有這個客戶,了解意思吧

windows 內建的防火牆,不要太相信
那是非常陽春的,在各大防火牆軟體評比中,都是敬陪末座
在TCP/IP協定中,TCP不是只有 port而已
TCP 封包還帶有多種旗標的資訊
駭客可以藉由更改旗標資訊,來通過陽春的防火牆,進而攻擊伺服器
所以只能擋port的防火牆,並不能稱作真正的防火牆


樓主會有這種困擾,主要是因為對 iptables 還不熟
建議可以去買本書來K,加強功力:
http://www.pczone.com.tw/vbb3/showthread.php?t=140369
回覆
美麗與智慧並重英

大大您好!
我的Iptable的知識大部份都是從鳥哥的私房菜那邊學來的。
不知是否不夠。
現在我遇到這問題,很麻煩,且急著要解決。
我想我會不選擇linux因為那要花許多時間研究,我現在是燃眉之急。
我有兩個想法,想請大大給我一些指導。
一、
我用windows 2003 server (上所有的service pack及hotfix)+apache_1.3.33-win32-x86-no_src
並把內建防火牆開啟,只開放80 port讓外面的人能連進來看網站
其它所有的port連進及連出的port全關掉,
註:不知windows 2003 server 能不能設定關於ICMP的設定。

二、
我去買一台system embaed的主機
下面這個網址這一台,我有幫客戶裝過
http://www.gfnet.net/jserver-1.htm
這一台的system是linux embaed的系統只有32mb
他提供了,我一般常用的服務
我想我用他來架web, 他的系統這麼小,只開web,並且啟動他上面的
iptable只開放web的服務,其它的全部檔掉

以上這兩個方法,請問大大,何重方法,比較好呢?
不好意思,我不我不努力研究技巧喔!
是因為太急了,沒有時間研究,只好上來發問,問一個我目前的技術,能
快速完成的

再次感謝大大的回答。
回覆
Kree

windows xp sp2 內建的防火牆的無法擋 ICMP
windows 2003 的我不知道,應該和 xp的是同一款
原則上,如果使用 windows ,另外安裝一套防火牆軟體是必要的

快速且經濟的解決方法有兩個:

1.
直接使用別人寫好的 iptables shell script
如此便不需要懂 iptables 詳細語法,把變數套一套就可以用了

先下載這個:
http://www.flag.com.tw/news/F5340-script.zip

解開後
裡頭 CH3 目錄裡中的 firewall 是單機防火牆
CH4 目錄中的 gw-firewall 是閘道防火牆
我不知道你的伺服器環境是怎樣,不過應該用單機防火牆就可以了

修改 frewall 的變數項目 (紅色字是解說)
語法:
# 設定禁止連線的 IP, 可使用空白分隔多個 IP, 也可以使用網段的寫法
BADIPS=""

填上你不希望連入伺服器的 IP

# 設定不可能出現的私有 IP, 請依照您的環境自行刪減網段
IMPOSSIBLE_IPS="10.0.0.0/8 172.16.0.0/12 192.168.0.0/16"

私人網段有 CLASS A,B,C 三個網段,填上你不希望可以連入伺服器的網段,或留空

# 允許對內連線的 TCP 通訊埠
IN_TCP_PORTALLOWED="22 80 443"

填上允許對內 TCP 連線的 port,號碼之間以空白格開

# 允許對內連線的 UDP 通訊埠
IN_UDP_PORTALLOWED="53"

填上允許對內 UDP 連線的 port

# 允許對內連線的 ICMP 類型
IN_ICMP_ALLOWED=""

填上允許對內的 ICMP 封包 type,直接留空即可

# 是否採用雙向管制, 限制由內向外的連線。若設定為 "0" 表示不管制, 
# 設定為 "1" 則管制對外連線
EGRESS="1"

字面上的意思,是否要管制「伺服器主機對外面的連線」,1是啟動這個功能

# 當採用雙向管制時, 允許對外連線的 TCP 通訊埠
OUT_TCP_PORTALLOWED=""

如果不希望伺服器亂傳封包出去,留空即可

# 當採用雙向管制時, 允許對外連線的 UDP 通訊埠
OUT_UDP_PORTALLOWED=""

# 當採用雙向管制時, 允許對外連線的 ICMP 類型
OUT_ICMP_ALLOWED=""

# 是否記錄所有 iptables 丟棄的封包
DROPLOG="0"

是否要存 log 記錄檔?除非想要分析,建議填 0不要紀錄,因為log 檔會暴增,吃爆硬碟。

# 是否要下載 DShield.org 的黑名單, 針對名單上的網段進行封鎖
DSHIELD="0"

隨人喜好 
改完後,把檔案傳到 Linux 主機的 /usr/local/bin 目錄
chmod +x firewall ,加上可執行權限

在 /etc/rc.d/rc.local 中,加入一行:
/usr/local/bin/firewall start ,以便一開機就執行

若要馬上執行,刷新 iptables 規則
可打:/usr/local/bin/firewall start

注意後面要加 start 參數才會生效

不加的話,執行後畫面會出現.....的字樣
並於 7秒後會洗掉所有 iptales 規則
此設計是用於 ssh 遠端連線時,先行測試用
以免錯誤的設定,防火牆擋到自己
如果擋到自己,畫面就不會有...,但7秒後仍會洗掉規則

註.
ICMP 就是 ping 那些「網路偵測指令」的封包
如果擋了 ICMP ,伺服器就無法PING到了
網路偵測那些指令也會說沒回應,因為全被擋掉了
但是各項網路服務都可以正常使用

2.
第二種方法,是在網路源頭那邊,前端加一台硬體防火牆
如此伺服器本身就算不帶防火牆也無所謂了

硬體防火牆,可以直接買市面上現成的

或是用一台中古電腦
裝上 Coyote 或 IPCOP 等免費防火牆軟體,當硬體防火牆使用
回覆
美麗與智慧並重英

大大您的不厭其煩的回答,
真是令人感動,再次說聲
肛溫啊!

您的方法很棒,我會試試的。
我有一個想法,
我用我的第一個方法,
在它的上面,我給他裝一台pci的ip share,它有內建防火牆,
我除了在windows 2003 server 做上面所說的設定外,
這一台ip share也做相同的設定,設成虛擬伺服器,只允許外面的人
看web
這樣兩道防火牆
一道硬體的,一 道系統本身軟體的,
這樣是否就很難被攻擊了呢?

註:只是這樣做不知道會不會外面連進來很慢,且同時如果有20個人以上同時瀏覽web時,會掛掉,因為我知道pci 的ip share是比較陽春的。

謝謝大大回答
回覆
Kree

有些作業系統,由於作業系統核心本身就有漏洞
即使安裝了軟體防火牆,也擋不住攻擊

因為軟體 Application 是在作業系統上面跑的
任何資訊都是先由作業系統核心接收了,才會轉交軟體處理
若核心有漏洞,此時已經被攻擊了,並不會輪到軟體去處理

舉例來說:
Linux 核心 2.4.x版,已經被證實有漏洞
會受到 TCP 旗標錯誤的攻擊
而這個漏洞,在 2.6.X 版的核心,才被修正
所以使用 2.4.x 版的核心,是欠缺安全性的

windows 的核心,應該多多少少也有漏洞
只是因為 windows 沒有開放原始碼
就算有漏洞,除非微軟公佈,不然使用者也不可能會知道


作業系統核心漏洞這個問題
可以在主機之外,加一台「硬體防火牆」,來解決
等於有了雙重保障,即使作業系統核心有漏洞
外面那台硬體防火牆,多少可以把攻擊擋下來

當然,這個硬體防火牆,不能使用同樣的作業系統核心
最好是專屬的 router os,這樣才可以達到效果


PCI 的 IP分享器,和牛頭牌的差不多
那種幾百元至1千元的機器,都很容易當機.....
基本上不建議裝,流量大的話肯定熱機
20個人左右的話,流量不算大,應該是可以裝裝看
把殼子拆了,用風扇吹,熱當的情況會好一些



回覆







 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。