網站頻繁的被駭客入侵,怎麼辦?


jinseok wrote:
我們公司有一個網站,...(恕刪)


搜尋"弱點漏洞掃描、滲透測試"吧,花些費用找專家來找出問題在哪?

如果既有的已有漏洞,防火牆再怎樣強還是擋不住漏洞。
駭客從哪裡摸進來的廠商查不出來?
一般不外乎就是後門,系統漏洞,暴力破解。
找個有經驗的廠商比較快吧。
伺服器有委外廠商嗎?
如果都搞不定乾脆就搬去雲端吧。
防火牆就不用買了都廠商提供。
當然系統防駭主機商會處理。你只要管程式跟營運。


62chaokai wrote:
搜尋"弱點漏洞掃描、...(恕刪)
歡迎有資訊規劃難題&伺服器維護問題與我討論。
上面的推薦都是要大筆資金的

我推薦CloudFlare,免費的,我沒用過,不過我知道有這個東西,可以試看看,這裡是簡介

http://www.cloudflare.com/
系統端的防禦是相對簡單的,防火牆 甚至一般的IP table 首先擋掉所有不需要向外開啟的 port。
事實上,很多入侵都跟程式漏洞有相當的關係,如果程式有漏洞,防火牆也沒用。

首先加強密碼強度,除了英數字符號混用外,還要夠長。
如果程式設計的第三方仍然持有密碼,要確保他們那邊沒有外洩的可能。
FTP 、內部管理界面等限制特定IP存取

如果還是被入侵,那麼就要掃描源碼,看看程式是否有漏洞。如果採用開源的程式則要確保程式有定期更新。

不然,還是找專業一點的網站代管公司吧!




防火牆是保護作業系統漏洞和檢測 TCP 封包不良旗標
但是對於合法連接的封包,放火牆是會放行的

比方說:防火牆開放 TCP port 80 封包進入

只要這個封包是 port 80,且 TCP 三段式交握過程沒問題,防火牆就會放行。

封包進入後就會交由監聽 port 80 的軟體去接收處理,例如:Apache 或 IIS。

假如 Apache 或 IIS 本身版本過舊,存在漏洞bug,入侵者就有可能利用那個漏洞進行入侵。這就是為什麼 OS 需要常常 update 更新的緣故。

凡軟體都會有漏洞,因此主機的功能愈單純愈好,web 主機就單純 web,DNS 就單純 DNS,mail 主機單純 mail,這是因為開的 port 愈少,被藉由別種服務漏洞入侵的機率就愈小。

比方說:web 和 dns、mail ....等等服務都放同一台,雖 web 軟體沒漏洞,但 mail 軟體有漏洞,就有可能被經由 mail 軟體漏洞入侵,而影響到 web 服務.

web 和 資料庫主機 也可以考慮分離,可以避免 web 主機被入侵,連帶資料庫也被破壞,或資料被看光光。

但大部分為了省錢,成本考量,會所有服務放同一台。這樣的話只能勤更新,減少漏洞。dns 有 chroot 之類的架構,務必用上。



另外真正的防火牆應該是雙向的(若有連接區網的話)

不只要過濾 WAN TO 主機(外部入侵)
LAN TO 主機,也要過濾(內部入侵,或者內部電腦中木馬病毒)

web 主機若是有 WAN、LAN 兩網孔,同時連接外部和內部網路。

用軟體防火牆,例如:Linux 的 iptables,可以很容易做到雙向過濾。

用硬體防火牆的話,要買兩台,一台負責過濾 WAN 端的,一台負責過濾 LAN 端的。



網頁程式的話,最主要是「SQL 注入」問題

在輸入表單,若沒有檢測輸入內容,偷懶省略掉,或者沒想到、或者檢測不嚴密,有可能會被 SQL 注入

SQL 注入就是說:原先欄位是給用戶填資料的,但是該位用戶(入侵者)故意不填平常的資料,而是巧妙的填入某種 SQL 語法,程式若沒有檢測出來,還把那個 SQL 語法帶入變數去和資料庫查詢,相當於直接對資料庫下查詢命令,那麼資料庫的資料就會被繞過去,讓入侵者得到想要的資料。

比方說:本來是輸入帳號密碼的地方,入侵者不是填帳號,而是填入一串 SQL 語法,程式若沒有檢測,全盤接受,帶入查詢後,那串 SQL 語法該幹嘛就會幹嘛,例如顯示 root 或 admin 密碼,或者把所有帳號密碼都列出來。

理論上要防止 SQL 注入,任何欄位輸入後會連接資料庫查詢的,在接受之前都必須先檢測,比如用正規表示式分析字串,是否帶有 SQL 語法關鍵字,若有的話就拒絕接受。

