2018年6月19日 星期二

搜尋引擎攻擊

1.Google Hack
所謂 Google Hack 入侵手法,指的是利用搜尋引擎的進階搜尋字串,找到企業網站的關鍵資訊。目前 Google Hack 入侵手法得以成功,追根究底,原因往往出現在許多網頁程式寫法出現問題,才讓懂門道的人,可以利用搜尋引擎,找到網站設定檔(config)外,也可以利 用鍵入內部網址、或者是搜尋網站目錄、檔案類型等方式找到包含網站伺服器檔案、帳號、密碼、管理介面等資料。在交叉分析這些結果,能找出關於某個網站的資 訊,甚至所揭露的資訊多到足以讓人入侵其網站伺服器。

如何防禦 : 在搜尋引擎上對公司進行檢索,看看是否在駭客攻擊你之前,找出任何駭客可能用來造成危害的資訊。如果在線上發現存放在網頁上的資料敏感,公司應該移除該目 錄或使用密碼保護它。此外,可以透過線上表單通知Google,將該網頁的資訊從搜尋結果以及快取中移除。類似像 The Weather Channel,排名的順位影響能見度,卻要同時考量安全的這類網站,如果使用搜尋引擎排除協定,將會損害該網站在搜尋引擎上的排名順序。
因此,任何資料要放到網站之前,必須先做仔細的風險評估。

實務中用關閉Apache DirectoryIndex 設定,設定404導向,rewrite,網頁加密等方式。

 來源:http://www.nuu.edu.tw/UIPWeb/wSite/ct?xItem=61297&ctNode=11724&mp=56

在 https://www.jianshu.com/p/75ecdf2a772b 文章記錄了作者被駭的經歷,其中只有360搜索和搜狗搜索的結果進行了重定向

2. blackhat SEO 攻擊
常用的Blackhat手法
偽裝成防毒軟體:對廣大的Internet用戶發佈捏造的安全告警訊息,以便誘使他們購買假冒的安全產品,或是無意間下載內含病毒的程式碼。

SEO 網頁:刻意在網頁中嵌入大量的錯誤關鍵字,以便提高其搜尋排名,一旦用戶點選這些頁面,會被導引到非法網站。這類網頁又稱為 SEO 中毒(Poisoned)網頁。

Blackhat SEO工具:這套程序可用來建立並管理SEO攻擊。它可以產生很容易被搜尋引擎爬行器(crawler)找到的SEO網頁,並且能夠輕易地在搜尋結果中產生病毒,以便將用戶指向惡性的網站。此外,這些程序會自動更新以便取得最新的熱門新聞。

SEO 下毒:這個過程可以誘騙搜尋引擎提高其SEO網頁的搜尋結果排名,而這些結果其實已經被「下毒」了。

搜尋引擎爬行器:這是一種俗稱網路機器人或網路蜘蛛的電腦程序,它可以用系統化的方式將瀏覽所有網頁,以便索引可被搜尋到的網頁並且收集相關資料。

發動任何blackhat SEO 攻擊之前,駭客必須先將網頁內容餵入搜尋引擎爬行器(接著此應用程序會將其加入搜尋結果中),同時將點選這些搜尋結果的用戶連到惡性網站去。多數 blackhat SEO 應用程序可以分辨現在是搜尋引擎連到他們的網站以便逐筆搜尋網頁內容、或是使用者透過搜尋引擎連結來瀏覽網站,或是其他對這個網站好奇的人直接連上網站。


如同其他網頁式攻擊一樣,網址過濾與內容檢驗等方式通常可以有效防範SEO攻擊。

3. 把病毒放在自己的網站讓搜尋引擎自動攻擊

機器人正在爬取網站A.網站A有很多暗藏的鏈接可以發送SQLi請求到目標網站B.Google機器人爬取頁面的時候看到了這幾個連接,然後就會順著這個鏈接爬過去,這樣的話,Google機器人就無意地攻擊了網站B。

觀察登入檔

什麼是登錄檔呢?簡單的說,就是記錄系統活動資訊的幾個檔案, 例如:何時、何地 (來源 IP)、何人 (什麼服務名稱)、做了什麼動作 (訊息登錄囉)

要看哪些
  • /var/log/secure 或 /var/log/auth (登錄紀錄)
  • /var/log/messages     (系統訊息)
  • /var/log/httpd/      (web server 紀錄)
怎麼看
cat
more
grep -n
grep -v
grep 'root' /var/log/auth.log
壓縮檔
zcat man.config.gz
若無此指令,則先解壓縮
gzip -d somelog.log.gz 然後再看

cat access_log | grep '404' | less
影片解說 http://static.nlps.tyc.edu.tw/security/100B/48/log.html

CPU 使用100%的http

在liunx裡有一個很好用的指令叫做top
在很多個人同時使用網站時,看起來像這樣
就是會開起很多個httpd ,但是每一個的CPU使用量都不大。

用 https://ipinfo.io/ 檢查IP來源

如果你在瀏覽器上輸入 https://ipinfo.io/ 就可以得到您目前所在位置IP的資訊

如果我們在https://ipinfo.io/都後面接上IP,例如:https://ipinfo.io/168.95.1.1 就可以得到168.95.1.1這個ip的資訊

當然前述兩種方式適合於人工閱讀,如果要讓程式判斷就比較不合適。

https://ipinfo.io/可以註冊後取得API的token後依照說明使用API,這裡介紹一種更簡便的方式

https://ipinfo.io/168.95.1.1/geo ( https://ipinfo.io/168.95.1.1/json 資料更齊全)

