「我在內網掃瞄的時候,發現了不是依規範命名的電腦欸?」
「是 Server 嗎?」
「那它的 Port 開什麼?」
「有 80、445、8080、1433、1521…大概快 100 個吧…」
所以,你猜它是Server 還是個人主機?XDDDD
環境或是程式中的安全性錯誤配置。
通常部署跟配置會在環境上線之前一併測試完成才上線。
關閉debug模式
客製錯誤頁面處理
錯誤處理會向使用者顯示過度資訊、錯誤訊息或程式碼
.NET-web.config
<customErrors mode="On|Off|RemoteOnly" defaultRedirect="Error.html">
<error statusCode="500" redirect="Error500.aspx"/>
<error statusCode="404" redirect="NotHere.aspx"/>
<error statusCode="403" redirect="NotAuthz.aspx"/>
</customErrors>
Java-web.xml
<error-page>
<exception-type>UnhandledException</exception-type> <location>GenericError.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>Error500.jsp</location>
</error-page>
移除套件預設頁面
使用最新應用程式框架(Struts、Spring、ASP.NET…)或是函式庫(jQuery)時,確認已安全設置。
修改預設帳號密碼
cookies 加上屬性 HttpOnly
cookies 加上屬性 Secure
設定robots.txt
限縮 Google搜尋範圍
關閉支援不影響正常維運的 HTTP Method (DELETE \ PUT)
DELETE 會將該頁面刪除
PUT 則是允許自己更新頁面
更詳細的安全性設置煩請參考 OWASP 官方的文件(Testing for configuration management)
https://www.owasp.org/index.php/Testing_for_configuration_management
所以究竟是是Server 還是個人主機呢?
看完上面的說明,我們知道正式的 Server,應該只要開"用到的"Port,
即使開了很多服務,怎麼樣都不會開到 100 個 Ports…
但是開的服務很多都是 Server 要用到的 Port,所以,可能偏開發人員的電腦或測試環境,
如果在內網掃瞄到這樣的電腦,幾乎是撿到寶,因為正式區該有的,測試區都會有啊 =v=+++
加上如果設置檔又剛好明碼密碼,或是慣用密碼,那拿下正式區根本輕而易舉的事情 XDDDD