軟體開發(軟件開發)

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

室內設計、裝潢、窗簾報價估算軟體

網智數位主要提供套裝及客製化的軟體系統解決方案,針對室內設計師、木工、裝潢業產業,量身訂做客製化的軟體,達成客製化、智慧化及網路化的商用軟體。

商用軟體-客製化設計

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

IOT 物聯網-系統開發

根據客戶實際狀況,結合雲端與載具進行客製化物聯網IOT導入與軟體開發

雲端VPS虛擬主機租用

我們的雲端VPS虛擬主機是採用雲端(虛擬化)技術所開發之全新雲端伺服器服務,可以選擇多種作業系統(Windows、Linux等),客戶可載入自訂的應用環境,執行自己所要提供的網路服務,我們的雲端服務可為您的網站提供最完美的解決方案。

ERP軟體客製化導入

ERP軟體客製化導入,室內設計、營造業、裝潢、木作工程、系統櫃工程、會計系統,全面提升公司管理營運效率。

搜尋引擎最佳化SEO

搜尋引擎最佳化(SEO)不僅能提高網站在搜尋結果的排名,更能帶來大量對我們產品或服務真正有需求的訪客。SEO 最棒的特質之一就是不像廣告一樣亂槍打鳥而導致用戶的反感,反而更能提升點閱率跟成交率喔。

服務宗旨

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

我們的成立宗旨就是要以最猛的IT技術讓這個世界更Smart,在我們貫徹我們裡想的同時,我們希望可以把我們所開發的系統帶給台灣的中小企業,除了要推薦好的東西之外,我們也希望做點改變,所以我們的第一目標就是要使用最好用的系統再加上您寶貴的創意,不僅僅可以節省你大量的荷包,還可以有一個像樣的網站。我們可以幫你做的有

企業管理
  • 策略管理
  • 目標管理
  • 行銷管理
  • 財會管理
  • ERP導入
  • 企業流程自訂
資訊管理
  • 網站架設
  • 虛擬化/雲端架設
  • 主機代管
  • 私有雲建制與導入
軟體開發
  • UML設計
  • 版本控管
  • 企業軟體開發
  • APP開發
  • 網頁設計
資訊安全
  • 網頁弱點掃描
  • 主機弱點掃描
  • 木馬檢測
  • 資安鑑識
  • 設計網路架構
  • 資安監控
行銷
  • 關鍵字SEO
  • 社群網路行銷
  • 部落格行銷
  • FaceBook 粉絲團
其他
  • 協助企業申請Google Email
好玩工具開發

講出你的創意吧!沒有甚麼是資訊辦不到的

顯示具有 IPS 標籤的文章。 顯示所有文章
顯示具有 IPS 標籤的文章。 顯示所有文章

2016年8月11日 星期四

虛擬主機架設維護

      今天受委託協助處理舊客戶的網頁設計、虛擬主機架設,該客戶是委託我們開發量身定做的設備清單管理軟體,但網頁一直是另外委託其他網頁設計公司處理,無意中在軟體開發會議中,提到內部系統移轉到雲端的解決方案跟價格評估,忽然其他同仁提到公司網頁也要轉移(因為原本委託其他公司的費用一年竟然高達台幣3萬元,只是簡單的網頁),所以開完會後,回到公司了解客戶的網頁程式語言與資料庫,原來客戶委託的網頁設計公司使用了很早的 ASP 語法寫的網頁(不是 ASP.NET)而且還使用了已經快找不到的早期元件(Component),而主機代管公司不是網頁設計的廠商,該主機廠商為了能運作,只好把一直保留一台 Server ,作業系統是老舊的 Windows Server 2003,而安裝的獨立主機,為了滿足老舊的網頁程式語法。
image


     而我為了幫客戶減少不必要的年費用支出,真的只是一個公司外部網頁跟小功能程式,我迅速改寫了裡面語法,重新的架設到一台 Windows Server 2012 主機,資料庫也改寫,這樣只要簡單再轉移到虛擬主機,一年費用減少超過一半再多,客戶只要用三分之一的預算就可以了,有時候真的幫客戶解決不該花的預算,投入真正的核心系統,也是我們網智數位對客戶的態度與用心。

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2016年8月4日 星期四

伺服器被攻擊後的處理措施

     安全總是相對的,再安全的服務器也有可能遭受到攻擊。作為一個安全運維人員,要把握的原則是:盡量做好系統安全防護,修復所有已知的危險行為,同時,在系統遭受攻擊後能夠迅速有效地處理攻擊行為,最大限度地降低攻擊對系統產生的影響。




