使用https協議解決掉頑固不化的已解密的登入請求

2021-09-08 04:19:00 字數 4090 閱讀 7320

在應用程式測試過程中,檢測到將未加密的登入請求傳送到伺服器。由於登入過程所用的部分輸入字段(例如:使用者名稱、密碼、電子郵件位址、社會保險號碼,等等)是個人敏感資訊,建議通過加密連線(如 ssl)將其傳送到伺服器。任何以明文傳給伺服器的資訊都可能被竊,稍後可用來電子欺騙身份或偽裝使用者。 此外,若干隱私權法規指出,使用者憑證之類的敏感資訊一律以加密方式傳給**。

安全風險中,可能會竊取諸如使用者名稱和密碼等未經加密即傳送了的使用者登入資訊

原因:諸如使用者名稱、密碼和信用卡號之類的敏感輸入字段未經加密即進行了傳遞

1. 確保所有登入請求都以加密方式傳送到伺服器。

2. 請確保敏感資訊,例如:

- 使用者名稱

- 密碼

- 社會保險號碼

- 信用卡號碼

- 駕照號碼

- 電子郵件位址

- **號碼

一律以加密方式傳給伺服器。

已解密的登入請求,要求就是資料要加密傳輸。最簡單有效的解決方式採用ssl加密協議傳輸,在進行測試過程中也嘗試在tomcat下ssl方式配置,寫下來供參考。

tomcat在生成證書檔案後,在service.xml 進行配置: 給證書加上日期年限-validity 36500 100年

安全證書生成過程:進入到cmd 進入到cd  jdk bin目錄下執行

keytool -genkeypair -alias "

tomcat

" -keyalg "

rsa" -keystore "

" -validity 36500

生成證書  任意路徑都行,放到tomcat資料夾下好管理。

進入到tomcat 的conf 目錄下修改servlet.xml ,找到這個配置,新增你的證書的位址以及密碼在service.xml配置ssl

tomcat伺服器: 

jdk版本過低也會帶來不安全漏洞,請公升級jdk為最新版本。公升級jdk風險請安按照系統公升級風險酌情考慮。 

(先備份再配置,低版本的配置後有啟動不了的風險,請公升級tomcat和jdk版本,jdk1.7及以上支援tls1.2協議)

如果服務端不支援sslv3,只支援tlsv1、tlsv1.1和tlsv1.2,又該如何設定呢?  

tomcat 6  使用屬性  sslprotocols="tlsv1,tlsv1.1,tlsv1.2" 示例**如下:

--去掉 sslprotocol

="tls"

keystorefile

keystorepass

="110120"

/>

tomcat 7 and later這時需要設定另外乙個屬性sslenabledprotocols,示例**如下:

sslenabledprotocols="tlsv1,tlsv1.1,tlsv1.2" --去掉 sslprotocol="tls"

keystorefile

keystorepass

="110120"

/>

開發人員應該能夠輕鬆應對ssl 3.0  ssl 2.0 poodle漏洞

在這裡我是把證書放到tomcat資料夾下。注意要把8443埠改為你自己伺服器的埠,以防一直跳轉到8443埠。

這樣配置後雖然可以通過https訪問,但仍然還可以通過8080使用普通的http訪問,所以還必須禁止普通模式登入。把原有的普通模式注釋掉即可。

connectiontimeout="20000"

redirectport="8443" />

還得在web.xml新增配置。在tomcat的conf下的web.xml的最後新增配置檔案實現http協議自動轉化為https 協議,配置檔案新增在  配置檔案後面

對所有的請求都轉化為https:

<

security-constraint

>

<

web-resource-collection

>

<

web-resource-name

>ssl

web-resource-name

>

<

url-pattern

>/*

url-pattern

>

web-resource-collection

>

<

user-data-constraint

>

<

transport-guarantee

>confidential

transport-guarantee

>

user-data-constraint

>

security-constraint

>

只對 .jsp 的請求自動轉化為https

<

security-constraint

>

<

web-resource-collection

>

<

web-resource-name

>ssl

web-resource-name

>

<

url-pattern

>*.jsp

url-pattern

>

<

url-pattern

>*.action

url-pattern

>

web-resource-collection

>

<

user-data-constraint

>

<

transport-guarantee

>confidential

transport-guarantee

>

user-data-constraint

>

security-constraint

>

應注意,由於專案的一些元件無法通過https,因此url-pattern欄位只對.jsp和.action進行了限制,如果不做特定限制,則系統預設是全部使用https傳輸。而且上述設定一旦在某個工程**現,那麼當前tomcat將全域性採用這一配置。

配置Tomcat使用https協議

這裡測試使用的環境 jdk 1.7 tomcat 8 這裡使用jdk自帶的keytool工具來生成證書 1.在jdk的安裝目錄 bin keytool.exe下開啟keytool.exe 在cmd中進入到該檔案目錄 2.在命令列中輸入以下命令 keytool genkeypair alias tom...

https協議使用配置概述

author janloong do o sslsecure socket layer 一般 使用https需要去ca機構生成證書 內部使用 生成乙個rsa金鑰 openssl genrsa des3 out ssltest.key 1024 拷貝乙個不需要輸入密碼的金鑰檔案 openssl rsa...

配置Tomcat使用https協議

一.建立tomcat證書 這裡使用jdk自帶的keytool工具來生成證書 1.在jdk的安裝目錄 bin keytool.exe下開啟keytool.exe 2.在命令列中輸入以下命令 二.配置tomcat伺服器 定位到tomcat伺服器的安裝目錄,找到conf下的server.xml檔案 找到如...