最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

[QEMU]通用對象創(chuàng)建(2)

2022-07-28 16:03 作者:-小白之家-  | 我要投稿
  • -object?cryptodev-vhost-user,id=id,chardev=chardevid[,queues=queues]

  • 創(chuàng)建一個 vhost-user cryptodev 后端,由 chardev chardevid 提供支持。id 參數(shù)是一個唯一的 ID,將用于從設(shè)備引用此 cryptodev 后端。chardev 應(yīng)該是一個 unix 域套接字支持的。vhost 用戶使用專門定義的協(xié)議將 vhost ioctl 替換消息傳遞到套接字另一端的應(yīng)用程序。queues 參數(shù)是可選的,用于指定多隊列 vhost-user 的 cryptodev 后端的隊列編號,隊列的默認(rèn)值為 1。virtio-crypto

    # qemu-system-x86_64 \ ?[...] \ ? ? ?-chardev socket,id=chardev0,path=/path/to/socket \ ? ? ?-object cryptodev-vhost-user,id=cryptodev0,chardev=chardev0 \ ? ? ?-device virtio-crypto-pci,id=crypto0,cryptodev=cryptodev0 \ ?[...]

  • -object?secret,id=id,data=string,format=raw|base64[,keyid=secretid,iv=string]


  • -object?secret,id=id,file=filename,format=raw|base64[,keyid=secretid,iv=string]

  • 定義用于存儲密碼、加密密鑰或某些其他敏感數(shù)據(jù)的機密。敏感數(shù)據(jù)可以通過 data 參數(shù)直接傳遞,也可以通過 file 參數(shù)間接傳遞。除非對敏感數(shù)據(jù)進行加密,否則使用 data 參數(shù)是不安全的。

    敏感數(shù)據(jù)可以以原始格式(默認(rèn)值)或 base64 提供。編碼為 JSON 時,原始格式僅支持有效的 UTF-8 字符,因此建議使用 base64 發(fā)送二進制數(shù)據(jù)。QEMU將從提供的任何格式轉(zhuǎn)換為內(nèi)部所需的格式。例如,RBD密碼可以原始格式提供,即使它在傳遞到RBD服務(wù)器時將被base64編碼。

    為了增加保護,可以使用AES-256-CBC密碼加密與密鑰關(guān)聯(lián)的數(shù)據(jù)。通過提供 keyid 和 iv 參數(shù)來指示加密的使用。keyid 參數(shù)提供以前定義的包含 AES-256 解密密鑰的機密的 ID。此密鑰的長度應(yīng)為 32 個字節(jié),并采用 base64 編碼。iv 參數(shù)提供用于加密此特定機密的隨機初始化向量,并且應(yīng)該是 16 字節(jié) IV 的 base64 加密字符串。

    最簡單的(不安全的)用法是提供秘密內(nèi)聯(lián)

    # qemu-system-x86_64 -object secret,id=sec0,data=letmein,format=raw

    最簡單的安全用法是通過文件提供密鑰

    # printf “l(fā)etmein” > mypasswd.txt # QEMU_SYSTEM_MACRO -object secret,id=sec0,file=mypasswd.txt,format=raw

    為了提高安全性,應(yīng)使用 AES-256-CBC。為了說明用法,請考慮可以加密數(shù)據(jù)的openssl命令行工具。請注意,加密時,必須使用標(biāo)準(zhǔn) PKCS#5/6 兼容填充算法將純文本填充到密碼塊大?。?2 個字節(jié))。

    首先,需要以 base64 編碼創(chuàng)建主密鑰:

    # openssl rand -base64 32 > key.b64# KEY=$(base64 -d key.b64 | hexdump ?-v -e '/1 "%02X"')

    每個要加密的密鑰都需要生成一個隨機初始化向量。這些不需要保密

    # openssl rand -base64 16 > iv.b64# IV=$(base64 -d iv.b64 | hexdump ?-v -e '/1 "%02X"')

    要定義的秘密現(xiàn)在可以加密,在這種情況下,我們告訴openssl對結(jié)果進行base64編碼,但如果需要,它可以保留為原始字節(jié)。

    # SECRET=$(printf "letmein" | ? ? ? ? ? openssl enc -aes-256-cbc -a -K $KEY -iv $IV)

    啟動 QEMU 時,創(chuàng)建指向的主密鑰并指定用于解密用戶密碼的主密鑰。將 的內(nèi)容傳遞給第二個密鑰key.b64iv.b64

    # qemu-system-x86_64 \ ? ?-object secret,id=secmaster0,format=base64,file=key.b64 \ ? ?-object secret,id=sec0,keyid=secmaster0,format=base64,\ ? ? ? ?data=$SECRET,iv=$(<iv.b64)

  • -object?sev-guest,id=id,cbitpos=cbitpos,reduced-phys-bits=val,[sev-device=string,policy=policy,handle=handle,dh-cert-file=file,session-file=file,kernel-hashes=on|off]

  • 創(chuàng)建安全加密虛擬化 (SEV) 來賓對象,該對象可用于在 AMD 處理器上提供來賓內(nèi)存加密支持。

    啟用內(nèi)存加密后,將使用其中一個物理地址位(也稱為 C 位)來標(biāo)記內(nèi)存頁是否受到保護。用于提供 C 位位置。C 位位置取決于主機系列,因此用戶必須提供此值。在 EPYC 上,該值應(yīng)為 47。cbitpos

    啟用內(nèi)存加密后,我們會丟失物理地址空間中的某些位。用于提供我們在物理地址空間中丟失的位數(shù)。與 C 位類似,該值取決于主機系列。在 EPYC 上,該值應(yīng)為 5。reduced-phys-bits

    提供用于與 AMD 安全處理器內(nèi)運行的 SEV 固件進行通信的設(shè)備文件。默認(rèn)設(shè)備為“/dev/sev”。如果硬件支持內(nèi)存加密,則 /dev/sev 設(shè)備由 CCP 驅(qū)動程序創(chuàng)建。sev-device

    提供要由 SEV 固件強制執(zhí)行的來賓策略,并限制虛擬機管理程序可以對此來賓執(zhí)行的配置和操作命令。該政策應(yīng)由客人所有者提供,并綁定到客人,并且在客人的整個生命周期內(nèi)不得更改。默認(rèn)值為 0。policy

    如果來賓允許與另一個 SEV 來賓共享密鑰,則可以使用該來賓提供從中共享密鑰的來賓的句柄。policyhandle

    和 提供在 SEV 規(guī)范中定義的來賓所有者的公共 Diffie-Hillman 密鑰。PDH 和會話參數(shù)用于與客戶機所有者建立加密會話,以協(xié)商用于證明的密鑰。該文件必須以 base64 編碼。dh-cert-filesession-file

    將給定內(nèi)核/initrd/cmdline 的哈希值添加到指定的來賓固件頁面,以便使用 -kernel 進行測量 Linux 引導(dǎo)。默認(rèn)值為關(guān)閉。(自 6.2 起)kernel-hashes

    例如,啟動SEV訪客

    # qemu-system-x86_64 \ ? ?...... \ ? ?-object sev-guest,id=sev0,cbitpos=47,reduced-phys-bits=5 \ ? ?-machine ...,memory-encryption=sev0 \ ? ?.....

  • -object?authz-simple,id=id,identity=string

  • 創(chuàng)建將控制對網(wǎng)絡(luò)服務(wù)的訪問的授權(quán)對象。

    該參數(shù)標(biāo)識用戶,其格式取決于與授權(quán)對象關(guān)聯(lián)的網(wǎng)絡(luò)服務(wù)。對于基于 TLS x509 證書的授權(quán),標(biāo)識必須是 x509 可分辨名稱。請注意,必須注意對可分辨名稱中的任何逗號進行轉(zhuǎn)義。identity

    用于驗證 x509 可分辨名稱的示例授權(quán)對象如下所示:

    # qemu-system-x86_64 \ ? ?... \ ? ?-object 'authz-simple,id=auth0,identity=CN=laptop.example.com,,O=Example Org,,L=London,,ST=London,,C=GB' \ ? ?...

    請注意,由于 x509 可分辨名稱包含空格,并且轉(zhuǎn)義了 ',',,因此使用引號。

  • -object?authz-listfile,id=id,filename=path,refresh=on|off

  • 創(chuàng)建將控制對網(wǎng)絡(luò)服務(wù)的訪問的授權(quán)對象。

    該參數(shù)是包含 JSON 格式的訪問控制列表規(guī)則的文件的完全限定路徑。filename

    與 SASL 用戶名匹配的一組規(guī)則示例可能如下所示:

    { ?"rules": [ ? ? { "match": "fred", "policy": "allow", "format": "exact" }, ? ? { "match": "bob", "policy": "allow", "format": "exact" }, ? ? { "match": "danb", "policy": "deny", "format": "glob" }, ? ? { "match": "dan*", "policy": "allow", "format": "exact" }, ?], ?"policy": "deny"}

    選中訪問權(quán)限時,對象將循環(huán)訪問所有規(guī)則,并且要匹配的第一個規(guī)則將返回其值作為結(jié)果。如果沒有匹配的規(guī)則,則返回默認(rèn)值。policypolicy

    這些規(guī)則可以是完全字符串匹配,也可以使用簡單的 UNIX glob 模式匹配來允許使用通配符。

    如果設(shè)置為 true,則將監(jiān)視文件,并在其內(nèi)容更改時自動重新加載。refresh

    與對象一樣,要匹配的標(biāo)識字符串的格式取決于網(wǎng)絡(luò)服務(wù),但通常是 TLS x509 可分辨名稱或 SASL 用戶名。authz-simple

    用于驗證 SASL 用戶名的示例授權(quán)對象如下所示:

    # qemu-system-x86_64 \ ? ?... \ ? ?-object authz-simple,id=auth0,filename=/etc/qemu/vnc-sasl.acl,refresh=on \ ? ?...

  • -object?authz-pam,id=id,service=string

  • 創(chuàng)建將控制對網(wǎng)絡(luò)服務(wù)的訪問的授權(quán)對象。

    該參數(shù)提供用于授權(quán)的 PAM 服務(wù)的名稱。它要求存在一個文件來提供子系統(tǒng)的配置。service/etc/pam.d/serviceaccount

    用于驗證 TLS x509 可分辨名稱的示例授權(quán)對象如下所示:

    # qemu-system-x86_64 \ ? ?... \ ? ?-object authz-pam,id=auth0,service=qemu-vnc \ ? ?...

    然后會有一個相應(yīng)的 PAM 配置文件,其中包含:/etc/pam.d/qemu-vnc

    account requisite ?pam_listfile.so item=user sense=allow \ ? ? ? ? ? file=/etc/qemu/vnc.allow

    最后,該文件將包含允許訪問的 x509 分離名稱的列表/etc/qemu/vnc.allow

    CN=laptop.example.com,O=Example Home,L=London,ST=London,C=GB

  • -object?iothread,id=id,poll-max-ns=poll-max-ns,poll-grow=poll-grow,poll-shrink=poll-shrink,aio-max-batch=aio-max-batch

  • 創(chuàng)建可將設(shè)備分配到的專用事件循環(huán)線程。這稱為 IOThread。默認(rèn)情況下,設(shè)備仿真發(fā)生在 vCPU 線程或主事件循環(huán)線程中。這可能會成為可伸縮性瓶頸。IOThread 允許設(shè)備仿真和 I/O 在其他主機 CPU 上運行。

    該參數(shù)是一個唯一的 ID,將用于從 中引用此 IOThread??梢詫⒍鄠€設(shè)備分配給一個 IOThread。請注意,并非所有設(shè)備都支持某個參數(shù)。id-device?...,iothread=idiothread

    QMP 命令列出 IOThread 并報告其線程 ID,以便用戶可以配置主機 CPU 固定/關(guān)聯(lián)。query-iothreads

    IOThreads 使用自適應(yīng)輪詢算法來減少事件循環(huán)延遲。輪詢算法不是輸入阻塞系統(tǒng)調(diào)用來監(jiān)視文件描述符,然后在事件發(fā)生時支付被喚醒的成本,而是在短時間內(nèi)等待事件。該算法的默認(rèn)參數(shù)適用于許多情況,但可以根據(jù)工作負(fù)載和/或主機設(shè)備延遲的了解進行調(diào)整。

    該參數(shù)是忙于等待事件的最大納秒數(shù)??梢酝ㄟ^將此值設(shè)置為 0 來禁用輪詢。poll-max-ns

    該參數(shù)是用于在算法檢測到由于輪詢時間不夠長而缺少事件時增加輪詢時間的乘數(shù)。poll-grow

    該參數(shù)是除數(shù),用于在算法檢測到輪詢時間過長而沒有遇到事件時減少輪詢時間。poll-shrink

    該參數(shù)是 AIO 引擎批處理中的最大請求數(shù),0 表示引擎將使用其默認(rèn)值。aio-max-batch

    可以在運行時使用以下命令修改 IOThread 參數(shù)(其中 IOThread 的參數(shù)為):qom-setiothread1id

    (qemu) qom-set /objects/iothread1 poll-max-ns 100000


[QEMU]通用對象創(chuàng)建(2)的評論 (共 條)

分享到微博請遵守國家法律
阿合奇县| 河间市| 佛坪县| 恩平市| 监利县| 静乐县| 新郑市| 开鲁县| 麟游县| 罗山县| 中江县| 清丰县| 东乡族自治县| 抚顺市| 栾川县| 东光县| 中牟县| 塔城市| 靖远县| 克东县| 利川市| 樟树市| 察雅县| 昭苏县| 沙洋县| 祁门县| 广州市| 连山| 通河县| 保德县| 阜城县| 龙川县| 靖边县| 平南县| 托克托县| 辉南县| 通化县| 敦煌市| 团风县| 偃师市| 台东县|