Elasticsearch學習筆記(11)

目錄

對Elasticsearch和Active Directory之間的通信進行加密

為了保護發(fā)送給身份驗證的用戶憑據(jù)痊剖,強烈建議對Elasticsearch和Active Directory服務(wù)器之間的通信進行加密。通過SSL/TLS連接可以確保Active Directory服務(wù)器的身份在X-Pack安全傳輸用戶憑據(jù)之前得到驗證,并在傳輸過程中對用戶名和密碼進行加密余掖。

通過SSL/TLS連接到Active Directory服務(wù)器的客戶機和節(jié)點需要將Active Directory服務(wù)器的證書或服務(wù)器的根CA證書安裝在它們的密鑰存儲庫或信任存儲庫中田篇。

1、在elasticsearch.yml文件中為xpack.security.authc.realms命名空間創(chuàng)建域配置兴革。參見 Configuring an Active Directory realm绎晃。

2、在領(lǐng)域配置中設(shè)置url屬性杂曲,以指定LDAPS協(xié)議和安全端口號庶艾。例如,url: ldaps://ad.example.com:636

3擎勘、將每個節(jié)點配置為信任證書頒發(fā)機構(gòu)(CA)簽署的證書落竹,該證書簽署了Active Directory server證書。
下面的示例演示如何信任位于配置目錄中的CA證書(cacer .pem):

xpack:
 security:
  authc:
   realms:
    active_directory:
     type: active_directory
     order: 0
     domain_name: ad.example.com
     url: ldaps://ad.example.com:636
     ssl:
      certificate_authorities: [ "ES_PATH_CONF/cacert.pem" ]

CA證書必須是PEM編碼的證書货抄。
有關(guān)這些設(shè)置的更多信息述召,參見Active Directory realm settings

4、重啟Elasticsearch

注意:默認情況下蟹地,當您使用SSL/TLS配置X-Pack安全性以連接到Active Directory時积暖,X-Pack安全性嘗試使用證書中的值驗證域配置中的url屬性指定的主機名或IP地址。如果證書和域配置中的值不匹配怪与,X-Pack安全性不允許連接到Active Directory服務(wù)器夺刑。這樣做是為了防止中間人的攻擊。如果需要分别,可以通過設(shè)置ssl.verification_mode屬性為certificate禁用此行為遍愿。

對Elasticsearch和LDAP之間的通信進行加密

為了保護發(fā)送到LDAP域中進行身份驗證的用戶憑據(jù),強烈建議加密Elasticsearch和LDAP服務(wù)器之間的通信耘斩。通過SSL/TLS連接可以確保在X-Pack安全傳輸用戶憑證和加密連接內(nèi)容之前驗證LDAP服務(wù)器的身份沼填。通過TLS連接到LDAP服務(wù)器的客戶機和節(jié)點需要將LDAP服務(wù)器的證書或服務(wù)器的根CA證書安裝在它們的密鑰存儲庫或信任存儲庫中。

更多信息括授,參見Configuring an LDAP realm

1坞笙、在每個節(jié)點上配置域的TLS設(shè)置岩饼,以信任由簽署LDAP服務(wù)器證書的CA簽名的證書。下面的示例演示如何信任位于X-Pack配置目錄中CA證書cacert.pem

xpack:
 security:
  authc:
   realms:
    ldap1:
     type: ldap
     order: 0
     url: "ldaps://ldap.example.com:636"
     ssl:
      certificate_authorities: [ "ES_PATH_CONF/cacert.pem" ]

CA證書必須是PEM編碼的薛夜。
*注意:您還可以指定單個服務(wù)器證書籍茧,而不是CA證書,但是只有在您擁有單個LDAP服務(wù)器或證書是自簽名的情況下梯澜,才建議這樣做寞冯。

2、在領(lǐng)域配置中設(shè)置url屬性晚伙,以指定LDAPS協(xié)議和安全端口號吮龄。例如,url: ldaps://ldap.example.com:636

3撬腾、重啟Elasticsearch螟蝙。