一、處理服務器遭受攻擊的一般思路
系統遭受攻擊並不可怕,可怕的是面對攻擊束手無策,下面就詳細介紹下在服務器遭受攻擊後的一般處理思路。
1.必須馬上切斷網絡
所有的攻擊都來自於網絡,因此,在得知系統正遭受黑客的攻擊後,首先要做的就是斷開服務器的網絡連接,這樣除了能切斷攻擊源之外,也能保護服務器所在網絡的其他主機。
2.開始試著查找攻擊源
可以通過分析系統日誌或登錄日誌文件,查看可疑信息,同時也要查看系統都打開了哪些端口,運行哪些進程,並通過這些進程分析哪些是可疑的程序。這個過程要根據經驗和綜合判斷能力進行追查和分析。下面的章節會詳細介紹這個過程的處理思路。
3.進行分析入侵原因和途徑
既然系統遭到入侵,那麼原因是多方面的,可能是系統漏洞,也可能是程序漏洞,一定要查清楚是哪個原因導致的,並且還要查清楚遭到攻擊的途徑,找到攻擊源,因為只有知道了遭受攻擊的原因和途徑,才能刪除攻擊源同時進行漏洞的修復。
4.一定必須備份用戶數據
在服務器遭受攻擊後,需要立刻備份服務器上的用戶數據,同時也要查看這些數據中是否隱藏著攻擊源。如果攻擊源在用戶數據中,一定要徹底刪除,然後將用戶數據備份到一個安全的地方。
5.重新安裝系統
永遠不要認為自己能徹底清除攻擊源,因為沒有人能比黑客更了解攻擊程序,在服務器遭到攻擊後,最安全也最簡單的方法就是重新安裝系統,因為大部分攻擊程序都會依附在系統文件或者內核中,所以重新安裝系統才能徹底清除攻擊源。
6.修復程序或系統漏洞
在發現系統漏洞或者應用程序漏洞後,首先要做的就是修復系統漏洞或者更改程序bug,因為只有將程序的漏洞修復完畢才能正式在服務器上運行。
7.恢復數據和連接網絡
將備份的數據重新復製到新安裝的服務器上,然後開啟服務,最後將服務器開啟網絡連接,對外提供服務。
二、檢查並鎖定可疑用戶
當發現服務器遭受攻擊後,首先要切斷網絡連接,但是在有些情況下,比如無法馬上切斷網絡連接時,就必須登錄系統查看是否有可疑用戶,如果有可疑用戶登錄了系統,那麼需要馬上將這個用戶鎖定,然後中斷此用戶的遠程連接。
1.登錄系統查看可疑用戶
通過root用戶登錄,然後執行“w”命令即可列出所有登錄過系統的用戶,如下圖所示。

wKioL1ei-aqgJ0VUAAB84CpIZOQ223