這種方式可以取得 168.95.1.1的JSON資料,然後就可以運用到javascript或php上了,底下以php為例子解說:

輸入  https://ipinfo.io/168.95.1.1/geo
看到的是這樣的資料

其中country 表示國家,台灣的代碼是TW
本校的xoops網站位置在/nlps2014/
而/nlps2018/則只是一個簡單的純網頁(原來網站的截圖,加上中文版和英文版的連結)。
在www.nlps.tyc.edu.tw的首頁加上這樣的index.php

 $myip= $_SERVER['REMOTE_ADDR'];
 $web="/nlps2014/";
 if (substr($myip,0,3) !='10.' && substr($myip,0,7) !='163.30.' ) {
   $json= file_get_contents("https://ipinfo.io/$myip/geo"); 
   if (trim($json)!='') {
     $iparr = json_decode($json,true);
     if ($iparr['country'] !='TW') $web="/nlps2018/";
   } else {
     die("ERROR IPINFO");
   }
 }
header("Location :$web");

這樣的話如果是台灣的瀏覽器就會被導向 主網頁,如果是外國網站則會被導向 簡單網頁,當然您也可以直接導向代管的英文版。
PS. 直接導向英文版會有一個嚴重的缺點,以後用google搜尋貴校名稱會找不到貴校網站或者是顯示英文網站。

2018-08-01補充
原本使用的好好,但是今天出現大量的ERROR IPINFO,似乎ipinfo不給用了,所以我另外寫了一個用自己的資料庫去檢查ip的API程式 http://163.30.200.26/twip.php
它的使用方法如下:
http://163.30.200.26/twip.php?ip=8.8.8.8
http://163.30.200.26/twip.php?ip=163.30.4.1
它的回應只有兩種,一是yes ,一是no,底下是使用範例
$myip= $_SERVER['REMOTE_ADDR'];
 $web="/nlps2014/";
 if (substr($myip,0,3) !='10.' && substr($myip,0,7) !='163.30.' ) {
   $yesno= file_get_contents("http://163.30.200.26/twip.php?ip=$myip");
   if (trim($yesno)!='') {
     if ($yesno=='no') $web="/nlps2018/";
   } else {
     die("ERROR IPINFO");
   }
 }
header("Location :$web");


建立學校網站的隱私條款

1. 到
https://github.com/lyrasoft/chinese-privacy-policy-template
網站複製隱私條款,並把網站改成貴校的網站名稱

2. 使用xoops中的tadnews模組或tinyD模組新增一篇文章

3. 將複製的條款貼上,並更改網站名稱

4.在頁尾增加隱私權的連結,以xoops為例,可在 偏好設定的Meta及頁尾設定中加入
隱私權政策
這樣的連結,其中tadnews本來是index.php?nsn=8241,但是使用page.php?nsn=8241可以做為永久頁面。

2018年6月18日 星期一

GDPR 一般資料保護規定

GDPR 全名為「General Data Protection Regulation」(一般資料保護規定),類似於台灣的個資法;雖然這項規定目前僅適用於歐盟,但其實學校網站全世界都可以看到,若是歐盟的國家所在的人員使用,也非常有可能需要受到 GDPR 的規範。

歐盟一般資料保護規範(GDPR)取代了歐盟在1995年推出的歐盟個人資料《數據保護指令》(Data Protection Directive)

重視人權的歐盟,在1995年制定了個人資料保護指令(Data Protection Directive),此時網路服務並不普及,為了符合現代時空環境,2016年通過「一般資料保護規則」(General Data Protection Regulation, GDPR)取代了先前的法規,並在實際執行前,給了歐盟兩年的緩衝期,訂在2018年5月25日正式執行。

GDPR的前身是歐盟在1995年實施的「個人資料保護指令」(DPD, Data Protection Directive)。在科技的快速發展下,DPD已經顯得相對落後;同時,歐盟頒布的指令需要經過會員國的國內立法程序才具有效力,導致DPD的執行成效不彰。

因此,GDPR其實就是DPD的延伸及擴充,它可以更完整的保護當事人對其個人資料的權利。

GDPR裡的個資與我國個資保護法中的個資比較是範圍比較大的,例如:得直接或間接識別出特定當事人之資料類型,像網路瀏覽器 Cookies、網路 IP 位址都算是個資。

參考: https://www.ndc.gov.tw/Content_List.aspx?n=49C4A38DD9249E3E
歐盟GDPR與我國個人資料保護法之重點比較分析 pdf

至於怎樣是違反 GDPR,可以分為以下幾種:
  • 保護不周:企業對民眾個資保護不周,被竊取、外洩。就算個資未外洩,只要防護不周就算違反。
  • 脫離約定目的、缺乏正當性:像是把某活動蒐集的個資,用於另一個無關的活動或機構使用。
  • 未給予當事人應有權利:包括「刪除」、「更正」、「轉移」等權利
參考  https://applealmond.com/posts/32639

無論你是不是位於歐盟內的國家,只要顧客或使用者來自歐盟地區就會受到 GDPR 規範所保護,另一方面歐盟時常是其他國家法令的先驅,未來在其他國家修法時可能會作為參考,可趁此機會重新審查一下網站、服務或應用程式的隱私權條款。

GDPR制裁區分為輕、重兩階,第一階最高罰鍰1000萬歐元「或」年度全球營業額的2%,擇金額較高者罰之;第二階是加倍處罰。這種處法方式可作為台灣處罰方式的借鏡。 

學校網站避開GDPR

1. 網站上建立隱私條款,並妥善保管這些資料


2.只讓台灣可以看到貴校網站,其餘地區和搜索引擎只讓看到簡單的網頁。