云上細(xì)粒度訪問管理的參考架構(gòu)

本文由 Addo Zhang 翻譯自 A Reference Architecture for Fine-Grained Access Management on the Cloud

什么是訪問管理?

訪問管理是識(shí)別用戶或一組用戶是否應(yīng)該能夠訪問給定資源(例如主機(jī)潭苞、服務(wù)或數(shù)據(jù)庫)的過程。例如,對(duì)于開發(fā)人員來說是否可以使用 SSH 登錄生產(chǎn)應(yīng)用程序服務(wù)器,如果可以嗅剖,那么可以登錄多長時(shí)間稻据?如果 SRE 在非支持時(shí)間嘗試訪問數(shù)據(jù)庫,他們這樣做尤揣?如果數(shù)據(jù)工程師已轉(zhuǎn)移到其他團(tuán)隊(duì),他們是否應(yīng)該繼續(xù)訪問 ETL 管道的 S3 存儲(chǔ)桶柬祠?

現(xiàn)在如何進(jìn)行訪問管理北戏?

在云上各種基礎(chǔ)設(shè)施和數(shù)據(jù)服務(wù)激增之前,訪問管理是 DevOps 和 Security 團(tuán)隊(duì)要解決的相對(duì)簡單的問題漫蛔。VPN 和堡壘主機(jī)是(現(xiàn)在仍然是)在網(wǎng)絡(luò)級(jí)別封鎖所有關(guān)鍵資源的首選機(jī)制嗜愈。用戶必須先通過 VPN 服務(wù)器進(jìn)行身份驗(yàn)證,或者登錄到堡壘主機(jī)莽龟,然后才能訪問專用網(wǎng)絡(luò)上的所有資源蠕嫁。

當(dāng)資源是靜態(tài)的并且它們的數(shù)量相對(duì)較小時(shí),此方法效果很好毯盈。但是剃毒,隨著越來越多的資源動(dòng)態(tài)地涌入專用網(wǎng)絡(luò)的各處,VPN / 堡壘主機(jī)解決方案變得站不住腳奶镶。

具體來說迟赃,在三個(gè)方面,VPN 和堡壘主機(jī)不足以作為一種有效的訪問管理機(jī)制厂镇。

  • 它們作用于網(wǎng)絡(luò)層面:用戶通過 VPN 進(jìn)行身份驗(yàn)證并獲得對(duì)專用網(wǎng)絡(luò)的訪問權(quán)限后纤壁,他們實(shí)際上就可以訪問其上運(yùn)行的所有服務(wù)。無法根據(jù)用戶的身份在基礎(chǔ)架構(gòu)或數(shù)據(jù)服務(wù)的粒度上管理訪問捺信。
  • 憑據(jù)是攻擊的媒介:VPN 和堡壘主機(jī)都要求用戶記住并存儲(chǔ)憑據(jù)酌媒。過期和輪換憑證作為安全策略非常困難欠痴,尤其是在涉及大量用戶的情況下,憑證因此成為潛在的攻擊媒介秒咨。
  • 不能管理第三方 SaaS 工具:SaaS 工具(如 Looker喇辽、Tableau 和 Periscope Data)需要直接訪問數(shù)據(jù)端點(diǎn)。因此雨席,使用這些工具訪問數(shù)據(jù)的任何人都無法通過使用了相同的機(jī)制和憑據(jù)的基礎(chǔ)設(shè)施進(jìn)行身份驗(yàn)證菩咨。

云上訪問管理的新架構(gòu)

在本文中,我們將定義新的參考架構(gòu)陡厘,為那些正在尋求簡化訪問管理云資源(從 SSH 主機(jī)抽米、數(shù)據(jù)庫、數(shù)據(jù)倉庫到消息管道和云存儲(chǔ)終結(jié)點(diǎn))解決方案的云原生企業(yè)糙置。