通過這個輸出可以檢查是否有可疑或者不熟悉的用戶登錄,同時還可以根據用戶名以及用戶登錄的源地址和它們正在運行的進程來判斷他們是否為非法用戶。
2.鎖定可疑用戶
一旦發現可疑用戶,就要馬上將其鎖定,例如上面執行“w”命令後發現nobody用戶應該是個可疑用戶(因為nobody默認情況下是沒有登錄權限的),於是首先鎖定此用戶,執行如下操作:
[root@server ~]# passwd -l nobody
鎖定之後,有可能此用戶還處於登錄狀態,於是還要將此用戶踢下線,根據上面“w”命令的輸出,即可獲得此用戶登錄進行的pid值,操作如下:
[root@server ~]# ps -ef"grep @pts/3
531 6051 6049 0 19:23 ? 00:00:00 sshd: nobody@pts/3
[root@server ~]# kill -9 6051
這樣就將可疑用戶nobody從線上踢下去了。如果此用戶再次試圖登錄它已經無法登錄了。
3.通過last命令查看用戶登錄事件
last命令記錄著所有用戶登錄系統的日誌,可以用來查找非授權用戶的登錄事件,而last命令的輸出結果來源於/var/log/wtmp文件,稍有經驗的入侵者都會刪掉/var/ log/wtmp以清除自己行踪,但是還是會露出蛛絲馬跡在此文件中的。
三、查看系統日誌
查看系統日誌是查找攻擊源最好的方法,可查的系統日誌有/var/log/messages、/var/log/secure等,這兩個日誌文件可以記錄軟件的運行狀態以及遠程用戶的登錄狀態,還可以查看每個用戶目錄下的.bash_history文件,特別是/root目錄下的.bash_history文件,這個文件中記錄著用戶執行的所有歷史命令。
四、檢查並關閉系統可疑進程
檢查可疑進程的命令很多,例如ps、top等,但是有時候只知道進程的名稱無法得知路徑,此時可以通過如下命令查看:
首先通過pidof命令可以查找正在運行的進程PID,例如要查找sshd進程的PID,執行如下命令:
1 2 [root@server ~]# pidof sshd 13276 12942 4284
然後進入內存目錄,查看對應PID目錄下exe文件的信息:
1 2 [root@server ~]# ls -al /proc/13276/exe lrwxrwxrwx 1 root root 0 Oct 4 22:09 /proc/13276/exe -> /usr/sbin/sshd
這樣就找到了進程對應的完整執行路徑。如果還有查看文件的句柄,可以查看如下目錄:
[root@server ~]# ls -al /proc/13276/fd
通過這種方式基本可以找到任何進程的完整執行信息,此外還有很多類似的命令可以幫助系統運維人員查找可疑進程。例如,可以通過指定端口或者tcp、udp協議找到進程PID,進而找到相關進程:
1 2 3 4 5 6 7 8 9 [root@server ~]# fuser -n tcp 111 111/tcp: 1579 [root@server ~]# fuser -n tcp 25 25/tcp: 2037 [root@server ~]# ps -ef|grep 2037 root 2037 1 0 Sep23 ? 00:00:05 /usr/libexec/postfix/master postfix 2046 2037 0 Sep23 ? 00:00:01 qmgr -l -t fifo -u postfix 9612 2037 0 20: 34 ? 00:00:00 pickup -l -t fifo -u root 14927 12944 0 21:11 pts/1 00:00:00 grep 2037
在有些時候,攻擊者的程序隱藏很深,例如rootkits後門程序,在這種情況下ps、top、netstat等命令也可能已經被替換,如果再通過系統自身的命令去檢查可疑進程就變得毫不可信,此時,就需要藉助於第三方工具來檢查系統可疑程序,例如前面介紹過的chkrootkit、RKHunter等工具,通過這些工具可以很方便的發現系統被替換或篡改的程序。
五、檢查文件系統的完好性
檢查文件屬性是否發生變化是驗證文件系統完好性最簡單、最直接的方法,例如可以檢查被入侵服務器上/bin/ls文件的大小是否與正常系統上此文件的大小相同,以驗證文件是否被替換,但是這種方法比較低級。此時可以藉助於Linux下rpm這個工具來完成驗證,操作如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 [root@server ~]# rpm -Va ....L... c /etc/pam.d/system-auth S.5..... c /etc/security/limits.conf S.5....T c /etc/sysctl.conf S.5....T /etc/sgml/docbook-simple.cat S.5....T c /etc/login.defs S.5..... c /etc/openldap/ldap.conf S.5....T c /etc/sudoers ..5....T c /usr/lib64 /security/classpath.security ....L... c /etc/pam.d/system-auth S.5..... c /etc/security/limits.conf S.5..... c /etc/ldap.conf S.5....T c /etc/ssh/sshd_config
對於輸出中每個標記的含義介紹如下:
S 表示文件長度發生了變化
M 表示文件的訪問權限或文件類型發生了變化
5 表示MD5校驗和發生了變化
D 表示設備節點的屬性發生了變化
L 表示文件的符號鏈接發生了變化
U 表示文件/子目錄/設備節點的owner發生了變化
G 表示文件/子目錄/設備節點的group發生了變化
T 表示文件最後一次的修改時間發生了變化
如果在輸出結果中有“M”標記出現,那麼對應的文件可能已經遭到篡改或替換,此時可以通過卸載這個rpm包重新安裝來清除受攻擊的文件。
不過這個命令有個局限性,那就是只能檢查通過rpm包方式安裝的所有文件,對於通過非rpm包方式安裝的文件就無能為力了。同時,如果rpm工具也遭到替換,就不能通過這個方法了,此時可以從正常的系統上複製一個rpm工具進行檢測。
對文件系統的檢查也可以通過chkrootkit、RKHunter這兩個工具來完成,關於chkrootkit、RKHunter工具的使用,下次將展開介紹。

 

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2014年4月28日 星期一

