精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Kubernetes 集群安全機制詳解

云計算
本文主要介紹 Kubernetes 的安全機制,如何使用一系列概念、技術(shù)點、機制確保集群的訪問是安全的,涉及到的關(guān)鍵詞有:api-server,認證,授權(quán),準入控制,RBAC,Service Account,客戶端證書認證,Kubernetes 用戶,Token 認證等等。

[[320833]]

 本文主要介紹 Kubernetes 的安全機制,如何使用一系列概念、技術(shù)點、機制確保集群的訪問是安全的,涉及到的關(guān)鍵詞有:api-server,認證,授權(quán),準入控制,RBAC,Service Account,客戶端證書認證,Kubernetes 用戶,Token 認證等等。雖然涉及到的技術(shù)點比較瑣碎,比較多,但是了解整個機制后就很容易將其串起來,從而能很好地理解 Kubernetes 集群安全機制。

Kubernetes api-server 安全訪問機制

kube-apiserver 是 Kubernetes 整個集群的入口,是一個 REST API 服務(wù),提供的 API 實現(xiàn)了 Kubernetes 各類資源對象(如 Pod,RC,Service 等)的增、刪、改、查,API Server 也是集群內(nèi)各個功能模塊之間交互和通信的樞紐,是整個集群的總線和數(shù)據(jù)中心。

 

Kubernetes 集群安全機制詳解

 

由此可見 API Server 的重要性了,我們用 kubectl、各種語言提供的客戶端庫或者發(fā)送 REST 請求和集群交互,其實底層都是以 HTTP REST 請求的方式同 API Server 交互,那么訪問的安全機制是如何保證的呢,總不能隨便來一個請求都能接受并響應(yīng)吧。API Server 為此提供了一套特有的、靈活的安全機制,每個請求到達 API Server 后都會經(jīng)過:認證(Authentication)–>授權(quán)(Authorization)–>準入控制(Admission Control)三道安全關(guān)卡,通過這三道安全關(guān)卡的請求才給予響應(yīng):

 

Kubernetes 集群安全機制詳解

 

認證(Authentication)

認證階段的工作是識別用戶身份,支持的認證方式有很多,比如:HTTP Base,HTTP token,TLS,Service Account,OpenID Connect 等,API Server 啟動時可以同時指定多種認證方式,會逐個使用這些方法對客戶請求認證,只要通過任意一種認證方式,API Server 就會認為 Authentication 成功。高版本的 Kubernetes 默認認證方式是 TLS。在 TLS 認證方案中,每個用戶都擁有自己的 X.509 客戶端證書,API 服務(wù)器通過配置的證書頒發(fā)機構(gòu)(CA)驗證客戶端證書。

授權(quán)(Authorization)

授權(quán)階段判斷請求是否有相應(yīng)的權(quán)限,授權(quán)方式有多種:AlwaysDeny,AlwaysAllow,ABAC,RBAC,Node 等。API Server 啟動時如果多種授權(quán)模式同時被啟用,Kubernetes 將檢查所有模塊,如果其中一種通過授權(quán),則請求授權(quán)通過。 如果所有的模塊全部拒絕,則請求被拒絕(HTTP狀態(tài)碼403)。高版本 Kubernetes 默認開啟的授權(quán)方式是 RBAC 和 Node。

準入控制(Admission Control)

準入控制判斷操作是否符合集群要求,準入控制配備有一個“準入控制器”的列表,發(fā)送給 API Server 的每個請求都需要通過每個準入控制器的檢查,檢查不通過,則 API Server 拒絕調(diào)用請求,有點像 Web 編程的攔截器的意思。具體細節(jié)在這里不進行展開了,如想進一步了解見這里: Using Admission Controllers 。

Kubernetes 認證方式之客戶端證書(TLS)

通過上一節(jié)介紹我們知道 Kubernetes 認證方式有多種,這里我們簡單介紹下客戶端證書(TLS)認證方式,也叫 HTTPS 雙向認證。一般我們訪問一個 https 網(wǎng)站,認證是單向的,只有客戶端會驗證服務(wù)端的身份,服務(wù)端不會管客戶端身份如何。我們來大概看下 HTTPS 握手過程(單向認證):

  1. 客戶端發(fā)送 Client Hello 消息給服務(wù)端;
  2. 服務(wù)端回復(fù) Server Hello 消息和自身證書給客戶端;
  3. 客戶端檢查服務(wù)端證書的合法性,證書檢查通過后根據(jù)雙方發(fā)送的消息生成 Premaster Key,然后用服務(wù)端的證書里面的公鑰加密 Premaster Key 并發(fā)送給服務(wù)端 ;
  4. 服務(wù)端通過自己的私鑰解密得到 Premaster Key,然后通過雙方協(xié)商的算法和交換的消息生成 Session Key(后續(xù)雙方數(shù)據(jù)加密用的對稱密鑰,客戶端也能通過同樣的方法生成同樣的 Key),然后回復(fù)客戶端一個消息表明握手結(jié)束,后續(xù)發(fā)送的消息會以協(xié)商的對稱密鑰加密。