它解決了 VPN 和堡壘主機(jī)無法克服的以下特定挑戰(zhàn):

  • 在細(xì)粒度的服務(wù)級(jí)別上進(jìn)行訪問鑒權(quán)
  • 消除共享憑據(jù)和個(gè)人帳戶管理
  • 通過第三方 SaaS 工具控制訪問

此外云茸,它為具有敏感數(shù)據(jù)的組織帶來以下商業(yè)利益:

  • 通過跨所有服務(wù)的會(huì)話記錄和活動(dòng)監(jiān)視來滿足 FedRamp 和 SOC2 等合規(guī)性標(biāo)準(zhǔn)的可審核性
  • 基于訪問者的身份,通過細(xì)粒度的授權(quán)策略來限制或清除敏感數(shù)據(jù)谤饭,從而實(shí)現(xiàn)隱私和數(shù)據(jù)治理

該架構(gòu)建立在以下三個(gè)核心原則的基礎(chǔ)上标捺,這些原則的實(shí)現(xiàn)使 DevOps 和 Security 團(tuán)隊(duì)可以在對(duì)所有環(huán)境進(jìn)行全面控制的同時(shí),通過簡單而一致的體驗(yàn)來提高用戶的工作效率揉抵。

  • 為訪問資源的用戶建立不可否認(rèn)的身份
  • 使用短期的短暫令牌和證書代替靜態(tài)憑證和密鑰
  • 在一處集中所有資源類型的細(xì)粒度訪問策略

下圖顯示了參考架構(gòu)及其組件亡容。

上圖中的 VPN / 堡壘主機(jī)已替換為接入網(wǎng)關(guān)(Access Gateway)。接入網(wǎng)關(guān)實(shí)際上是微服務(wù)的集合冤今,負(fù)責(zé)驗(yàn)證單個(gè)用戶萍倡、基于特定屬性授權(quán)他們的請(qǐng)求,并最終授予他們?cè)L問專用網(wǎng)絡(luò)中的基礎(chǔ)結(jié)構(gòu)和數(shù)據(jù)服務(wù)的權(quán)限辟汰。

接下來,讓我們看一下各個(gè)組件阱佛,以了解之前概括的核心原理是如何實(shí)現(xiàn)的帖汞。

訪問控制器

支持此體系結(jié)構(gòu)的關(guān)鍵見解是將用戶身份驗(yàn)證委派給單個(gè)服務(wù)(訪問控制器),而不是將責(zé)任分配給用戶可能需要訪問的服務(wù)凑术。這種聯(lián)合在 SaaS 應(yīng)用程序世界中很常見翩蘸。由單一服務(wù)負(fù)責(zé)身份驗(yàn)證,可以簡化應(yīng)用程序所有者的用戶配置和接觸配置淮逊,并加快應(yīng)用程序開發(fā)催首。

對(duì)于實(shí)際的身份驗(yàn)證序列,訪問控制器本身通常會(huì)與身份提供商集成泄鹏,例如 Auth0Okta郎任,因此,可以跨提供者和協(xié)議提供有用的抽象备籽。最終舶治,身份提供商以簽名的 SAML 聲明\JWT 令牌或臨時(shí)證書的形式保證用戶的身份不可否認(rèn)。這樣就無需依賴受信任的子網(wǎng)作為用戶身份的代理。與 VPN 允許用戶訪問網(wǎng)絡(luò)上的所有服務(wù)不同霉猛,它還允許將訪問策略配置到服務(wù)的粒度尺锚。

將身份驗(yàn)證委派給身份提供者的另一個(gè)好處是,可以使用零信任原則對(duì)用戶進(jìn)行身份驗(yàn)證惜浅。 具體來說瘫辩,可以創(chuàng)建身份提供者策略以強(qiáng)制執(zhí)行以下操作:

  • 禁止從信譽(yù)不佳的地理位置和 IP 地址訪問
  • 禁止從已知漏洞的設(shè)備(未修補(bǔ)的 OS、較舊的瀏覽器等)進(jìn)行訪問
  • 成功進(jìn)行 SAML 交換后立即觸發(fā) MFA