網頁應用防火牆(Web Application Firewal, WAF)

隨著 Web2.0 時代的到來,網站應用也逐漸被大眾廣泛的接受和使用。企業的e化雖然可為企業帶來可觀的商業利益,但建置網站的資安問題也緊跟著浮出檯面。

事實上,網站攻擊會越來越氾濫的原因,其實跟網站本身有很深的關聯。由於網路的興起,從政府機關金融機構中小企業以至於學校個人都開始架設自己的網站,而且,為了與來訪者互動,多半都會使用ASP、PHP、CGI、JSP等網路應用程式。但是因為這些程式的開發者程度不一,有些甚至沒有受過專業訓練,只是從網路上隨便抄程式碼拼湊起來,所以這些程式可說是良莠不齊,漏洞百出。

若想解除Web的安全威脅,最根本的解決方式在於重新檢視所有的Web程式,即所謂的白箱測試Code Review,從中找出不安全的程式碼再加以修改,而且有些程式碼的掃瞄軟體可幫忙程式設計師找出不安全的程式碼。但是Code Review的工程浩大,很不切實際,因此網頁應用防火牆(Web Application Firewal, WAF)應運而生。而面對網站的安全問題,許多廠商推出了像是IDS、IPS、WAF等..網站防護的資安產品,這些產品是什麼?有什麼不同之處呢?今天會針對網頁應用防火牆(Web Application Firewal, WAF)來做個簡單的介紹。

延伸閱讀:


以往僅能看到L3、L4攻擊的網路安全閘道器已無法應付這些針對L7應用程式的攻擊方式,必須仰賴像網頁應用程式防火牆(Web Application Firewal, WAF)的第七層網路安全設備來抵禦這些新型威脅。WAF的設計宗旨是防禦針對網頁應用程式的常見攻擊,像是OWASP Top 10 中最常出現的跨網站腳本攻擊(Cross Site Scripting, XSS)以及資料庫隱碼(SQL injection) 等攻擊。簡單的說WAF的作用就是為了保護網站主機,在我們來得及改善網站的安全性之前,拉起一道防護網,以減少被攻擊成功的機會。

OWASP TOP 10(年度 10 大 Web 安全漏洞)

OWASP 是一個專門研究 Web 軟體安全的社群,他們每年均會提出最有威脅的 Web 安全漏洞來提醒使用者,以下簡單的說明 OWASP 所提出的 Web 安全漏洞。

Injection(注入攻擊)

由於程式設計師出於疏失或經驗不足而未對於使用者輸入的參數值進行檢驗,以致於惡意使用者可利用惡意的輸入值(如惡意 SQL 指令串或惡意的 script 碼),讓系統自動執行惡意的指令而對系統造成危害。此類攻擊以 SQL injection,command injection 為代表,其中以 SQL injection 最具代表也最具危害性。

Cross Site Scripting(XSS,跨網站腳本攻擊)

跨網站腳本攻擊的原因跟 SQL injection 一樣,同樣是因為程式沒有檢驗使用者輸入的參數內容所造成。不過與 SQL injection 最大的不同在於,SQL injection 會對資料庫所在的主機造成重大危害,但 XSS 攻擊主要會造成瀏覽者安全上的危害,往往不會對於主機造成危害,也因此常被管理者所忽略,而使得此種攻擊有越來越普遍的趨勢。XSS 攻擊流程如下:
  1. 攻擊者將含有 XSS 漏洞的網頁,置於受害的網站伺服器上 。 
  2. 當不知情的使用者瀏覽此網頁時(如瀏覽某則留言),即會啟動 XSS 攻擊碼而將無辜的第三者相關資訊回傳到駭客的電腦上。

Broken Authentication and Session Management(鑑別與連線管理漏洞)

此漏洞是指網站自行開發的身份證驗證與連線 (session) 管理具有安全性的缺失,例如一個網站身份驗證流程如下:
  1. 當使用者登入成功後,會將一個(含有帳號及密碼甚至權限等相關資訊的 cookies,丟至使用者的電腦端上)。 
  2. 網站再存取該使用者的授權 cookies 來判別使用者的身份。 
在上述流程中,如果 cookies 並未加密,惡意的使用者只要取得此 cookies 即可得知其它使用者相關的機密資訊。或者加密的演算法不夠嚴謹,一旦被破解,也會造成使用者的機密資料外流,甚至可冒充其它的使用者(提升權限至管理者)。

