導航:首頁 > 文檔加密 > sqlserver加密區域網

sqlserver加密區域網

發布時間:2022-04-27 19:22:43

Ⅰ 高手進 破譯 區域網 sql Server密碼

運行此類的命令可以使用:開始、運行;
里邊輸入SQLServerSniffer.exe
1433
c:\1.txt
前提你需要將SQLServerSniffer.exe
拷貝到SYSTEM32文件夾下,或者你的命令為:
X:\XXXX\SQLServerSniffer.exe
1433
c:\1.txt
_就是要加上相對路徑

Ⅱ 請問區域網內怎麼訪問另一台伺服器上的SQlserver資料庫

1.是區域網環境不?是/否
2.收費軟體通過什麼方式訪問資料庫?配置還是軟體寫死了?
3.收費崗亭有無對資料庫主機的訪問許可權?有/無
4.以上問題若都是第一個答案,在新機器上安裝一個sql客戶端後,那麼只需要知道主機資料庫的IP和埠,一般sql默認埠為1433,再開啟遠程訪問服務即可。

Ⅲ SQL SERVER到底是如何實現數據共享在區域網中如何來實現資源共享

安裝sql server客戶端,每個人分配用戶名密碼就可以了,它的共享和windows共享不是一個概念,它就像個倉庫,可以給讀、寫、改的許可權。

Ⅳ 不製作證書是否能加密SQLSERVER與客戶端之間傳輸的數據

Microsoft Network Monitor
這是微軟提供的網路抓包工具

雖然它是微軟提供的,但所有的協議parser解析代碼全部都是開源的,採用其支持的特有腳本語言編寫,易理解、易擴展;

它自帶協議parser比較全面,同時有一個開源社區提供持續支持;

另外,它也提供API幫助我們開發自己的網路抓包、協議分析工具。

針對TDS協議解析需求:
Network Monitor自帶TDS協議解析器和UI比較友好
Network Monitor自帶TDS協議解析器在解析和結果展示方面更全面,以下是一個畫面片段,顯示了一個SQL Batch包。

先了解一下SQLSERVER的加密階段

一共有兩個階段

在認證階段,SQLSERVER會使用自生成的自簽名證書,加密客戶端發過來的登陸用戶名和密碼

在數據傳輸階段,如果不使用證書,那麼數據是使用明文在網路上進行傳送的

大家可以看一下這篇文章:

SQL Server 連接加密 (1) -- SQL Server connection encyption

網上有很多製作證書的教程,但是製作證書都比較麻煩,客戶端和伺服器端都要弄很多東西。

詳細製作證書的過程可以參考園子里的這篇文章:

在SQL Server 2005 中開啟SSL(圖文結合)

當然這篇文章不是講解這個network monitor抓包工具的,所以輕輕帶過就算了

那麼,不製作證書怎麼加密傳輸的數據啊????

答案就是:同樣使用在認證階段的自生成的自簽名證書

詳細步驟:

步驟1:在SQLSERVER伺服器端這邊設置強行加密

步驟2:重啟SQLSERVER,只有重啟SQLSERVER設置才能生效

步驟3:打開network monitor,新建一個capture

步驟4:啟動capture,開始捕獲

步驟5:在客戶端這邊連上伺服器端的SQLSERVER,然後你會在network monitor里的看到SSMS這個進程已經出現在Network Conversations窗口

步驟6:選中他,你會在Frame Summary窗口看到幀信息

步驟7:如果你在伺服器端開啟了「強行加密」,那麼收到的數據包都會是加密的

大家在Protocol Name這一欄看到的是TLS協議,而不會是TDS協議

步驟8:查看幀數據

步驟9:如果沒有加密的明文數據,network monitor就能夠查看出來,並且Protocol Name這一欄顯示的是TDS協議,因為數據包並沒有使用TLS協議進行封裝

TIPS:當關閉了SSMS的查詢窗口之後,連接還是存在的

很多人會問,關閉了連接,怎麼連接還存在,客戶端為什麼還會跟伺服器端進行通信?????

實際上,這個是客戶端的連接池機制,客戶端不斷發送keep alive數據包給伺服器,下次有同樣的連接進行重用了,不需要再進行三次握手o(∩_∩)o

總結

本人介紹了不使用製作證書的方式來對傳輸的數據進行加密的方法,實際上設置客戶端而不設置伺服器端也是可以的