身份驗(yàn)證序列如何工作:

  1. 用戶首先通過訪問控制器進(jìn)行身份驗(yàn)證坛悉,訪問控制器又將身份驗(yàn)證委派給身份提供者伐厌。
  2. 成功登錄到身份提供者后,訪問控制器將生成一個(gè)短暫的臨時(shí)證書吹散,進(jìn)行簽名并將其返回給用戶弧械。或者空民,它可以代替證書生成令牌刃唐。只要證書或令牌有效,就可以將其用于連接到 接入網(wǎng)關(guān)管理的任何授權(quán)基礎(chǔ)設(shè)施或數(shù)據(jù)服務(wù)界轩。到期后画饥,必須獲取新的證書或令牌。
  3. 用戶將在步驟(2)中獲得的證書傳遞給他們選擇的工具浊猾,然后連接到接入網(wǎng)關(guān)抖甘。根據(jù)用戶請(qǐng)求訪問的服務(wù),基礎(chǔ)設(shè)施網(wǎng)關(guān)或數(shù)據(jù)網(wǎng)關(guān)將首先允許訪問控制器驗(yàn)證用戶的證書葫慎,然后再允許他們?cè)L問該服務(wù)衔彻。因此,訪問控制器充當(dāng)用戶與其訪問的服務(wù)之間的 CA偷办,因此為每個(gè)用戶提供了不可否認(rèn)的身份艰额。

策略引擎

當(dāng)訪問控制器強(qiáng)制對(duì)用戶進(jìn)行身份驗(yàn)證時(shí),策略引擎會(huì)對(duì)用戶的請(qǐng)求強(qiáng)制進(jìn)行細(xì)粒度的授權(quán)椒涯。它以易于使用的 YAML 語法接受授權(quán)規(guī)則(查看最后的示例)柄沮,并根據(jù)用戶請(qǐng)求和響應(yīng)對(duì)它們進(jìn)行評(píng)估。

開放策略代理(OPA)是一個(gè)開源的 CNCF 項(xiàng)目废岂,是策略引擎的一個(gè)很好的例子祖搓。它可以自己作為微服務(wù)運(yùn)行,也可以用作其他微服務(wù)進(jìn)程空間中的庫湖苞。OPA 中的策略以稱為 Rego 的語言編寫拯欧。另外,也可以在 Rego 之上輕松構(gòu)建一個(gè)簡單的 YAML 界面财骨,以簡化政策規(guī)范哈扮。

具有獨(dú)立于基礎(chǔ)結(jié)構(gòu)和數(shù)據(jù)服務(wù)的安全模型的獨(dú)立策略引擎的優(yōu)點(diǎn)如下:

  • 可以以與服務(wù)和位置無關(guān)的方式指定安全策略
    • 例如在所有 SSH 服務(wù)器上禁止特權(quán)命令
    • 例如強(qiáng)制執(zhí)行 MFA 檢查所有服務(wù)(基礎(chǔ)設(shè)施和數(shù)據(jù))
  • 策略可以保存在一個(gè)地方并進(jìn)行版本控制
    • 策略可以作為代碼簽入 GitHub 存儲(chǔ)庫
    • 每項(xiàng)變更在提交之前都要經(jīng)過協(xié)作審核流程
    • 存在版本歷史記錄纬纪,可以輕松地還原策略更改

基礎(chǔ)設(shè)施網(wǎng)關(guān)和數(shù)據(jù)網(wǎng)關(guān)都依賴于策略引擎,以分別評(píng)估用戶的基礎(chǔ)設(shè)施和數(shù)據(jù)活動(dòng)滑肉。

基礎(chǔ)設(shè)施網(wǎng)關(guān)