HTTPS 雙向認證的過程就是在上述第 3 步的時候同時回復(fù)自己的證書給服務(wù)端,然后第 4 步服務(wù)端驗證收到客戶端證書的合法性,從而達到了驗證客戶端的目的。在 Kubernetes 中就是用了這樣的機制,只不過相關(guān)的 CA 證書是自簽名的:

 

Kubernetes 集群安全機制詳解

 

Kubernetes 授權(quán)方式之 RBAC 介紹

基于角色的訪問控制(Role-Based Access Control,即 RBAC),是 Kubernetes 提供的一種授權(quán)策略,也是新版集群默認啟用的方式。RBAC 將角色和角色綁定分開,角色指的是一組定義好的操作集群資源的權(quán)限,而角色綁定是將角色和用戶、組或者服務(wù)賬號實體綁定,從而賦予這些實體權(quán)限。可以看出 RBAC 這種授權(quán)方式很靈活,要賦予某個實體權(quán)限只需要綁定相應(yīng)的角色即可。針對 RBAC 機制,Kubernetes 提供了四種 API 資源:Role、ClusterRole、RoleBinding、ClusterRoleBinding。

 

Kubernetes 集群安全機制詳解

 

Role:只能用于授予對某一單一命名空間中資源的訪問權(quán)限,因此在定義時必須指定 namespace,以下示例描述了 default 命名空間中的一個 Role 對象的定義,用于授予對 Pod 的讀訪問權(quán)限:

  1. kind: Role 
  2.  
  3. apiVersion: rbac.authorization.k8s.io/v1beta1 
  4.  
  5. metadata: 
  6.  
  7. namespace: default 
  8.  
  9. name: pod-reader 
  10.  
  11. rules: 
  12.  
  13. - apiGroups: [""] # 空字符串""表明使用core API group 
  14.  
  15. resources: ["pods"
  16.  
  17. verbs: ["get""watch""list"

ClusterRole:針對集群范圍的角色,能訪問整個集群的資源,下面示例中的 ClusterRole 定義可用于授予用戶對某一特定命名空間,或者所有命名空間中的 secret(取決于其綁定方式)的讀訪問權(quán)限:

  1. kind: ClusterRole 
  2.  
  3. apiVersion: rbac.authorization.k8s.io/v1beta1 
  4.  
  5. metadata: 
  6.  
  7. # 鑒于ClusterRole是集群范圍對象,所以這里不需要定義"namespace"字段 
  8.  
  9. name: secret-reader 
  10.  
  11. rules: 
  12.  
  13. - apiGroups: [""
  14.  
  15. resources: ["secrets"
  16.  
  17. verbs: ["get""watch""list"

RoleBinding:將 Role 和用戶實體綁定,從而賦予用戶實體命名空間內(nèi)的權(quán)限,同時也支持 ClusterRole 和用戶實體的綁定,下面示例中定義的 RoleBinding 對象在 default 命名空間中將 pod-reader 角色授予用戶 jane。 這一授權(quán)將允許用戶 jane 從 default 命名空間中讀取 Pod:

  1. # 以下角色綁定定義將允許用戶"jane""default"命名空間中讀取 Pod。 
  2.  
  3. kind: RoleBinding 
  4.  
  5. apiVersion: rbac.authorization.k8s.io/v1beta1 
  6.  
  7. metadata: 
  8.  
  9. nameread-pods 
  10.  
  11. namespace: default 
  12.  
  13. subjects: 
  14.  
  15. - kind: User 
  16.  
  17. name: jane 
  18.  
  19. apiGroup: rbac.authorization.k8s.io 
  20.  
  21. roleRef: 
  22.  
  23. kind: Role 
  24.  
  25. name: pod-reader 
  26.  
  27. apiGroup: rbac.authorization.k8s.io 

ClusterRoleBinding:將 ClusterRole 和用戶實體綁定,從而賦予用戶實體集群范圍的權(quán)限,下面示例中所定義的 ClusterRoleBinding 允許在用戶組 manager 中的任何用戶都可以讀取集群中任何命名空間中的 secret:

  1. # 以下`ClusterRoleBinding`對象允許在用戶組"manager"中的任何用戶都可以讀取集群中任何命名空間中的secret。 
  2.  
  3. kind: ClusterRoleBinding 
  4.  
  5. apiVersion: rbac.authorization.k8s.io/v1beta1 
  6.  
  7. metadata: 
  8.  
  9. nameread-secrets-global 
  10.  
  11. subjects: 
  12.  
  13. - kind: Group 
  14.  
  15. name: manager 
  16.  
  17. apiGroup: rbac.authorization.k8s.io 
  18.  
  19. roleRef: 
  20.  
  21. kind: ClusterRole 
  22.  
  23. name: secret-reader 
  24.  
  25. apiGroup: rbac.authorization.k8s.io 

關(guān)于 RBAC 更詳細的講解見這里: https://jimmysong.io/kubernete ... .html

Kubernetes 中兩種賬號類型介紹

Kubernetes 中有兩種用戶(User):服務(wù)賬號(ServiceAccount)和普通的用戶(User)。 ServiceAccount 是由 Kubernetes 管理的,而 User 賬號是在外部管理,Kubernetes 不存儲用戶列表,也就是說針對用戶的增、刪、該、查都是在集群外部進行,Kubernetes 本身不提供普通用戶的管理。

兩種賬號的區(qū)別:

  • ServiceAccount 是 Kubernetes 內(nèi)部資源,而普通用戶是存在于 Kubernetes 之外的;
  • ServiceAccount 是屬于某個命名空間的,不是全局的,而普通用戶是全局的,不歸某個 namespace 特有;
  • ServiceAccount 一般用于集群內(nèi)部 Pod 進程使用,和 api-server 交互,而普通用戶一般用于 kubectl 或者 REST 請求使用;

ServiceAccount 的實際應(yīng)用

ServiceAccount 可以用于 Pod 訪問 api-server,其對應(yīng)的 Token 可以用于 kubectl 訪問集群,或者登陸 kubernetes dashboard。

普通用戶的實際應(yīng)用

  • X509 客戶端證書,客戶端證書驗證通過為 API Server 指定 –client-ca-file=xxx 選項啟用,API Server 通過此 ca 文件來驗證 API 請求攜帶的客戶端證書的有效性,一旦驗證成功,API Server 就會將客戶端證書 Subject 里的 CN 屬性作為此次請求的用戶名。關(guān)于客戶端證書方式的用戶后面會有專門的實踐介紹。
  • 靜態(tài)token文件,通過指定 –token-auth-file=SOMEFILE 選項來啟用 bearer token 驗證方式,引用的文件是一個包含了 token,用戶名,用戶 ID 的 csv 文件,請求時,帶上 Authorization: Bearer xxx 頭信息即可通過 bearer token 驗證;
  • 靜態(tài)密碼文件,通過指定 --basic-auth-file=SOMEFILE 選項啟用密碼驗證,引用的文件是一個包含密碼,用戶名,用戶 ID 的 csv 文件,請求時需要將 Authorization 頭設(shè)置為 Basic BASE64ENCODED(USER:PASSWORD);

實踐:基于客戶端證書認證方式新建 Kubeconfig 訪問集群

Kubeconfig 文件詳解

我們知道在安裝完 Kubernetes 集群后會生成 $HOME/.kube/config 文件,這個文件就是 kubectl 命令行工具訪問集群時使用的認證文件,也叫 Kubeconfig 文件。這個 Kubeconfig 文件中有很多重要的信息,文件大概結(jié)構(gòu)是這樣,這里說明下每個字段的含義:

  1. apiVersion: v1 
  2.  
  3. clusters: 
  4.  
  5. - cluster: 
  6.  
  7. certificate-authority-data: ... 
  8.  
  9. server: https://192.168.26.10:6443 
  10.  
  11. name: kubernetes 
  12.  
  13. contexts: 
  14.  
  15. - context: 
  16.  
  17. cluster: kubernetes 
  18.  
  19. user: kubernetes-admin 
  20.  
  21. name: kubernetes-admin@kubernetes 
  22.  
  23. current-context: kubernetes-admin@kubernetes 
  24.  
  25. kind: Config 
  26.  
  27. preferences: {} 
  28.  
  29. users: 
  30.  
  31. name: kubernetes-admin 
  32.  
  33. user
  34.  
  35. client-certificate-data: ... 
  36.  
  37. client-key-data: ... 

可以看出文件分為三大部分:clusters、contexts、users。

clusters 部分

定義集群信息,包括 api-server 地址、certificate-authority-data: 用于服務(wù)端證書認證的自簽名 CA 根證書(master 節(jié)點 /etc/kubernetes/pki/ca.crt 文件內(nèi)容 )。

contexts 部分

集群信息和用戶的綁定,kubectl 通過上下文提供的信息連接集群。

users 部分

多種用戶類型,默認是客戶端證書(x.509 標準的證書)和證書私鑰,也可以是 ServiceAccount Token。這里重點說下前者:

  • client-certificate-data:base64 加密后的客戶端證書;
  • client-key-data:base64 加密后的證書私鑰;

一個請求在通過 api-server 的認證關(guān)卡后,api-server 會從收到客戶端證書中取用戶信息,然后用于后面的授權(quán)關(guān)卡,這里所說的用戶并不是服務(wù)賬號,而是客戶端證書里面的 Subject 信息:O 代表用戶組,CN 代表用戶名。為了證明,可以使用 openssl 手動獲取證書中的這個信息:

首先,將 Kubeconfig 證書的 user 部分 client-certificate-data 字段內(nèi)容進行 base64 解密,保存文件為 client.crt,然后使用 openssl 解析證書信息即可看到 Subject 信息:

  1. openssl x509 -in client.crt -text 

解析集群默認的 Kubeconfig 客戶端證書得到的 Subject 信息是:

  1. Subject: O=system:masters, CN=kubernetes-admin 

可以看出該證書綁定的用戶組是 system:masters,用戶名是 kubernetes-admin,而集群中默認有個 ClusterRoleBinding 叫 cluster-admin,它將名為 cluster-admin 的 ClusterRole 和用戶組 system:masters 進行了綁定,而名為 cluster-admin 的 ClusterRole 有集群范圍的 Superadmin 權(quán)限,這也就理解了為什么默認的 Kubeconfig 能擁有極高的權(quán)限來操作 Kubernetes 集群了。

新建具有只讀權(quán)限的 Kubeconfig 文件

上面我們已經(jīng)解釋了為什么默認的 Kubeconfig 文件具有 Superadmin 權(quán)限,這個權(quán)限比較高,有點類型 Linux 系統(tǒng)的 Root 權(quán)限。有時我們會將集群訪問權(quán)限開放給其他人員,比如供研發(fā)人員查看 Pod 狀態(tài)、日志等信息,這個時候直接用系統(tǒng)默認的 Kubeconfig 就不太合理了,權(quán)限太大,集群的安全性沒有了保障。更合理的做法是給研發(fā)人員一個只讀權(quán)限的賬號,避免對集群進行一些誤操作導(dǎo)致故障。

我們以客戶端證書認證方式創(chuàng)建 Kubeconfig 文件,所以需要向集群自簽名 CA 機構(gòu)(master 節(jié)點)申請證書,然后通過 RBAC 授權(quán)方式給證書用戶授予集群只讀權(quán)限,具體方法如下:

假設(shè)我們設(shè)置證書的用戶名為:developer – 證書申請時 -subj 選項 CN 參數(shù)。

1、創(chuàng)建證書私鑰:

  1. openssl genrsa -out developer.key 2048  

2、用上面私鑰創(chuàng)建一個 csr(證書簽名請求)文件,其中我們需要在 subject 里帶上用戶信息(CN為用戶名,O為用戶組):

  1. openssl req -new -key developer.key -out developer.csr -subj "/CN=developer" 

其中/O參數(shù)可以出現(xiàn)多次,即可以有多個用戶組

3、找到 Kubernetes 集群(API Server)的 CA 根證書文件,其位置取決于安裝集群的方式,通常會在 master 節(jié)點的 /etc/kubernetes/pki/ 路徑下,會有兩個文件,一個是 CA 根證書(ca.crt),一個是 CA 私鑰(ca.key)。

4、通過集群的 CA 根證書和第 2 步創(chuàng)建的 csr 文件,來為用戶頒發(fā)證書:

  1. openssl x509 -req -in developer.csr -CA /etc/kubernetes/pki/ca.crt -CAkey /etc/kubernetes/pki/ca.key -CAcreateserial -out developer.crt -days 365 

至此,客戶端證書頒發(fā)完成,我們后面會用到文件是 developer.key 和 developer.crt

基于 RBAC 授權(quán)方式授予用戶只讀權(quán)限

在 Kubernetes 集群中已經(jīng)有個默認的名為 view 只讀 ClusterRole 了,我們只需要將該 ClusterRole 綁定到 developer 用戶即可:

  1. kubectl create clusterrolebinding kubernetes-viewer --clusterrole=view --user=developer 

基于客戶端證書生成 Kubeconfig 文件

前面已經(jīng)生成了客戶端證書,并給證書里的用戶賦予了集群只讀權(quán)限,接下來基于客戶端證書生成 Kubeconfig 文件:

拷貝一份 $HOME/.kube.config,假設(shè)名為 developer-config,在其基礎(chǔ)上做修改:

1、contexts 部分 user 字段改為 developer,name 字段改為 developer@kubernetes。(這些改動隨意命名,只要前后統(tǒng)一即可);

2、users 部分 name 字段改為 developer,client-certificate-data 字段改為 developer.crt base64 加密后的內(nèi)容,client-key-data 改為 developer.key base64 加密后的內(nèi)容;

注意:證書 base64 加密時指定 –wrap=0 參數(shù)

  • cat developer.crt | base64 –wrap=0
  • cat developer.key | base64 –wrap=0

接下來測試使用新建的 Kubeconfig 文件:

 

  1. [root@master ~]# kubectl –kubeconfig developer-config –context=developer@kubernetes get pod 
  2.  
  3. NAME READY STATUS RESTARTS AGE 
  4.  
  5. nginx-deployment-5754944d6c-dqsdj 1/1 Running 0 5d9h 
  6.  
  7. nginx-deployment-5754944d6c-q675s 1/1 Running 0 5d9h 
  8.  
  9. [root@master ~]# kubectl –kubeconfig developer-config –context=developer@kubernetes delete pod nginx-deployment-5754944d6c-dqsdj 
  10.  
  11. Error from server (Forbidden): pods “nginx-deployment-5754944d6c-dqsdj” is forbidden: User “developer” cannot delete resource “pods” in API group “” in the namespace “default” 

可以看出新建的 Kubeconfig 文件可以使用,寫權(quán)限是被 forbidden 的,說明前面配的 RBAC 權(quán)限機制是起作用的。

實踐:Kubeconfig 或 token 方式登陸 Kubernetes dashboard

我們打開 kubernetes dashboard 訪問地址首先看到的是登陸認證頁面,有兩種登陸認證方式可供選擇:Kubeconfig 和 Token 方式。

 

Kubernetes 集群安全機制詳解

 

其實兩種方式都需要服務(wù)賬號的 Token,對于 Kubeconfig 方式直接使用集群默認的 Kubeconfig: $HOME/.kube/config 文件不能登陸,因為文件中缺少 Token 字段,所以直接選擇本地的 Kubeconfig 文件登陸會報錯。正確的使用方法是獲取某個服務(wù)賬號的 Token,然后將 Token 加入到 $HOME/.kube/config 文件。下面具體實踐下兩種登陸 dashboard 方式:

準備工作

首先,兩種方式都需要服務(wù)賬號,所以我們先創(chuàng)建一個服務(wù)賬號,然后為了測試,給這個服務(wù)賬號一個查看權(quán)限(RBAC 授權(quán)),到時候登陸 dashboard 后只能查看,不能對集群中的資源做修改。

1、創(chuàng)建一個服務(wù)賬號(在 default 命名空間下):

 

  1. kubectl create serviceaccount kube-dashboard-reader 

2、將系統(tǒng)自帶的 ClusterRole:view 角色綁定到上一步創(chuàng)建的服務(wù)賬號,授予集群范圍的資源只讀權(quán)限:

 

  1. kubectl create clusterrolebinding kube-dashboard-reader --clusterrole=view --serviceaccount=default:kube-dashboard-reader 

3、獲取服務(wù)賬號的 token:

 

  1. kubectl get secret `kubectl get secret -n default | grep kube-dashboard-reader | awk '{print $1}'` -o jsonpath={.data.token} -n default | base64 -d 

Kubeconfig 方式登陸 dashboard

拷貝一份 $HOME/.kube/config,修改內(nèi)容,將準備工作中獲取的 Token 添加入到文件中:在 Kubeconfig 的 Users 下 User 部分添加,類型下面這樣:

 

  1. ... 
  2.  
  3. users: 
  4.  
  5. name: kubernetes-admin 
  6.  
  7. user
  8.  
  9. client-certificate-data: ... 
  10.  
  11. client-key-data: ... 
  12.  
  13. token: <這里為上面獲取的 Token...> 

然后登陸界面選擇 Kubeconfig 單選框,選擇該文件即可成功登陸 dashboard。

Token 方式登陸 dashboard

登陸界面選擇 Token 單選框,將準備工作中獲取的 Token 粘貼進去即可成功登陸。

 

責任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2014-12-24 09:35:29

Docker集群管理kubernetes

2025-02-26 10:49:14

2015-06-17 11:27:47

Hadoop集群管理安全機制

2025-06-12 09:10:23

2022-05-24 06:04:25

多云混合云Kubernetes

2009-07-15 09:15:26

2010-02-26 09:50:57

WCF傳輸安全機制

2023-06-27 17:37:08

Kubernete容器集群

2023-03-30 09:17:42

KubesprayKubernetesLinux

2020-07-08 08:03:37

KubernetesLens集群

2022-01-03 07:49:04

Kubernetes集群容器

2015-01-20 09:35:52

2009-07-08 15:01:00

Servlet Ses

2025-08-22 14:05:00

RSTP網(wǎng)絡(luò)端口

2024-07-16 08:38:06

2021-09-06 18:55:57

MySQLCheckpoint機制

2017-02-14 13:08:45

2022-05-24 09:00:00

云計算Kubernetes安全

2021-02-07 08:00:00

Kubernetes集群云原生

2022-07-24 21:11:19

KubernetesLinux
點贊
收藏

51CTO技術(shù)棧公眾號

粉嫩精品久久99综合一区| 国产中文字幕视频在线观看| 国产美女三级无套内谢| 欧美激情亚洲| 免费看欧美女人艹b| 中文字幕成人在线| 日本中文字幕片| 日本中文字幕在线视频| 国产91对白在线观看九色| 日本久久久久久久| 国产精品jizz| 国产一区二区在线观| 国产精品一区专区| 欧美性在线观看| 国产色无码精品视频国产| 日韩成人免费av| 富二代精品短视频| 超碰10000| 97精品人妻一区二区三区在线| 欧美日韩一二三四| 精品日韩在线观看| av污在线观看| 麻豆网站视频在线观看| 久久蜜臀精品av| 国产精品一区二区欧美| 日本熟妇成熟毛茸茸| 91久久夜色精品国产按摩| 亚洲成人av资源网| 日韩成人手机在线| 欧美一级淫片aaaaaa| 国产精品magnet| 亚洲福利视频久久| 久久国产亚洲精品无码| 精品福利视频导航大全| 成人午夜激情视频| 日韩免费在线免费观看| 久久精品美女视频| 五月天亚洲色图| 日韩精品专区在线| 天天色天天综合网| 亚洲婷婷噜噜| 最好看的中文字幕久久| 午夜欧美性电影| 黄色片视频在线观看| 美女诱惑一区二区| 国产精品99免视看9| 国产91精品一区| 亚洲人www| 一夜七次郎国产精品亚洲| 久久久久久久久久久久久久国产| 黄色毛片在线看| 国产在线精品一区二区不卡了| 欧美精品videossex88| 在线观看黄网址| 色婷婷一区二区三区| 中文字幕日韩精品在线观看| 黄色片网站免费| 国产一区二区三区网| 国产亚洲精品美女久久久久| 免费在线观看你懂的| 女优一区二区三区| 欧美高清视频在线高清观看mv色露露十八 | 国产精品一二三四五区| 海角社区69精品视频| 九九久久国产精品| 久草资源在线视频| 99热在线精品观看| 亚洲成色999久久网站| 国产精品91av| 天堂在线精品| 国产一区二区动漫| 国产色无码精品视频国产| 蜜桃一区二区| 中文字幕亚洲一区在线观看| 国精产品一区一区二区三区mba| 在线成人直播| 97热在线精品视频在线观看| 国产一级免费视频| 亚洲国产专区| 日韩av黄色在线观看| 亚洲天堂免费av| 久久精品女人天堂| 国产精品三级久久久久久电影| 88av在线视频| 成人av动漫在线| 不卡一卡2卡3卡4卡精品在| 人妻一区二区三区四区| 久久精品亚洲一区二区三区浴池| 国产精品亚洲不卡a| 精品无吗乱吗av国产爱色| 国产精品久久久久久户外露出| 亚洲欧美影院| 欧美亚洲系列| 欧美午夜精品一区二区三区| 久久久亚洲国产精品| 高清全集视频免费在线| 精品久久久久久国产| 天天夜碰日日摸日日澡性色av| 日韩不卡免费高清视频| 欧美一区二区三区不卡| 亚洲乱码国产乱码精品精大量| 日韩欧美高清在线播放| 久久久亚洲影院| 久久综合综合久久| 日韩国产在线一| 久久精品夜夜夜夜夜久久| 韩国女同性做爰三级| 91精品推荐| 亚洲第一网站男人都懂| 男人的天堂免费| 91久久精品无嫩草影院| 国产亚洲视频在线观看| 国产视频123区| 天天超碰亚洲| 国产第一区电影| 亚洲熟妇无码久久精品| 久久精品99久久久| 91手机视频在线观看| 免费国产在线观看| 久久久久久久电影| 国产91porn| 国产精品伊人| 香蕉成人啪国产精品视频综合网 | 精品亚洲乱码一区二区| 亚洲精品国产偷自在线观看| 欧美孕妇与黑人孕交| а√天堂资源在线| 亚洲精品视频免费观看| 免费成年人高清视频| 日韩精品成人| 久久精品男人天堂| 日韩av电影网| 免费成人美女在线观看| 91免费观看| 亚洲色大成网站www| 国产日韩欧美一区二区三区乱码| 国产九九九九九| 成人h动漫免费观看网站| 久久伊人免费视频| 91theporn国产在线观看| 国产不卡一区视频| 日韩不卡视频一区二区| 无码小电影在线观看网站免费| 精品盗摄一区二区三区| 欧美被狂躁喷白浆精品| 久久精品网址| 91九色极品视频| 在线观看午夜av| 91精品福利在线| 天天影视综合色| 九九亚洲视频| 国产精品999999| 好男人www在线视频| 一区二区高清视频在线观看| 亚洲av无一区二区三区久久| 欧美日日夜夜| www.xxxx欧美| 亚洲中文一区二区三区| 亚洲欧洲日本在线| 黑人性生活视频| 波多野结衣在线观看一区二区三区| 日韩中文字幕精品视频| 中文字幕欧美色图| 97aⅴ精品视频一二三区| 六月婷婷在线视频| 免费观看亚洲天堂| 亚洲网站在线观看| 成人午夜精品视频| 亚洲视频每日更新| 在线xxxxx| 色综合蜜月久久综合网| 97人人模人人爽人人喊中文字| 天天操天天干天天操| 亚洲精品乱码久久久久久久久| 可以看的av网址| 国产精品久久久久一区二区三区厕所 | 精品无码免费视频| 久久综合久久综合亚洲| 中文字幕日韩精品无码内射| 日韩欧国产精品一区综合无码| 精品无人区太爽高潮在线播放 | 国产伦理一区| 国产精品夜夜夜一区二区三区尤| 黄色网在线免费看| 精品国产成人系列| 91丨九色丨海角社区| 国产精品主播直播| 欧美黑人在线观看| 日韩一区网站| 欧美成年人视频网站| 亚洲熟妇无码久久精品| 中文字幕高清一区| 亚洲成a人无码| 国内精品久久久久久久影视蜜臀 | 欧美在线视频全部完| 中文字幕手机在线观看| 国产精品一区二区三区乱码| 潘金莲一级淫片aaaaa免费看| 91蝌蚪精品视频| 国产精品久久久久久中文字| 福利写真视频网站在线| 在线电影中文日韩| 六月丁香色婷婷| 欧美日韩国产首页| caoporn91| 国产亚洲成av人在线观看导航| 一卡二卡三卡四卡五卡| 日本亚洲天堂网| 亚洲高清乱码| 国产中文欧美日韩在线| 欧美精品做受xxx性少妇| 九色蝌蚪在线| 日韩av有码在线| 69亚洲精品久久久蜜桃小说| 亚洲综合一区在线| 免费成人美女女在线观看| 日韩黄色小视频| 日本免费a视频| 午夜av一区| 丁香五月网久久综合| 日韩欧国产精品一区综合无码| 欧洲中文字幕国产精品| gogogo高清在线观看免费完整版| 欧美精品一区二区三| 日韩中文字幕在线观看视频| 一级精品视频在线观看宜春院| 国产亚洲色婷婷久久99精品91| 国产综合一区二区| 91精品一区二区三区四区| 69精品国产久热在线观看| 午夜精品在线视频| 日本理论片午伦夜理片在线观看| 亚洲国产精品va在线看黑人| 精品人妻av一区二区三区| 正在播放一区二区| 久久久久久国产精品免费播放| 9人人澡人人爽人人精品| av影片在线播放| 久久亚洲欧洲| 在线观看成人一级片| 成人看的视频| 婷婷四月色综合| www.神马久久| 国产精品高清网站| 蜜桃传媒在线观看免费进入| 欧美成人手机在线| 亚洲婷婷噜噜| 中文字幕在线亚洲| 777电影在线观看| 搡老女人一区二区三区视频tv| 隣の若妻さん波多野结衣| 日韩视频免费观看高清完整版| 天堂中文字幕在线观看| 亚洲欧美经典视频| 真实国产乱子伦对白在线| 久久久无码精品亚洲日韩按摩| 在线视频日韩欧美| 日韩经典中文字幕一区| 日韩 欧美 视频| 国产在线日韩精品| 视频一区二区在线| 国产国产精品| 999一区二区三区| 免费日韩视频| 美女少妇一区二区| 国产麻豆精品在线观看| 中文字幕第100页| 香蕉国产精品偷在线观看不卡| 无码人妻精品一区二区三区在线| 久久青草久久| 亚洲18在线看污www麻豆| 日韩精品国产精品| 欧美又黄又嫩大片a级| 豆国产96在线|亚洲| 奇米777在线视频| 99精品黄色片免费大全| 国产精品美女高潮无套| 久久久久久久综合日本| 中国1级黄色片| 亚洲va中文字幕| 国产精品xxxxxx| 精品少妇一区二区三区在线视频 | 97久久精品人人做人人爽 | 中文字幕一区二区三区在线观看| 日本阿v视频在线观看| 久久精品久久综合| 五码日韩精品一区二区三区视频| 高清不卡一区| 国产精品乱码一区二区三区| 天堂va欧美ⅴa亚洲va一国产| 国产在线a不卡| 精品精品精品| 一区二区精品免费视频| 夜夜夜久久久| 国产一区二区在线视频播放| 日本亚洲天堂网| 国产二级一片内射视频播放| 99在线观看免费视频精品观看| 日批视频在线免费看| 国产一区中文字幕| 日本少妇xxx| 久久精品男人的天堂| 免费一级a毛片夜夜看| 在线精品视频一区二区三四| 中文字幕在线天堂| 欧洲av在线精品| 亚洲乱码精品久久久久..| 欧美mv日韩mv亚洲| 美女av在线播放| 欧美在线视频观看免费网站| 欧美一级大片在线视频| 99se婷婷在线视频观看| gogogo高清在线观看一区二区| 亚洲不卡一卡2卡三卡4卡5卡精品| 米奇精品关键词| 久久国产精品99久久久久久丝袜 | 国产人成在线观看| 久久久久久久久网站| 欧美sm一区| 国产精品日韩欧美大师| 欧美jizz19性欧美| 日韩精品久久一区| 999精品视频| 99在线免费视频观看| 狠狠色狠狠色综合| 青娱乐国产视频| 欧美日韩人人澡狠狠躁视频| 亚洲国产剧情在线观看| 亚洲欧美国产精品久久久久久久| 牛牛电影国产一区二区| 5566成人精品视频免费| 国产精品亚洲d| 欧美亚洲丝袜| 亚洲欧美日韩国产综合精品二区 | 亚洲欧美在线观看| 国产污片在线观看| 日韩欧美二区三区| 中文字幕在线观看网站| 成人夜晚看av| 露出调教综合另类| 中文字幕一区综合| 美女视频网站黄色亚洲| 大胸美女被爆操| 午夜精品福利视频网站| 正在播放木下凛凛xv99| 国产亚洲欧美日韩精品| 日本伦理一区二区| 国产高清不卡av| 欧美第一精品| 伊人五月天婷婷| 亚洲少妇中出一区| 性生交大片免费看女人按摩| 国产亚洲精品久久久久动| 亚洲a∨精品一区二区三区导航| 国产精品免费观看高清| 亚洲精品少妇| 真实乱视频国产免费观看| 欧美在线制服丝袜| 大片免费在线看视频| 91在线直播亚洲| 国产一区欧美| www.自拍偷拍| 欧美视频一区在线观看| 日产精品久久久久久久性色| 欧美成人性生活| 丁香综合av| 久久久精品在线视频| 成人免费毛片片v| 亚洲日本视频在线观看| 亚洲的天堂在线中文字幕| 国产一区久久精品| 国产精品一区二区免费| 久久婷婷亚洲| 性欧美videos| 日韩av在线精品| 激情亚洲小说| 福利视频免费在线观看| 国产乱子伦一区二区三区国色天香| 在线小视频你懂的| 欧美日韩国产色| 日本在线人成| 国产美女精品在线观看| 日本成人在线电影网| 午夜免费激情视频| 亚洲欧美国产va在线影院| 手机av在线| 国产传媒一区二区三区| 久久永久免费| 亚洲第一综合网| 色综合久久久久| av在线free| 成人三级视频在线观看一区二区| 国产精品最新自拍| 希岛爱理中文字幕| 日韩午夜中文字幕| 国模雨婷捆绑高清在线| 色一情一区二区三区四区| 丁香另类激情小说| 在线免费观看日韩视频| 久久精品中文字幕电影|