駭客從哪裡摸進來的廠商查不出來?一般不外乎就是後門,系統漏洞,暴力破解。找個有經驗的廠商比較快吧。伺服器有委外廠商嗎?如果都搞不定乾脆就搬去雲端吧。防火牆就不用買了都廠商提供。當然系統防駭主機商會處理。你只要管程式跟營運。62chaokai wrote:搜尋"弱點漏洞掃描、...(恕刪)
系統端的防禦是相對簡單的,防火牆 甚至一般的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 克服解決,真解決不了,只有花錢找專家求助了,但是花錢找專家,那自己的工作可能就不保了,這點也是必須考慮到的。
SQL INJECTION 用檢查輸入文字的方式是不對的..這樣是無法完全防止SQL INJECTION的因為輸入的語法可以編碼在執行運用編碼技術就可以繞過檢查法了..如HEX 編碼 SQL Injection較正確的作法是程式碼與資料庫預存程序都用正確的寫法不用組字串的方式去執行SQL等有興趣的可自行研究
其實一開始到公司上班公司知道我沒有程式的經驗網頁的部分更不是我想從事的工作之前我雖然也是在資訊部門但是負責的是製造業ERP系統工程對網頁設計的工作敬而遠之找工作的時候只要有提到網頁的工作我通常都是打回票的進公司20天後才要叫我測購物網站程式常常都說一個商城背後是多大資料庫怎麼樣又怎麼樣的卻又讓我自己一個人負責測試網站的工作說真的~我對網頁程式,不管是ASP或是ASP.NET也好,我真的很不熟公司規模小,又只有我一個人在測試商城網站跟這個程式的廠商配合到甚至曾經吵過架更不要提說還要負責官網的部分官網的工作只是因為這陣子被駭客入侵太頻繁了老闆一個人忙不過來,只好叫我幫忙老闆也沒時間帶我做資料庫的部分我只好他說什麼,我就做什麼,跟資訊廠商溝通的部分我通常都是做轉述的工作,定期回報給老闆當然外包廠商要找誰這個事情不是我決定的遇到不懂的不是上網找資料就是一下問這家廠商,一下問那家廠商的我要是會的,就盡量多做一點幫他把答案找出來了,要怎麼做也是由老闆決定的
其實一開始到公司上班公司知道我沒有程式的經驗網頁的部分更不是我想從事的工作之前我雖然也是在資訊部門但是負責的是製造業ERP系統工程對網頁設計的工作敬而遠之找工作的時候只要有提到網頁的工作我通常都是打回票的進公司20天後才要叫我測購物網站程式常常都說一個商城背後是多大資料庫怎麼樣又怎麼樣的卻又讓我自己一個人負責測試網站的工作說真的~我對網頁程式,不管是ASP或是ASP.NET也好,我真的很不熟公司規模小,又只有我一個人在測試商城網站跟這個程式的廠商配合到甚至曾經吵過架更不要提說還要負責官網的部分官網的工作只是因為這陣子被駭客入侵太頻繁了老闆一個人忙不過來,只好叫我幫忙老闆也沒時間帶我做資料庫的部分我只好他說什麼,我就做什麼,跟資訊廠商溝通的部分我通常都是做轉述的工作,定期回報給老闆當然外包廠商要找誰這個事情不是我決定的遇到不懂的不是上網找資料就是一下問這家廠商,一下問那家廠商的我要是會的,就盡量多做一點幫他把答案找出來了,要怎麼做也是由老闆決定的