不過設置客戶端比較麻煩,還需要在連接字元串里加上encrypt屬性設置為Yes

設置伺服器端和設置客戶端的加密的區別

伺服器端:所有的連接都是加密的

客戶端:只是設置了加密的那個連接是加密的,其他沒有設置加密的連接依然是明文傳輸數據

當然,使用SQLSERVER自生成的證書安全性是不及自己製作的證書的安全性高!!

相關連接:

加密與 SQL Server 的連接

使用自簽名證書加密的 SSL 連接不提供強安全性。它們容易在傳輸中途受到攻擊。在生產環境中或在連接到 Internet 的伺服器上,不應依賴使用自簽名證書的 SSL。

始終要對客戶端應用程序與 SQL Server
連接時傳輸的憑據(在登錄數據包中)進行加密。SQL Server
將使用可信證書頒發機構頒發的證書(如果可用)。如果未安裝可信證書,則在啟動實例時 SQL Server
將生成自簽名證書,並使用自簽名證書對憑據進行加密。自簽名證書有助於提高安全性,但它不提供針對通過伺服器進行的身份欺騙的保護。如果使用自簽名證書,
並且 ForceEncryption 選項的值設置為「是」,則將使用自簽名證書對通過網路在 SQL Server
和客戶端應用程序之間傳輸的所有數據進行加密

Ⅳ sqlserver 2000 區域網連接問題

確定是否可以連接到sqlserver資料庫.(可利用odbc等連接方式)
檢查sqlserver的安全驗證模式(混合驗證或windows驗證),如果用戶使用sqlserver分配的用戶名密碼(例如sa),混合驗證模式必須打開

Ⅵ 區域網連接不到資料庫

可以通過本地機的數據提供者直接訪問資料庫,sqlserver 是提供了網路訪問功能的dbms系統。無需重寫winsock。
使用ado,在連接字元串中把伺服器地址/用戶名/密碼寫入就可以直接訪問資料庫了。
Provider=sqloledb;Data Source=[hostname];Initial Catalog=[dbname];User Id=[username];Password=[password];
更換伺服器地址就需要重寫連接字元串,不過可以把這類敏感信息加密到2進制文件中,在程序中動態調用。常見方法是使用配置文件的多伺服器鏡像,則更換伺服器後可以從其他來源獲得新伺服器信息。

但是不推薦這種做法,打破了一般聊天程序的體系結構。之前你說的方法是一般分布式程序的常見做法,有很多現成方案可用,也無需從socket開始寫。

Ⅶ 3.區域網中的 MSSQL 伺服器在什麼情況下能夠被 SQL server Snifer 嗅探到

摘要 您好,您的問題我已經看到了,正在整理答案,請稍等一會兒哦~

Ⅷ 如何設置SQL SERVER才能保證只有區域網才能訪問

1開始——>Microsoft
SQL
Server
2008——>配置工具—zd—>Sql
Server
配置專管理器——>
Sql
Server
網路配置——>MSSQServer協議屬——>
禁用TCP/IP協議
2開始——>Microsoft
SQL
Server
2008——>配置工具——>Sql
Server
配置管理器——>
SQL
Native
Client
10.0
配置——>客戶端協議——>禁用TCP/IP協議

Ⅸ winsock區域網間的連接問題,,,。。。。

問題應該是處在這
Winsock1.Connect
Command1.Enabled = False
Do
DoEvents
Loop Until Winsock1.State = sckConnected Or Winsock1.State = sckError
在你自己機器上連接的時候是不存在網路延遲的,所以基本跳過了連接後的循環,而到了你朋友機器上的時候變有了網路延遲,你的Do循環是非常佔用CPU使用率的所以導致上面的Connect命令出現問題,也就是winsock的state永遠不會達到條件。你可以將連接放入一個Timer控制項里來解決這個問題,比如你設置timer每500毫秒執行一次連接(當然先判斷Winsock是否是正在連接或已經斷開連接)如果連接N次還沒連接上那就是網路問題了,應該很少有網路延遲超過3000毫秒吧。
Dim Ci as Long
Private Sub Timer1_Timer()
On Error Resume Next
Ci = Ci + 1
If Form1.Winsock1.State <> 7 And Form1.Winsock1.State <> 6 Then
Form1.Winsock1.Close
Form1.Winsock1.Connect
ElseIf Form1.Winsock1.State = 7 Then
Ci = 0
Form1.Timer1.Enabled = False
MsgBox "連接成功"
Exit Sub
End If
If Ci = 6 Then
Ci = 0
Form1.Timer1.Enabled = False
MsgBox "連接伺服器失敗,請稍後重試", vbOKOnly, "提示"
End If
End Sub
以上原因純屬個人猜測,你試一試,如果不行告訴我,再一起研究一下