注意:默認情況下,當您使用SSL/TLS配置X-Pack安全性以連接到LDAP服務(wù)器時民傻,X-Pack安全性嘗試使用證書中的值驗證域配置中的url屬性指定的主機名或IP地址胰默。如果證書和領(lǐng)域配置中的值不匹配,X-Pack安全性不允許連接到LDAP服務(wù)器漓踢。這樣做是為了防止中間人的攻擊牵署。如果需要,可以通過設(shè)置ssl.verification_mode屬性為certificate禁用此行為喧半。

在一個ELasticsearch Docker容器中加密通信

從版本6.0.0開始奴迅,X-Pack安全性(黃金用戶、白金用戶或企業(yè)訂閱)要求傳輸網(wǎng)絡(luò)層使用SSL/TLS加密挺据。

本節(jié)演示了一個使用Elasticsearch Docker映像為HTTPS和傳輸啟動SSL/TLS的簡單方法取具。該示例使用Docker組合來管理容器。

更多細節(jié)扁耐,請參考Encrypting Communicationsavailable subscriptions

準備環(huán)境

Install Elasticsearch with Docker

在一個新的空目錄中暇检,創(chuàng)建以下四個文件:
instances.yml

instances:
 - name: es01
  dns:
   - es01 #1
   - localhost
  ip:
   - 127.0.0.1
 - name: es02
  dns:
   - es01
   - localhost
  ip:
   - 127.0.0.1

#1:允許使用嵌入式Docker DNS服務(wù)器名稱

.env

CERTS_DIR=/usr/share/elasticsearch/config/certificates #1
ELASTIC_PASSWORD=PleaseChangeMe #2

#1:Docker映像中的路徑,希望在其中找到證書婉称。
#2elastic用戶的初始密碼块仆。

create-certs.yml

version: '2.2'
services:
 create_certs:
  container_name: create_certs
  image: docker.elastic.co/elasticsearch/elasticsearch:6.5.3
  command: >
   bash -c '
    if [[ ! -d config/certificates/certs ]]; then
     mkdir config/certificates/certs;
    fi;
    if [[ ! -f /local/certs/bundle.zip ]]; then
     bin/elasticsearch-certgen --silent --in config/certificates/instances.yml --out config/certificates/certs/bundle.zip;
     unzip config/certificates/certs/bundle.zip -d config/certificates/certs;  #1
    fi;
     chgrp -R 0 config/certificates/certs
   '
  user: ${UID:-1000}
  working_dir: /usr/share/elasticsearch
  volumes: ['.:/usr/share/elasticsearch/config/certificates']

#1:新的節(jié)點證書和CA證書+密鑰放在本地目錄certs下。

docker-compose.yml

version: '2.2'

services:
  es01:
    container_name: es01
    image: docker.elastic.co/elasticsearch/elasticsearch:6.5.3
    environment:
      - node.name=es01
      - discovery.zen.minimum_master_nodes=2
      - ELASTIC_PASSWORD=$ELASTIC_PASSWORD    `#1`
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - xpack.license.self_generated.type=trial     `#2`
      - xpack.security.enabled=true
      - xpack.security.http.ssl.enabled=true
      - xpack.security.transport.ssl.enabled=true
      - xpack.security.transport.ssl.verification_mode=certificate     `#3`
      - xpack.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
      - xpack.ssl.certificate=$CERTS_DIR/es01/es01.crt
      - xpack.ssl.key=$CERTS_DIR/es01/es01.key
    volumes: ['esdata_01:/usr/share/elasticsearch/data', './certs:$CERTS_DIR']
    ports:
      - 9200:9200
    healthcheck:
      test: curl --cacert $CERTS_DIR/ca/ca.crt -s https://localhost:9200 >/dev/null; if [[ $$? == 52 ]]; then echo 0; else echo 1; fi
      interval: 30s
      timeout: 10s
      retries: 5
  es02:
    container_name: es02
    image: docker.elastic.co/elasticsearch/elasticsearch:6.5.3
    environment:
      - node.name=es02
      - discovery.zen.minimum_master_nodes=2
      - ELASTIC_PASSWORD=$ELASTIC_PASSWORD
      - discovery.zen.ping.unicast.hosts=es01
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - xpack.license.self_generated.type=trial
      - xpack.security.enabled=true
      - xpack.security.http.ssl.enabled=true
      - xpack.security.transport.ssl.enabled=true
      - xpack.security.transport.ssl.verification_mode=certificate
      - xpack.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
      - xpack.ssl.certificate=$CERTS_DIR/es02/es02.crt
      - xpack.ssl.key=$CERTS_DIR/es02/es02.key
    volumes: ['esdata_02:/usr/share/elasticsearch/data', './certs:$CERTS_DIR']
  wait_until_ready:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.5.3
    command: /usr/bin/true
    depends_on: {"es01": {"condition": "service_healthy"}}