Insecure Direct Object References(不安全的物件參考)

如果一個經驗不足的程式設計師,想要實做一支能動態顯示檔案內容的程式,會直覺想到直接把要顯示的檔案當做參數傳進去,如下連結所示:

http://xxx.xxx.xxx.xxx/show.php?file=xxx.txt
而後在接到參數值後,再直接開檔顯示即可。可是如果一個有心人傳進去的參數為:
http://xxx.xxx.xxx.xxx/show.php?file=../../etc/passwd
其中 ".." 為回到上一層,此種參數即可能將系統中的 /etc/ 目錄下的 passwd 檔案顯示出來。

Cross Site Request Forgery(CSRF,跨網站冒名請求)

從某種角度來看,CSRF 可視為廣義的跨網站攻擊 (XSS) ,但 CSRF 通常是在使用者已登入系統服務下發動攻擊。例如:

在討論區中的某段留言塞進一段可直接登出 (logout) 的惡意程式碼,當使用者登入後,在瀏覽相關留言時,只要瀏覽到這段留言,即會觸發該段惡意程式碼,而直接將使用者登出。此即為 CSRF 攻擊。

Security Misconfiguration(不安全的組態設定)

此漏洞較偏向管理面的問題,如未更改預設的帳號及密碼或未定時的更新系統的安全修正程式等等。

Failure to Restrict URL Access(未適當限制的 URL 存取)

一般網站通常會分成前端程式及後端管理程式。基於安全的考量 ,後端管理程式不應該直接被 Internet 上的使用者查詢,而應該限制僅有某些管理者可查詢及存取。如果網站未限制,而使 Internet 上的其它使用者也可正常的查詢,即可能造成潛在的安全漏洞。

Unvalidated Redirects and Forwards(未驗證的網頁重新導向)

有些網站提供網頁重新導向至其它的網站,惡意的攻擊者可利此種特性,將惡意網址插入到重新導向的參數中,讓使用者連接到惡意的網站上。

Insecure Cryptographic Storage(不安全的加密儲存)

網站並未對機密的資料做加密處理或使用不嚴謹的加密演算法,而導致攻擊者在取得相關的機密資料後,可以很輕易的取得相關資訊。

Insufficient Transport Layer Protection(不安全的傳輸防護)

由於 HTTP 連線均是採用明碼的方式連線,攻擊者在任何一個節點均可能利用 Sniffer(竊聽)方式取得來往資料。如果網站採用 HTTP 連線方式,來往的封包均以明碼方式傳輸,攻擊者即可輕易的取得相關機敏資訊。

儘管某些入侵防禦系統(Intrusion Prevention Systems, IPS)也能提供一定程度的應用層的防禦功能,但是它們不具備WAF的精度和準度,為什麼呢?因為這兩者是完全不同的兩種技術,IPS是基於特徵碼,而WAF是從行為來分析,以下介紹WAF與IPS的不同:
  1. WAF主要只針對HTTP(s)協定進行防護,而IPS較廣泛的針對大多數的網路協定。 
  2. WAF 是針對網路行為來進行分析,IPS 則是作特徵碼的比對,相較之下,WAF屬於動態防護,而IPS就偏於靜態。例如針對一般的SQLInjection(資料庫隱碼注入)攻擊,兩者都能夠防護。但是,如果網站資料是加密的(主要是採用HTTPS)或是攻擊者將資料編碼過(如URL Encoding),由於加密過後,風包頭尾資訊就看不到了,IPS便無法阻擋這種方式的攻擊。 
  3. WAF防護行為通常包含了黑白名單與特徵碼分析,所謂黑白名單,主要是指已知允許或不允許的網頁連線行為。例如,必須先到登入頁面才能瀏覽某個網站頁面,如果有攻擊者試著規避此一程序,WAF可以偵測到這種行為,而IPS主要只比對特徵碼。 
  4. WAF可針對網站表單欄位內容進行檢查與限制,IPS則無此功能。因此若要做到防止表單欄位內容竄改,就要使用WAF。 
  5. WAF從網頁連線要求開始就記錄和追蹤,IPS只針對封包記錄。

總結

所以說IPS主要是防禦面相是廣的,而WAF的防禦面相是深的,每個產品的資安防護都有個有不足,唯有搭配使用才能將網站做到一定程度的防護。