[精讚] [會員登入]
757

[Centos7] 解決資安的幾個問題

因為資安的關係,接到了一些弱點掃描出現的問題,解決方法做個整理。

分享此文連結 //n.sfs.tw/14944

分享連結 [Centos7] 解決資安的幾個問題@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2021-09-14 09:47:23 最後編修
2021-02-23 13:56:33 By 張○○
 

自動目錄

因為資安的關係,接到了一些弱點掃描出現的問題,解決方法做個整理。

弱點名稱

1. The web server is sending the X-Powered-By: response headers, revealing the PHP version.

發生原因:php送出 X-Powered-By的標頭中顯示php的版本

解決方法:

修改php.ini [1]

expose_php = Off

2. TRACE method is enabled

發生原因:http協定TRACE方法有效

解決方法:關掉他

修改 httpd.conf 加入一行

TraceEnable off

3. Clickjacking: X-Frame-Options header missing [2]

發生原因:沒有避免點擊劫持(Clickjacking)的設定

解決方法:

修改 httpd.conf 加入一行

Header always set X-Frame-Options "SAMEORIGIN"

4. Apache mod_negotiation filename bruteforcing

發生原因:使用者若使用不合法的標頭會回傳406錯誤,攻擊者可由暴力方式取得檔名、備份檔等資訊。

解決方法:

修改 httpd.conf 加入一行,例如:

<Directory "/var/www/html">
  Options -Indexes -Multiviews
</Directory>

5. PHP allow_url_fopen enabled

發生原因:允許取得遠端的服務,如http ftp等。allow_url_fopen預設是開啟的。

解決方法:如果用不到可以關閉,貿然關閉的話,file_get_contents 等函數會出錯。

修改php.ini

allow_url_fopen = 'off'

或 .htaccess

php_flag allow_url_fopen off

6. Cross site scripting

報告說明:

URI was set to "onmouseover='nYUc(93652)'bad="
The input is reflected inside a tag parameter between double quotes.

發生原因:跨站攻擊(XSS),基本上只要攻擊者輸入的程式或指令會出現在網頁上的話就算。

解決方法:

  攻擊者在輸入欄位或url網址中會插入JS程式碼,程式應該要進行檢查及字串取代,不應直接顯示在頁面上。

  簡單來說,頁面中有沒有直接把get中的結果放到程式碼中的情形?如果有就會引起此類的攻擊。

7. Git repository found

發生原因:Git 的目錄被發現 (.git)

解決方法:把.git 目錄消失,或是在目錄上層放入以下的 .htaccess

<Directory ~ "\.git">
Order allow,deny
Deny from all
</Directory>

測試方法就是直接用網頁開啟該目錄的檔案,應該要404或是500才正確。

8. Development configuration files

發生原因:被發現和開發有關的檔案,例如Vagrantfile, Gemfile, Rakefile…

解決方法:刪掉

https://example.com/third/bootstrap/Gemfile.lock
https://example.com/third/bootstrap/package.json
https://example.com/third/bootstrap/bower.json
https://example.com/third/bootstrap/.bower.json
https://example.com/third/jquery-animateNumber/package.json
https://example.com/third/jquery-animateNumber/bower.json
https://example.com/third/bootstrap-select/bower.json
https://example.com/third/bootstrap-select/.bower.json
https://example.com/third/chart.js/package.json
https://example.com/third/chart.js/composer.json
https://example.com/third/ckeditor/composer.json
https://example.com/third/jquery-ui/bower.json
https://example.com/third/jquery-ui/.bower.json
https://example.com/third/jquery-ui/composer.json

8. Content Security Policy (CSP) not implemented

發生原因:沒設置CSP

解決方法:掛上去,因為這是info等級的,也不知有多少外部的連結,沒有時間一個個測試,所以先不上,有興趣可以參考[3]

參考[3] Content Security Policy是寫給瀏覽器看的
他寫在從伺服端回應給使用者瀏覽器端網頁的HTTP Header裡
主要用來限制網頁中對外部的請求來源(例如:css,js(ajax,ws),webfont,img,video,iframe等等)
還有一部份是禁止HTML行內的JS或CSS運作
以及限制<form>表單的指向網址

過濾XSS語法是伺服器端語言的工作(例如PHP)
如果不幸過濾失敗的話CSP的功能可以阻止惡意語法在瀏覽器端運作
算是多一道擋XSS的防線
(要注意是規則要寫對才能起作用,寫法限制太寬鬆還是會阻止不了)

 

目前整理這樣,爾後有再補充。

參考資料

[1] https://blogs.oracle.com/oswald/hide-x-powered-by:-php

[2] https://zh.wikipedia.org/wiki/%E7%82%B9%E5%87%BB%E5%8A%AB%E6%8C%81

[3] https://hackmd.io/@Eotones/BkOX6u5kX

END

你可能感興趣的文章

[Centos7] 解決資安的幾個問題 因為資安的關係,接到了一些弱點掃描出現的問題,解決方法做個整理。

[Apache] 自訂錯誤頁面及移掉歡迎頁 Apache 有一個歡迎頁,以正式網站來說,出現這頁有點不專業,該移除它..

UTF-8的網頁但IE8一片空白 UTF8編碼的網頁在Firefox 正常顯示、但IE8 就是空白,IE8編碼設定是「自動偵測」可是自動偵測到的是 big5...

[HTTPS] Ubuntu +SSL +正式的CA 設定 利用正式的CA憑證,設定網站SSL,有別於過去使用的「未授權憑證」

[Apache] 顯示或不顯示錯誤 php預設錯誤不顯示,有三種方法可以顯示或不顯示錯誤

[Apache] 利用.htaccess防盜圖 利用.htaccess防盜圖,同時也介紹一個產生防盜圖.htaccess檔的網站

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[jQuery] textarea 的取值和給值 HTML 的 TEXTAREA 標籤若要用 jquery 取值,不能使用 .text() 或 .html() ,使用 .

沒有非誰做不可的事,也沒有不可被取代的人 沒有非誰做不可的事,也沒有不可被取代的人

UTF-8 BOM (Byte Order Mark) 的問題 在 Michael Kaplan 那看到 Every character has a story #4: U+feff

看懂DSUB DVI HDMI USB等各式影音接頭 看懂DSUB DVI HDMI等各式影音接頭

好用的3+2碼郵遞區號查詢系統推薦 網路上找到用地址輸入判斷3+2碼郵遞區號的辨識率不高,除了這個網站…