volumes: {"esdata_01": {"driver": "local"}, "esdata_02": {"driver": "local"}}

#1:用.env中的密碼引導elastic王暗。參見 the Elastic Bootstrap Password
#2:自動生成和應(yīng)用試用版訂閱悔据,以啟用X-Pack安全性。
#3:禁用節(jié)點間通信的真實性驗證俗壹。允許創(chuàng)建自簽名證書科汗,而無需固定特定的內(nèi)部IP地址。

運行這個例子

1策肝、生成證書(只需要一次):

docker-compose -f create-certs.yml up

2肛捍、啟動為SSL/TLS配置的兩個Elasticsearch節(jié)點:

docker-compose up -d

3隐绵、通過SSL/TLS使用引導密碼訪問Elasticsearch API:

curl --cacert certs/ca/ca.crt -u elastic:PleaseChangeMe https://localhost:9200

4之众、elasticsearch-setup-passwords工具可以用來為所有用戶生成隨機密碼:
警告:不運行PowerShell的Windows用戶需要刪除下面代碼片段中的\和連接線拙毫。

docker exec es01 /bin/bash -c "bin/elasticsearch-setup-passwords
auto --batch
-Expack.ssl.certificate=certificates/es01/es01.crt
-Expack.ssl.certificate_authorities=certificates/ca/ca.crt
-Expack.ssl.key=certificates/es01/es01.key
--url https://localhost:9200"

為更強的加密啟用密碼套件

TLS和SSL協(xié)議使用一個密碼套件來確定用于保護數(shù)據(jù)的加密強度。您可能希望在使用Oracle JVM時增強加密的強度棺禾;IcedTea OpenJDK沒有這些限制缀蹄。成功使用加密通信此步驟不是必須的。

Java加密擴展(JCE)無限制強度管轄策略文件允許在需要添加到Java安裝中的單獨JAR文件中為Java使用額外的密碼套件膘婶。您可以從Oracle的下載頁面下載這個JAR文件缺前。密鑰長度大于128位的加密需要JCE無限強度管轄策略文件,如256位AES加密悬襟。

安裝之后衅码,JCE中的所有密碼套件都可以使用,但是需要配置才能使用它們脊岳。要啟用具有X-Pack安全性的更強的密碼套件逝段,請配置cipher_suites參數(shù)。具體參數(shù)信息割捅,參見 Default TLS/SSL settingsedit奶躯。

注意:必須在集群中的所有節(jié)點上安裝JCE Unlimited Strength管轄策略文件,以提高加密強度亿驾。

分離節(jié)點到節(jié)點和客戶端流量編輯

Elasticsearch具有所謂TCP傳輸配置文件的特性嘹黔,允許它綁定到多個端口和地址。X-Pack安全性擴展了這個功能莫瞬,通過支持節(jié)點到節(jié)點的傳輸流與客戶機傳輸流的分離儡蔓,增強集群的安全性。如果客戶機傳輸流量不受信任疼邀,并且可能是惡意的喂江,那么這一點非常重要。要將節(jié)點到節(jié)點的流量與客戶端流量分離檩小,請將以下內(nèi)容添加到elasticsearch.yml

transport.profiles.client: #1
 port: 9500-9600 #2
 xpack.security:
  type:client #3

#1client是這個示例概要文件的名字
#2:端口范圍將用于傳輸客戶機與此集群的通信
#3:將概要文件分類為client开呐。通過拒絕來自該概要文件的內(nèi)部集群操作(例如,碎片級動作和ping請求)的請求嘗試规求,這可以解釋額外的安全篩選筐付。

如果您的環(huán)境支持,可以通過向elasticsearch.yml中添加以下內(nèi)容阻肿,將內(nèi)部網(wǎng)絡(luò)用于節(jié)點到節(jié)點的流量瓦戚,并將公共網(wǎng)絡(luò)用于客戶端流量:

transport.profiles.default.bind_host: 10.0.0.1 #1
transport.profiles.client.bind_host: 1.1.1.1 #2

#1:用于節(jié)點到節(jié)點通信的網(wǎng)絡(luò)的綁定地址
#2:用于客戶端通信的網(wǎng)絡(luò)的綁定地址

如果沒有獨立的網(wǎng)絡(luò),則可以啟用IP過濾來限制對概要文件的訪問丛塌。

當使用SSL進行傳輸時较解,還可以通過向elasticsearch.yml中添加以下內(nèi)容來為客戶機通信使用另一組證書:

transport.profiles.client.xpack.security.ssl.truststore:
  path: /path/to/another/truststore #1
  password: x-pack-test-password #2

transport.profiles.client.xpack.security.ssl.keystore:
  path: /path/to/another/keystore #3
  password: x-pack-test-password #4

#1:另一個信任存儲庫的路徑
#2:其對應(yīng)的密碼
#3:另一個秘鑰存儲庫路徑
#4:其對應(yīng)的密碼

要更改傳輸客戶機需要證書的默認行為畜疾,請在elasticsearch.yml文件中設(shè)置以下值:

transport.profiles.client.xpack.security.ssl.client_authentication: none

此設(shè)置使證書身份驗證對于節(jié)點到節(jié)點的通信保持活動狀態(tài),但是取消了向傳輸客戶機分發(fā)簽名證書的要求印衔。更多信息啡捶,參見Configuring the Transport Client to work with a Secured Cluster

配置Active Directory域

您可以配置X-Pack安全性來與Active Directory通信以驗證用戶奸焙。要與Active Directory集成瞎暑,需要配置active_directory領(lǐng)域,并將Active Directory用戶和組映射到角色映射文件中的X-Pack安全角色与帆。

有關(guān)Active Directory領(lǐng)域的更多信息了赌,參見 Active Directory User Authentication

1.在elasticsearch.yml文件中在xpack.security.authc.realms命名空間下玄糟,增加active_directory類型的域配置勿她。在最低限度上, 你必須設(shè)置域的typeactive_directory并且指定Active Directory的domain_name阵翎。如果你正在配置多個域逢并,您還應(yīng)該顯式地設(shè)置order屬性,以控制在身份驗證期間查詢領(lǐng)域的順序贮喧。

參考 Active Directory realm settings查看你可以為active_directory域設(shè)置的所有選項筒狠。

注意: 如果域名沒有映射到DNS中,則綁定到Active Directory失敗箱沦。如果Windows DNS服務(wù)器不提供DNS辩恼,請在本地/etc/hosts文件中添加該域的映射。

例如谓形,以下領(lǐng)域配置配置X-Pack security連接ldaps://example.com:636灶伊,通過Active Directory對用戶進行身份驗證:

xpack:
 security:
  authc:
   realms:
    active_directory:
     type: active_directory
     order: 0 #1
     domain_name: ad.example.com
     url: ldaps://ad.example.com #2

#1:領(lǐng)域順序控制在對用戶進行身份驗證時檢查配置的領(lǐng)域的順序。
#2:如果不指定URL寒跳,默認為ladp:<domain_name>:389.

重要當您在elasticsearch.yml中配置領(lǐng)域時聘萨,只有您指定的領(lǐng)域用于身份驗證。如果您還想使用本機或文件領(lǐng)域童太,則必須在領(lǐng)域鏈中包含它們米辐。

2、如果在一個林中跨多個域?qū)τ脩暨M行身份驗證书释,則需要額外的步驟翘贮。在配置和用戶身份驗證方式方面有一些細微的差異。

將設(shè)置domain_name設(shè)置項為森林根域名爆惧。

您還必須設(shè)置url設(shè)置狸页,因為您必須根據(jù)全局編錄進行身份驗證,全局編錄使用不同的端口扯再,可能不會在每個域控制器上運行芍耘。

例如址遇,以下領(lǐng)域配置配置X-Pack安全性,以連接到全局編錄端口上的特定域控制器斋竞,域名設(shè)置為forest根:

xpack:
 security:
  authc:
   realms:
    active_directory:
     type: active_directory
     order: 0
     domain_name: example.com #1
     url: ladps://dc1.ad.example.com:3269, ldaps://dc2.ad.example.com:3269 #2
     load_balance:
      type: "round_robin" #3

#1:domain_name設(shè)置為林中根域的名稱倔约。
#2:本例中使用的url值包含兩個不同域控制器的url,這兩個域控制器也是全局編錄服務(wù)器窃页。端口3268是與全局編錄進行未加密通信的默認端口;端口3269是SSL連接的默認端口跺株。正在連接的服務(wù)器可以位于林中的任何域复濒,只要它們也是全局編錄服務(wù)器脖卖。
#3:在選擇要連接的服務(wù)器時,提供了負載平衡設(shè)置來指示所需的行為巧颈。

在此配置中畦木,用戶需要使用完整用戶主體名稱(UPN)或低級登錄名稱。UPN通常是用戶名與@<DOMAIN_NAME>的連接例如johndoe@ad.example.com砸泛。下一級登錄名是NetBIOS域名十籍,后面是一個**和用戶名,如AD\johndoe唇礁。使用低級登錄名需要連接到常規(guī)LDAP端口(389或636)勾栗,以便查詢配置容器以從NetBIOS名稱檢索域名。

3盏筐、(可選的)配置X-Pack安全性應(yīng)該如何與多個Active Directory服務(wù)器交互围俘。

load_balance.type設(shè)置可以在領(lǐng)域級別使用。支持兩種操作模式:故障轉(zhuǎn)移和負載平衡琢融。參見:Active Directory realm settings

4界牡、(可選的)保護密碼,參見encrypt communications between Elasticsearch and the Active Directory server

5漾抬、重啟Elasticsearch

6宿亡、配置綁定用戶。
Active Directory領(lǐng)域使用LDAP綁定請求對用戶進行身份驗證纳令。默認情況下挽荠,所有LDAP操作都由X-Pack安全性正在驗證的用戶運行。在某些情況下平绩,普通用戶可能無法訪問Active Directory中的所有必需項圈匆,需要綁定用戶。綁定用戶可以配置馒过,并用于執(zhí)行LDAP綁定請求之外的所有操作臭脓,LDAP綁定請求是對用戶提供的憑據(jù)進行身份驗證所必需的。

綁定用戶的使用使run as特性能夠與Active Directory領(lǐng)域一起使用腹忽,并能夠維護到Active Directory的一組池連接来累。這些池連接減少了每次用戶身份驗證必須創(chuàng)建和銷毀的資源數(shù)量砚作。

下面的示例通過bind_dnsecure_bind_password設(shè)置的用戶顯示綁定用戶的配置:

xpack:
 security:
  authc:
   realms:
    active_directory:
     type: active_directory
     order: 0
     domain_name: ad.example.com
     url: ldaps://ad.example.com:63
     bind_dn: es_svc_user@ad.example.com  #1

#1:這是執(zhí)行所有Active Directory搜索請求的用戶。在沒有配置綁定用戶的情況下嘹锁,所有請求都作為使用Elasticsearch進行身份驗證的用戶運行葫录。

bind_dn用戶的密碼應(yīng)該通過向Elasticsearch密鑰存儲區(qū)添加適當?shù)?em>secure_bind_password設(shè)置來配置。下面的命令為上面的示例域添加密碼:

bin/elasticsearch-keystore add
xpack.security.authc.realms.active_directory.secure_bind_password

在配置綁定用戶時领猾,默認情況下啟用連接池米同。可以使用user_search.pool.enabled設(shè)置禁用連接池摔竿。

7面粮、將Active Directory用戶和組映射到角色。
領(lǐng)域身份驗證過程的一個重要部分是解析與經(jīng)過身份驗證的用戶關(guān)聯(lián)的角色继低。角色定義用戶在集群中的特權(quán)熬苍。

因為使用active_directory領(lǐng)域,用戶在Active Directory服務(wù)器中進行外部管理袁翁,所以期望他們的角色也在那里進行管理柴底。事實上,Active Directory支持組的概念粱胜,組通常表示組織中不同系統(tǒng)的用戶角色柄驻。