基礎(chǔ)設(shè)施網(wǎng)關(guān)管理和監(jiān)控對(duì)基礎(chǔ)設(shè)施服務(wù)的訪問包各,例如 SSH 服務(wù)器和 Kubernetes 集群。它與策略引擎連接靶庙,以確定細(xì)化的授權(quán)規(guī)則问畅,并在用戶會(huì)話期間對(duì)所有基礎(chǔ)設(shè)施活動(dòng)強(qiáng)制執(zhí)行這些規(guī)則。 為了實(shí)現(xiàn)負(fù)載平衡六荒,網(wǎng)關(guān)可以包含一組工作節(jié)點(diǎn)护姆,可以在 AWS 上部署為自動(dòng)擴(kuò)展組,也可以在 Kubernetes 集群上作為副本集運(yùn)行掏击。

Hashicorp 邊界 是基礎(chǔ)設(shè)施網(wǎng)關(guān)的示例卵皂。這是一個(gè)開源項(xiàng)目,使開發(fā)人員砚亭、DevOps 和 SRE 可以使用細(xì)粒度的授權(quán)來安全地訪問基礎(chǔ)設(shè)施服務(wù)(SSH 服務(wù)器灯变、Kubernetes 群集),而無需直接訪問網(wǎng)絡(luò)捅膘,同時(shí)又禁止使用 VPN 或堡壘主機(jī)添祸。

基礎(chǔ)設(shè)施網(wǎng)關(guān)支持 SSH 服務(wù)器和 Kubernetes 客戶端使用的各種連接協(xié)議,并提供以下關(guān)鍵功能:

會(huì)話記錄

這涉及復(fù)制用戶在會(huì)話期間執(zhí)行的每個(gè)命令寻仗。捕獲的命令通常會(huì)附加其他信息刃泌,例如用戶的身份、他們所屬的各種身份提供者組署尤、當(dāng)天的時(shí)間耙替、命令的持續(xù)時(shí)間以及響應(yīng)的特征(是否成功、是否有錯(cuò)誤曹体、是否已讀取或?qū)懭霐?shù)據(jù)等)林艘。

活動(dòng)監(jiān)控

監(jiān)控使會(huì)話記錄的概念更進(jìn)一步。除了捕獲所有命令和響應(yīng)混坞,基礎(chǔ)設(shè)施網(wǎng)關(guān)還將安全策略應(yīng)用于用戶的活動(dòng)。在發(fā)生違規(guī)的情況下钢坦,它可以選擇觸發(fā)警報(bào)究孕、阻止有問題的命令及其響應(yīng)或完全終止用戶的會(huì)話。

數(shù)據(jù)網(wǎng)關(guān)

數(shù)據(jù)網(wǎng)關(guān)管理和監(jiān)控對(duì)數(shù)據(jù)服務(wù)的訪問爹凹,例如 MySQL厨诸、PostgreSQL 和 MongoDB 等托管數(shù)據(jù)庫、AWS RDS 等 DBaaS 端點(diǎn)禾酱、Snowflake 和 Bigquery 等數(shù)據(jù)倉庫微酬、AWS S3 等云存儲(chǔ)以及 Kafka 和 Kinesis绘趋。它與策略引擎連接,以確定細(xì)化的授權(quán)規(guī)則颗管,并在用戶會(huì)話期間對(duì)所有數(shù)據(jù)活動(dòng)強(qiáng)制執(zhí)行這些規(guī)則陷遮。

與基礎(chǔ)設(shè)施網(wǎng)關(guān)類似,數(shù)據(jù)網(wǎng)關(guān)可以包含一組工作節(jié)點(diǎn)垦江,可以在 AWS 上部署為自動(dòng)擴(kuò)展組帽馋,也可以在 Kubernetes 集群上作為副本集運(yùn)行。

由于與基礎(chǔ)設(shè)施服務(wù)相比比吭,數(shù)據(jù)服務(wù)的種類更多绽族,因此數(shù)據(jù)網(wǎng)關(guān)通常將支持大量的連接協(xié)議和語法。