Ⅹ MsSQLServer是如何加密口令的

SQL SERVER的口令到資料庫存儲的加密方法,也是讓人怪異的。其過程如下:
在獲得網路解密密碼的口令以後在
005F9D5A處call SQLSORT_14,實現一個轉換為大寫口令緩沖進行保存。
然後在004def6d處調用一個函數取出資料庫中的加密的PASSWORD,其形式如下:
2個位元組的頭0x0100(固定)
4個位元組的HASH加秘KEY
20個位元組的HASH1
20個位元組的HASH2
如我取出的一個例子:
fx:0x0100 1751857F
固定 補充KEY HASH1 HASH2
口令是:123456

SQL首先用4個位元組的HASH加秘KEY補上其兩處口令的緩沖,一個為大寫,一個為小寫。然後其加密過程如下C函數
CryptAcquireContextW(&hProv,NULL,L("Microsoft Base Cryptographic Provider v1.0"),1,0xf0000000);
CryptCreateHash(hProv,0x8004,NULL,NULL,&hhash);
CryptCreateHash(hProv,0x8004,NULL,NULL,&hHash);
005F9DFE:
CryptHashData(hhash,passwdbuf,0x12,NULL);passwdbuf是小寫的passwd緩沖區,然後附加一個KEY,如上例子就是對
{'1','2''3''4''5''6',0x17,0x51,0x85,0x7F}這樣的一個字串進行HASH加密
CryptHashData(hHash,PASSWDBUF,0x12,NULL);PASSWDBUF是大寫的passwd緩沖區,然後附加一個KEY
005F9E3E:
CryptGetHashParam(hhash,2,&passwdout,&outlen,0);取出passwdbuf是小寫的passwd的加密值
CryptGetHashParam(hHash,2,&PASSWDOUT,&OUTLEN,0);取出passwdbuf是大寫的passwd的加密值
這兩個相加就是真正的資料庫中的PASSWORD加密欄位

為什麼說以上方法是脆弱的呢?其實其真正的加密長度生成只有20個位元組。
小寫口令的HASH1+大寫口令的HASH1拼接的40位HASH值的安全度還不如一個直接20位的HASH值來得安全。因為大家都知道這兩個值的因果關系,
提供給了解密者更多的信息。
如因為其演算法一樣,如果HASH1=HASH2,就可以判斷口令肯定是未使用字母,只使用了數字和符號的口令,如上取出的123456口令的HASH,兩個HASH完全相等。

就是使用了字母,其知道補充的KEY,演算法,兩個加密字串的關系,其解應該也是大大的簡化了。

當然我沒研究過加密演算法,只是感覺上這種加密方式真是不安全,呵呵,希望解密演算法的高手指點。

閱讀全文

與sqlserver加密區域網相關的資料

熱點內容
程序員放棄後會怎樣 瀏覽:160
河北模具編程 瀏覽:179
adb查找命令 瀏覽:309
安卓手機視頻文件夾怎麼打開 瀏覽:303
平板加密手機後怎麼關閉 瀏覽:557
流媒體伺服器應該注意什麼 瀏覽:528
d8命令編譯 瀏覽:943
壓縮包解壓需要多少空間 瀏覽:139
如何查找app屬性 瀏覽:381
android人臉識別技術 瀏覽:305
pc104編程 瀏覽:329
二維碼反編譯破解推廣 瀏覽:674
修改伺服器的mac地址 瀏覽:521
好玩的編程軟體 瀏覽:892
編程語言創始人有錢嗎 瀏覽:797
短視頻app怎麼獲客 瀏覽:8
查看雲伺服器的應用 瀏覽:427
javadump工具 瀏覽:558
程序員16g 瀏覽:421
程序員沒有辦法成為top怎麼辦 瀏覽:196