active_directory域允許您通過Active Directory組或其他元數(shù)據(jù)將Active Directory用戶映射到角色”貉梗可以通過角色映射api或使用存儲在每個節(jié)點上的文件配置此角色映射鸿脓。當用戶根據(jù)Active Directory域進行身份驗證時,該用戶的特權(quán)是由用戶映射到的角色定義的所有特權(quán)的聯(lián)合冗恨。

在映射定義中答憔,可以使用組的專有名稱指定組。例如掀抹,下面的映射配置將Active Directory admins組映射到監(jiān)視和用戶角色虐拓,將用戶組映射到用戶角色,并將John Doe用戶映射到用戶角色傲武。

通過角色映射API配置:

curl -X PUT "localhost:9200/_xpack/security/role_mapping/admins" -H 'Content-Type: application/json' -d'
 {
  "roles" : [ "monitoring" , "user" ],
  "rules" : { "field" : {
   "groups" : "cn=admins,dc=example,dc=com"   #1
  } },
  "enabled": true
}
'

#1:管理員組的活動目錄專有名稱(DN)蓉驹。

curl -X PUT "localhost:9200/_xpack/security/role_mapping/basic_users" -H 'Content-Type: application/json' -d'
{
 "roles" : [ "user" ],
 "rules" : { "any": [
  { "field" : {
   "groups" : "cn=users,dc=example,dc=com"   #1
  } },
  { "field" : {
   "dn" : "cn=John Doe,cn=contractors,dc=example,dc=com" #2
  } }
 ] },
 "enabled": true
}
'

#1:用戶組的活動目錄專有名稱(DN)。
#2:用戶John Doe的活動目錄專有名稱(DN)揪利。

或者态兴,也可以通過角色映射文件配置:

monitoring: #1
 - "cn=admins,dc=example,dc=com" #2
user:
 - "cn=users,dc=example,dc=com" #3
 - "cn=admins,dc=example,dc=com"
 - "cn=John Doe,cn=contractors,dc=example,dc=com" #4

#1:角色的名稱。
#2:管理員組的活動目錄專有名稱(DN)疟位。
#3:用戶組的活動目錄專有名稱(DN)瞻润。
#4:用戶John Doe的活動目錄專有名稱(DN)。

更多信息,參見Mapping users and groups to roles绍撞。

8正勒、(可選)在Active Directory域中配置metadata設(shè)置,以便在用戶的元數(shù)據(jù)中包含額外的屬性傻铣。

默認情況下章贞,ldap_dnldap_groups填充在用戶的元數(shù)據(jù)中。更多信息非洲,參見 User Metadata in Active Directory Realms鸭限。

下一章 —— Elasticsearch學習筆記(12)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市两踏,隨后出現(xiàn)的幾起案子败京,更是在濱河造成了極大的恐慌,老刑警劉巖缆瓣,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喧枷,死亡現(xiàn)場離奇詭異,居然都是意外死亡弓坞,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門车荔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來渡冻,“玉大人,你說我怎么就攤上這事忧便∽逦牵” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵珠增,是天一觀的道長超歌。 經(jīng)常有香客問我,道長蒂教,這世上最難降的妖魔是什么巍举? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮凝垛,結(jié)果婚禮上懊悯,老公的妹妹穿的比我還像新娘。我一直安慰自己梦皮,他們只是感情好炭分,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著剑肯,像睡著了一般捧毛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天呀忧,我揣著相機與錄音型将,去河邊找鬼。 笑死荐虐,一個胖子當著我的面吹牛七兜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播福扬,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼腕铸,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了铛碑?” 一聲冷哼從身側(cè)響起狠裹,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎汽烦,沒想到半個月后涛菠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡撇吞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年俗冻,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牍颈。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡迄薄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出煮岁,到底是詐尸還是另有隱情讥蔽,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布画机,位于F島的核電站冶伞,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏步氏。R本人自食惡果不足惜响禽,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望戳护。 院中可真熱鬧金抡,春花似錦、人聲如沸腌且。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铺董。三九已至巫击,卻和暖如春禀晓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背坝锰。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工粹懒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人顷级。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓凫乖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親弓颈。 傳聞我的和親對象是個殘疾皇子帽芽,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

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