此類數(shù)據(jù)網(wǎng)關(guān)的示例是 Cyral衩藤,這是一種輕量級(jí)的攔截服務(wù)吧慢,以邊車(sidecar)的方式部署來監(jiān)控和管理對(duì)現(xiàn)代數(shù)據(jù)終端節(jié)點(diǎn)的訪問,如 AWS RDS赏表、Snowflake检诗、Bigquery,底哗、AWS S3岁诉、Apache Kafka 等。其功能包括:

會(huì)話記錄

這類似于記錄基礎(chǔ)設(shè)施活動(dòng)跋选,并且涉及用戶在會(huì)話期間執(zhí)行的每個(gè)命令的副本涕癣,并使用豐富的審計(jì)信息進(jìn)行注釋。

活動(dòng)監(jiān)控

同樣前标,這類似于監(jiān)視基礎(chǔ)設(shè)施活動(dòng)坠韩。例如,以下策略阻止數(shù)據(jù)分析人員讀取敏感的客戶 PII炼列。

隱私權(quán)執(zhí)行

與基礎(chǔ)設(shè)施服務(wù)不同只搁,數(shù)據(jù)服務(wù)授予用戶對(duì)通常位于數(shù)據(jù)庫、數(shù)據(jù)倉庫俭尖、云存儲(chǔ)和消息管道中的與客戶氢惋、合作伙伴和競爭對(duì)手有關(guān)的敏感數(shù)據(jù)的讀寫訪問權(quán)限。 出于隱私原因稽犁,對(duì)數(shù)據(jù)網(wǎng)關(guān)的一個(gè)非常普遍的要求是能夠清理(也稱為令牌化或屏蔽)PII焰望,例如電子郵件、姓名已亥、社會(huì)保險(xiǎn)號(hào)熊赖、信用卡號(hào)和地址。

那么這種體系結(jié)構(gòu)如何簡化訪問管理虑椎?

讓我們看一些常見的訪問管理方案震鹉,以了解與使用 VPN 和堡壘主機(jī)相比俱笛,接入網(wǎng)關(guān)架構(gòu)如何提供細(xì)粒度的控制。

特權(quán)活動(dòng)監(jiān)控(PAM)

這是一個(gè)簡單的策略传趾,可以在一個(gè)地方監(jiān)視所有基礎(chǔ)設(shè)施和數(shù)據(jù)服務(wù)中的特權(quán)活動(dòng):

  • 僅允許屬于 Admins 和 SRE 組的個(gè)人在 SSH 服務(wù)器迎膜、Kubernetes 集群和數(shù)據(jù)庫上運(yùn)行特權(quán)命令。
  • 雖然可以運(yùn)行特權(quán)命令墨缘,但是有一些例外形式的限制星虹。具體來說,以下命令是不允許的:
    • “sudo” 和 “yum” 命令可能無法在任何 SSH 服務(wù)器上運(yùn)行
    • “kubectl delete” 和 “kubectl taint” 命令可能無法在任何 Kubernetes 集群上運(yùn)行
    • “drop table” 和 “create user” 命令可能無法在任何數(shù)據(jù)庫上運(yùn)行

零特權(quán)(ZSP)執(zhí)行

The next policy shows an example of enforcing zero standing privileges -- a paradigm where no one has access to an infrastructure or data service by default. Access may be obtained only upon satisfying one or more qualifying criteria:

  • Only individuals belonging to the Support group are allowed access
  • An individual must be on-call to gain access. On call status may be determined by checking their schedule in an incident response service such as PagerDuty
  • A multi-factor authentication (MFA) check is triggered upon successful authentication
  • They must use TLS to connect to the infrastructure or data service
  • Lastly, if a data service is being accessed, full table scans (e.g. SQL requests lacking a WHERE or a LIMIT clause that end up reading an entire dataset) are disallowed.