SQL 注入問題要檢測很困難,必須對網頁程式語言非常了解,可以試著自己 SQL 注入去攻擊伺服器,如果能成功,那網頁程式就是有問題。

另外就是去看原始碼,不過那個更大工程,更難。一般來說,如果原始碼看的懂,那說明根本就可以自己寫,何必外包。

而懂 SQL 注入方法的人,說明對資料庫語法很熟,也是一般 MIS 很難達到的水準。

或許可以利用一些別人寫好的,現成的入侵工具,自己嘗試入侵自己的伺服器,來檢驗網頁程式的安全性。


如果防火牆的防護有到位,OS 時常更新(排除是軟體的漏洞),然後又被入侵。自然是會懷疑到網頁程式的頭上,而可能性確實也很高。

但沒有證據,卻又無法怪罪網頁開發公司,除非說分析過原始碼,指出到底是哪裡程式碼有問題。或者實際演示一遍 SQL 如何注入,那才有辦法怪罪到網頁開發公司。

但問題就是:假如有這種能力,那又何必外包給人去開發....矛盾的問題。

所以你能做的,大概就是外包另一家資安公司,去幫你找出問題

但這樣一來,又會牽扯一個問題:那公司資訊部門請你幹嘛,是不是呢。

因此主要還是必須先自己 DIY 克服解決,真解決不了,只有花錢找專家求助了,但是花錢找專家,那自己的工作可能就不保了,這點也是必須考慮到的。



fedora wrote:
防火牆是保護...(恕刪)


雖然不是IT相關產業,但拜讀樓上的文章卻相當中肯又實在。

按5個讚。
SQL INJECTION 用檢查輸入文字的方式是不對的..
這樣是無法完全防止SQL INJECTION的
因為輸入的語法可以編碼在執行
運用編碼技術就可以繞過檢查法了..如HEX 編碼 SQL Injection

較正確的作法是程式碼與資料庫預存程序都用正確的寫法
不用組字串的方式去執行SQL等
有興趣的可自行研究
其實一開始到公司上班
公司知道我沒有程式的經驗
網頁的部分更不是我想從事的工作
之前我雖然也是在資訊部門
但是負責的是製造業ERP系統工程
對網頁設計的工作敬而遠之
找工作的時候只要有提到網頁的工作
我通常都是打回票的
進公司20天後才要叫我測購物網站程式
常常都說一個商城背後是多大資料庫
怎麼樣又怎麼樣的
卻又讓我自己一個人負責測試網站的工作
說真的~我對網頁程式,不管是ASP或是ASP.NET也好,我真的很不熟
公司規模小,又只有我一個人在測試商城網站
跟這個程式的廠商配合到甚至曾經吵過架
更不要提說還要負責官網的部分
官網的工作只是因為這陣子被駭客入侵太頻繁了
老闆一個人忙不過來,只好叫我幫忙
老闆也沒時間帶我做資料庫的部分
我只好他說什麼,我就做什麼,跟資訊廠商溝通的部分
我通常都是做轉述的工作,定期回報給老闆
當然外包廠商要找誰這個事情不是我決定的
遇到不懂的不是上網找資料
就是一下問這家廠商,一下問那家廠商的
我要是會的,就盡量多做一點
幫他把答案找出來了,要怎麼做也是由老闆決定的

其實一開始到公司上班
公司知道我沒有程式的經驗
網頁的部分更不是我想從事的工作
之前我雖然也是在資訊部門
但是負責的是製造業ERP系統工程
對網頁設計的工作敬而遠之
找工作的時候只要有提到網頁的工作
我通常都是打回票的
進公司20天後才要叫我測購物網站程式
常常都說一個商城背後是多大資料庫
怎麼樣又怎麼樣的
卻又讓我自己一個人負責測試網站的工作
說真的~我對網頁程式,不管是ASP或是ASP.NET也好,我真的很不熟
公司規模小,又只有我一個人在測試商城網站
跟這個程式的廠商配合到甚至曾經吵過架
更不要提說還要負責官網的部分
官網的工作只是因為這陣子被駭客入侵太頻繁了
老闆一個人忙不過來,只好叫我幫忙
老闆也沒時間帶我做資料庫的部分
我只好他說什麼,我就做什麼,跟資訊廠商溝通的部分
我通常都是做轉述的工作,定期回報給老闆
當然外包廠商要找誰這個事情不是我決定的
遇到不懂的不是上網找資料
就是一下問這家廠商,一下問那家廠商的
我要是會的,就盡量多做一點
幫他把答案找出來了,要怎麼做也是由老闆決定的

asp.net是比asp還安全的技術,依照你的講法,判斷網頁程式有漏洞的機會非常高,另外就是駭客這麼容易進入,伺服器也查查是否被植入木馬,aspxspy2可以去google一下
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!