下一個(gè)策略顯示了一個(gè)實(shí)施零特權(quán)的示例 -- 一種默認(rèn)情況下沒有人可以訪問基礎(chǔ)設(shè)施或數(shù)據(jù)服務(wù)的范例镊讼。只有滿足一個(gè)或多個(gè)合格標(biāo)準(zhǔn)宽涌,才能獲得訪問權(quán)限:

  • 只允許屬于支持組的個(gè)人訪問
  • 個(gè)人必須 on-call 才能獲得訪問權(quán)限〉澹可以通過檢查事件響應(yīng)服務(wù)(例如 PagerDuty)中的時(shí)間表來確定通話狀態(tài)
  • 成功通過身份驗(yàn)證后會(huì)觸發(fā)多因子身份驗(yàn)證(MFA)檢查
  • 他們必須使用 TLS 連接到基礎(chǔ)設(shè)施或數(shù)據(jù)服務(wù)
  • 最后卸亮,如果正在訪問數(shù)據(jù)服務(wù),則不允許進(jìn)行全表掃描(例如玩裙,缺少 WHERE 或 LIMIT 子句的 SQL 請(qǐng)求最終將讀取整個(gè)數(shù)據(jù)集)兼贸。

隱私和數(shù)據(jù)保護(hù)

The last policy shows an example of data governance involving data scrubbing:

  • If anyone from Marketing is accessing PII (social security number (SSN), credit card number (CCN), age), scrub the data before returning
  • If anyone is accessing PII using the Looker or Tableau services, also scrub the data
  • Scrubbing rules are defined by the specific type of the PII
    • For SSNs, scrub the first 5 digits
    • For CCNs, scrub the last 4 digits
    • For ages, scrub the last digit i.e., the requestor will know the age brackets but never the actual ages

最后一條策略顯示了涉及數(shù)據(jù)清理的數(shù)據(jù)治理示例:

  • 如果市場(chǎng)營銷人員正在訪問 PII(社會(huì)保險(xiǎn)號(hào)(SSN)、信用卡號(hào)(CCN)吃溅、年齡)溶诞,先清洗數(shù)據(jù)然后再返回
  • 如果有人正在使用 Looker 或 Tableau 服務(wù)訪問 PII,同時(shí)清洗數(shù)據(jù)
  • 清理規(guī)則由 PII 的特定類型定義
    • 對(duì)于 SSN决侈,清洗前 5 位數(shù)字
    • 對(duì)于 CCN螺垢,清洗最后 4 位數(shù)字
    • 對(duì)于年齡,請(qǐng)清洗最后一位數(shù)字赖歌,即請(qǐng)求者將知道年齡段枉圃,但從不知道實(shí)際年齡

概括

我們看到,對(duì)于高度動(dòng)態(tài)的云環(huán)境庐冯,VPN 和堡壘主機(jī)不足以作為高效云環(huán)境中的有效訪問管理機(jī)制孽亲。一種新的訪問管理體系結(jié)構(gòu),其重點(diǎn)是不可否認(rèn)的用戶身份展父,短暫的證書或令牌以及集中的細(xì)粒度授權(quán)引擎返劲,可有效解決 VPN 和堡壘主機(jī)無法解決的難題。除了為訪問關(guān)鍵基礎(chǔ)設(shè)施和數(shù)據(jù)服務(wù)的用戶提供全面的安全性之外栖茉,該體系結(jié)構(gòu)還可以幫助組織實(shí)現(xiàn)其審核篮绿、合規(guī)性、隱私和保護(hù)目標(biāo)衡载。

我們還討論了該架構(gòu)的參考實(shí)現(xiàn),其中使用了以開發(fā)人員為中心的著名開源解決方案隙袁,例如 Hashicorp Boundary 和 OPA 以及 Cyral(一種用于現(xiàn)代數(shù)據(jù)服務(wù)的快速且無狀態(tài)的輔助工具)痰娱。 他們一起可以在云上提供細(xì)粒度且易于使用的訪問管理解決方案弃榨。

關(guān)于作者

Manav Mital 是 Cyral 的聯(lián)合創(chuàng)始人兼首席執(zhí)行官,Cyral 是首個(gè)為數(shù)據(jù)云提供可見性梨睁、訪問控制和保護(hù)的云原生安全服務(wù)鲸睛。Cyral 成立于 2018 年,與各種組織合作 - 從云原生初創(chuàng)企業(yè)到財(cái)富 500 強(qiáng)企業(yè)坡贺,因?yàn)樗鼈儾捎?DevOps 文化和云技術(shù)來管理和分析數(shù)據(jù)官辈。 Manav 擁有 UCLA 的計(jì)算機(jī)科學(xué)碩士學(xué)位和坎普爾的印度理工學(xué)院的計(jì)算機(jī)科學(xué)學(xué)士學(xué)位。

關(guān)于譯者

Addo Zhang 云原生從業(yè)人員遍坟,愛好各種代碼拳亿。更多翻譯:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市愿伴,隨后出現(xiàn)的幾起案子肺魁,更是在濱河造成了極大的恐慌,老刑警劉巖隔节,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鹅经,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡怎诫,警方通過查閱死者的電腦和手機(jī)瘾晃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來幻妓,“玉大人蹦误,你說我怎么就攤上這事∮空埽” “怎么了胖缤?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長阀圾。 經(jīng)常有香客問我哪廓,道長,這世上最難降的妖魔是什么初烘? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任涡真,我火速辦了婚禮,結(jié)果婚禮上肾筐,老公的妹妹穿的比我還像新娘哆料。我一直安慰自己,他們只是感情好吗铐,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布东亦。 她就那樣靜靜地躺著,像睡著了一般唬渗。 火紅的嫁衣襯著肌膚如雪典阵。 梳的紋絲不亂的頭發(fā)上奋渔,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音壮啊,去河邊找鬼嫉鲸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛歹啼,可吹牛的內(nèi)容都是我干的玄渗。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼狸眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼藤树!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起份企,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤也榄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后司志,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體甜紫,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年骂远,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了囚霸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡激才,死狀恐怖拓型,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瘸恼,我是刑警寧澤劣挫,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站东帅,受9級(jí)特大地震影響压固,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜靠闭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一帐我、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧愧膀,春花似錦拦键、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春媚朦,著一層夾襖步出監(jiān)牢的瞬間捡絮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來泰國打工莲镣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人涎拉。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓瑞侮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鼓拧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子半火,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 《數(shù)據(jù)安全架構(gòu)設(shè)計(jì)與實(shí)戰(zhàn)》一書融入作者十余年安全架構(gòu)實(shí)踐經(jīng)驗(yàn),系統(tǒng)性地介紹數(shù)據(jù)安全架構(gòu)設(shè)計(jì)與治理實(shí)踐季俩,主要包括:產(chǎn)...
    _U2_閱讀 968評(píng)論 0 1
  • 目錄 ·大型網(wǎng)站軟件系統(tǒng)的特點(diǎn) ·大型網(wǎng)站架構(gòu)演化發(fā)展歷程 ·初始階段的網(wǎng)站架構(gòu) ·需求/解決問題 ·架構(gòu) ·應(yīng)用...
    zhyang0918閱讀 2,673評(píng)論 0 16
  • 表情是什么钮糖,我認(rèn)為表情就是表現(xiàn)出來的情緒。表情可以傳達(dá)很多信息酌住。高興了當(dāng)然就笑了店归,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 125,310評(píng)論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險(xiǎn)厭惡者酪我,不喜歡去冒險(xiǎn)消痛,但是人生放棄了冒險(xiǎn),也就放棄了無數(shù)的可能都哭。 ...
    yichen大刀閱讀 6,057評(píng)論 0 4