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

如何使用 Distroless 讓你的容器更加安全

開發 前端
谷歌現在通過提供 Distroless 鏡像向全世界開放這種能力。谷歌構建的這些鏡像的目標是只包含你的應用程序及其依賴項,同時它們將沒有常規 Linux 發行版的所有特性,包括 shell。

[[408599]]

Photo by Michael Dziedzic on Unsplash

使用 Distroless 鏡像來保護 Kubernetes 上的容器。

容器改變了我們看待技術基礎設施的方式。這是我們運行應用程序方式的一次巨大飛躍。容器編排和云服務一起為我們提供了一種近乎無限規模的無縫擴展能力。

根據定義,容器應該包含 「應用程序」 及其 「運行時依賴項」。然而,在現實中,它們包含的遠不止這些。標準容器基礎映像包含標準 Linux 發行版中可以找到的包管理器、shell 和其他程序。

雖然這些都是構建容器鏡像所必需的,但它們不應該成為最終鏡像的一部分。例如,一旦你把包安裝好了,就不再需要在容器中使用 apt 等包管理工具了。

這不僅使你的容器里充滿了不必要的軟件包和程序,而且還為網絡罪犯提供了攻擊特定程序漏洞的機會。

你應該始終了解容器運行時中存在什么,并且應該精確地限制其只包含應用程序所需的依賴項。

除了那些必要的,你不應該安裝任何東西。一些領先的科技巨頭,如谷歌,有多年在生產中運行容器的經驗,已經采用了這種方法。

谷歌現在通過提供 Distroless 鏡像向全世界開放這種能力。谷歌構建的這些鏡像的目標是只包含你的應用程序及其依賴項,同時它們將沒有常規 Linux 發行版的所有特性,包括 shell。

「這意味著雖然可以像以前一樣運行應用程序的容器,但不能在容器運行的時候進入容器內」。這是一個重大的安全改進,因為你現在已經為黑客通過 shell 進入你的容器關上了大門。

Distroless 基礎鏡像

谷歌為大多數流行的編程語言和平臺提供了 Distroless 的基礎鏡像。

以下基礎鏡像是正式發布的版本:

  • gcr.io/distroless/static-debian10
  • gcr.io/distroless/base-debian10
  • gcr.io/distroless/java-debian10
  • gcr.io/distroless/cc-debian10
  • gcr.io/distroless/nodejs-debian10

下面的基礎鏡像仍在實驗階段,不推薦用于生產環境:

  • gcr.io/distroless/python2.7-debian10
  • gcr.io/distroless/python3-debian10
  • gcr.io/distroless/java/jetty-debian10
  • gcr.io/distroless/dotnet

構建 Distroless 鏡像

谷歌在內部使用 Bazel 來構建容器映像,但是我們可以使用 Docker 來做同樣的事情。關于使用 Distroless 鏡像的一個有爭議的問題是:當我們有一個 Distroless 鏡像時,我們如何使用 Dockerfile 來構建我們的應用程序呢?

通常,Dockerfile 以一個標準的 OS 基礎鏡像開始,然后是創建適當的運行時構建所需執行的多個步驟。這包括包的安裝,為此需要像 apt 或 yum 這樣的包管理器。

有兩種方法:

  • 先在 Docker 外部構建好你的應用程序,然后使用 Dockerfile 中的 ADD 或 COPY 指令將二進制包復制到容器中。
  • 使用多階段 Docker 構建。這是 Docker 17.05 及以后版本的一個新特性,它允許你將構建分為不同的階段。第一階段可以從標準的 OS 基礎鏡像開始,可以幫助你構建應用程序;第二階段可以簡單地從第一階段獲取構建的文件并使用 Distroless 作為基礎鏡像。

為了理解它是如何工作的,讓我們使用多階段構建流程進行一個實際操作練習。

必要條件

你需要具備以下內容:

  • Docker 版本大于等于 17.05,用于構建鏡像
  • 可選的 Kubernetes 集群用于實踐練習的第二部分。如果你想在 Docker 中運行你的容器,你可以使用等價的 docker 命令。

GitHub 代碼倉

作為實踐練習,將 此代碼倉 Fork 到你的 GitHub 帳號下,然后克隆 GitHub 代碼倉并使用 cd 進入到項目目錄下。

該代碼倉包含一個 Python 的 Flask 應用程序,當你調用API時,該應用程序會響應 Hello World!。

app.py 文件如下所示:

  1. from flask import Flask 
  2.  
  3. app = Flask(__name__) 
  4.  
  5. @app.route("/"
  6. def hello(): 
  7.     return "Hello World!" 
  8.  
  9. if __name__ == '__main__'
  10.     app.run(host='0.0.0.0', debug=True

Dockerfile 包含兩個階段:

  1. FROM python:2.7-slim AS build 
  2. ADD . /app 
  3. WORKDIR /app 
  4. RUN pip install --upgrade pip 
  5. RUN pip install -r ./requirements.txt 
  6.  
  7. FROM gcr.io/distroless/python2.7 
  8. COPY --from=build /app /app 
  9. COPY --from=build /usr/local/lib/python2.7/site-packages /usr/local/lib/python2.7/site-packages 
  10. WORKDIR /app 
  11. ENV PYTHONPATH=/usr/local/lib/python2.7/site-packages 
  12. EXPOSE 5000 
  13. CMD ["app.py"

構建階段:

  • 從 python:2.7-slim 的基礎鏡像開始
  • 將應用程序復制到 /app 目錄下
  • 升級 pip 并安裝依賴

Distroless 階段:

  • 從 gcr.io/distroless/python2.7 的基礎鏡像開始
  • 將應用程序從構建階段的 /app 目錄復制到當前階段的 /app 目錄
  • 將 python 的 site-packages 從構建階段復制到當前階段的 site-packages 目錄
  • 設置工作目錄到 /app,將 python PATH 設置為 site-packages 目錄,并暴露 5000 端口
  • 使用 CMD 指令運行 app.py

由于 Disroless 鏡像不包含 shell,所以應該在最后使用 CMD 指令。如果不這樣做,Docker 將認為它是一個 shell CMD,并試圖這樣執行它,但這是不工作的。

構建鏡像:

  1. $ docker build -t <your_docker_repo>/flask-hello-world-distroless . 
  2. Sending build context to Docker daemon  95.74kB 
  3. Step 1/12 : FROM python:2.7-slim AS build 
  4.  ---> eeb27ee6b893 
  5. Step 2/12 : ADD . /app 
  6.  ---> a01dc81df193 
  7. Step 3/12 : WORKDIR /app 
  8.  ---> Running in 48ccf6b990e4 
  9. Removing intermediate container 48ccf6b990e4 
  10.  ---> 2e5e335be678 
  11. Step 4/12 : RUN pip install --upgrade pip 
  12.  ---> Running in 583be3d0b8cc 
  13. Collecting pip 
  14.   Downloading pip-20.1.1-py2.py3-none-any.whl (1.5 MB) 
  15. Installing collected packages: pip 
  16.   Attempting uninstall: pip 
  17.     Found existing installation: pip 20.0.2 
  18.     Uninstalling pip-20.0.2: 
  19.       Successfully uninstalled pip-20.0.2 
  20. Successfully installed pip-20.1.1 
  21. Removing intermediate container 583be3d0b8cc 
  22. ................................... 
  23. Successfully installed Jinja2-2.11.2 MarkupSafe-0.23 click-7.1.2 flask-1.1.2 itsdangerous-0.24 werkzeug-1.0.1 
  24. Removing intermediate container c4d00b1abf4a 
  25.  ---> 01cbadcc531f 
  26. Step 6/12 : FROM gcr.io/distroless/python2.7 
  27.  ---> 796952c43cc4 
  28. Step 7/12 : COPY --from=build /app /app 
  29.  ---> 92657682cdcc 
  30. Step 8/12 : COPY --from=build /usr/local/lib/python2.7/site-packages /usr/local/lib/python2.7/site-packages 
  31.  ---> faafd06edeac 
  32. Step 9/12 : WORKDIR /app 
  33.  ---> Running in 0cf545aa0e62 
  34. Removing intermediate container 0cf545aa0e62 
  35.  ---> 4c4af4333209 
  36. Step 10/12 : ENV PYTHONPATH=/usr/local/lib/python2.7/site-packages 
  37.  ---> Running in 681ae3cd51cc 
  38. Removing intermediate container 681ae3cd51cc 
  39.  ---> 564f48eff90a 
  40. Step 11/12 : EXPOSE 5000 
  41.  ---> Running in 7ff5c073d568 
  42. Removing intermediate container 7ff5c073d568 
  43.  ---> ccc3d211d295 
  44. Step 12/12 : CMD ["app.py"
  45.  ---> Running in 2b2c2f111423 
  46. Removing intermediate container 2b2c2f111423 
  47.  ---> 76d13d2f61cd 
  48. Successfully built 76d13d2f61cd 
  49. Successfully tagged <your_docker_repo>/flask-hello-world-distroless:latest 

登錄到 DockerHub 并推送鏡像:

  1. docker login 
  2. docker push <your_docker_repo>/flask-hello-world-distroless:latest 

登錄到 DockerHub(或者你的私有鏡像倉),你應該會看到容器鏡像可以使用:

 

 

distroless-2

 

如果你看一下壓縮后的大小,它只有 23.36 MB。如果你使用 slim 發行版作為基礎鏡像,它將占用 56 MB。

 

 

distroless-2

 

你已經減少了超過一半的容器占用空間。That’s amazing!

在 Kubernetes 中運行容器

為了測試構建是否有效,讓我們在 Kubernetes 集群中運行容器。如果你沒有 Kubernetes,你可以運行等價的 Docker 命令來做相同的活動,因為 Kubectl 和 Docker 命令是相似的。

我在代碼倉中創建了一個 kubernetes.yaml 文件,該文件包含使用我們構建的鏡像的 Deployment 和 負載均衡的 Service。

  1. --- 
  2. apiVersion: apps/v1 
  3. kind: Deployment 
  4. metadata: 
  5.   name: flask-deployment 
  6. spec: 
  7.   selector: 
  8.     matchLabels: 
  9.       app: flask 
  10.   replicas: 2 
  11.   template: 
  12.     metadata: 
  13.       labels: 
  14.         app: flask 
  15.     spec: 
  16.       containers: 
  17.       - name: flask 
  18.         image: bharamicrosystems/flask-hello-world-distroless 
  19.         ports: 
  20.         - containerPort: 5000 
  21. --- 
  22. apiVersion: v1 
  23. kind: Service 
  24. metadata: 
  25.   name: flask-service 
  26. spec: 
  27.   selector: 
  28.     app: flask 
  29.   ports: 
  30.     - port: 80 
  31.       targetPort: 5000 
  32.   type: LoadBalancer 

這是一個非常簡單的設置。負載均衡器監聽端口 80 并映射到目標端口 5000。這些 Pods 在默認的 5000 端口上監聽 Flask 應用程序。

應用:

  1. $ kubectl apply -f kubernetes.yaml 
  2. deployment.apps/flask-deployment created 
  3. service/flask-service created 

我們查看一下所有的資源,看看我們已經創建了什么:

  1. $ kubectl get all 
  2. NAME                                    READY   STATUS    RESTARTS   AGE 
  3. pod/flask-deployment-576496558b-hnbxt   1/1     Running   0          47s 
  4. pod/flask-deployment-576496558b-hszpq   1/1     Running   0          73s 
  5.  
  6. NAME                    TYPE           CLUSTER-IP   EXTERNAL-IP      PORT(S)        AGE 
  7. service/flask-service   LoadBalancer   10.8.9.163   35.184.113.120   80:31357/TCP   86s 
  8. service/kubernetes      ClusterIP      10.8.0.1     <none>           443/TCP        26m 
  9.  
  10. NAME                               READY   UP-TO-DATE   AVAILABLE   AGE 
  11. deployment.apps/flask-deployment   2/2     2            2           88s 
  12.  
  13. NAME                                          DESIRED   CURRENT   READY   AGE 
  14. replicaset.apps/flask-deployment-576496558b   2         2         2       89s 

我們看到存在兩個 Pods、一個 Deployment、一個帶有外部 IP 的 LoadBalancer 服務和一個 ReplicaSet。

讓我們訪問應用程序:

  1. $ curl http://35.184.113.120 
  2. Hello World! 

我們得到了 Hello World!。這表明 Flask 應用程序在正常工作。

使用 Shell 對應用程序進行訪問

正如我在引言中所描述的,Disroless 容器中沒有 shell,因此不可能進入到容器內。然而,讓我們試著在容器中執行 exec:

  1. $ kubectl exec -it flask-deployment-576496558b-hnbxt /bin/bash 
  2. OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory": unknown 
  3. command terminated with exit code 126 

我們無法連接到容器上。

容器日志呢?如果拿不到容器日志,我們就失去了調試應用程序的方法。

讓我們試著去拿日志:

  1. $ kubectl logs flask-deployment-576496558b-hnbxt 
  2.  * Running on http://0.0.0.0:5000/ 
  3.  * Restarting with reloader 
  4. 10.128.0.4 - - [31/May/2020 13:40:27] "GET / HTTP/1.1" 200 - 
  5. 10.128.0.3 - - [31/May/2020 13:42:01] "GET / HTTP/1.1" 200 - 

所以容器日志是可以被獲取到的!

結論

使用 Distroless 作為基礎鏡像是一種令人興奮的保護容器安全的方式。由于鏡像小并且僅包含應用程序和依賴項,因此它為應用程序提供了最小的攻擊面。它在更大程度上提高了應用程序的安全性,所以它是保護容器安全的好方法。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2024-08-02 10:23:20

2025-03-11 08:30:00

Pythonretrying代碼

2019-08-28 09:28:07

SSHOpenSSH運維

2017-09-26 11:40:38

Juniper安全Contrail Se

2015-09-06 10:01:24

2019-02-28 22:47:06

云計算數據安全企業

2018-09-06 10:16:39

2021-02-25 09:59:10

數據安全惡意攻擊密碼

2018-07-19 16:50:53

2018-01-31 11:20:48

2019-07-13 15:31:10

Linux防火墻

2011-08-10 09:54:07

2017-07-07 14:52:43

數據安全存儲Splunk

2016-11-24 13:54:56

2023-07-03 07:55:25

2020-05-21 08:53:12

Python技術代碼

2011-11-16 16:18:38

程序員

2023-03-26 23:53:49

TLSgRPC通信

2021-03-03 08:02:13

JavaScript函數字節

2010-06-25 18:00:02

APC InfraSt
點贊
收藏

51CTO技術棧公眾號

欧美videos中文字幕| 国产午夜亚洲精品午夜鲁丝片| 久久伊人精品视频| 337p日本欧洲亚洲大胆张筱雨| 成年网站在线视频网站| 久久精品无码一区二区三区| 国产日韩欧美中文| 久久久国产精华液| 国产欧美一区二区三区精品观看 | 中文字幕日韩欧美| 人妻巨大乳一二三区| 久九九久频精品短视频| 亚洲欧美偷拍三级| 欧美不卡三区| 国产精品一二三四五区| 久久黄色影院| 欧美黑人xxx| 91狠狠综合久久久久久| 国产精品香蕉| 91精品国产综合久久久久久久 | 久久精品二区亚洲w码| 欧美精品激情视频| 后入内射无码人妻一区| 啪啪国产精品| 精品国产欧美一区二区| 91视频这里只有精品| 神马久久午夜| 亚洲一区二区三区在线| 亚洲一区在线免费| 视频三区在线观看| 成人午夜视频在线| 亚洲综合中文字幕68页| 少妇一级淫片日本| 美女爽到呻吟久久久久| 国产+成+人+亚洲欧洲| 天天看片中文字幕| 成人在线免费小视频| 国产丝袜一区二区三区免费视频| 亚洲一区二区图片| crdy在线观看欧美| 欧美日韩免费在线视频| 人妻无码视频一区二区三区| 国产伦久视频在线观看| 午夜精品久久久久久久| 欧美中文字幕在线观看视频 | 欧美激情亚洲另类| 午夜精品福利在线视频| 国产精品精品国产一区二区| 在线观看精品自拍私拍| www.99热| 精品久久不卡| 亚洲欧美在线磁力| 人妻熟女aⅴ一区二区三区汇编| 91蜜桃臀久久一区二区| 日韩欧美激情一区| 波多野吉衣在线视频| 欧美视频三区| 欧美成人bangbros| 韩国三级与黑人| 深夜激情久久| 亚洲第一精品夜夜躁人人爽| 日本天堂在线播放| 免费日韩一区二区三区| 日韩av在线免播放器| 日本五十肥熟交尾| 亚洲另类春色校园小说| 日韩成人黄色av| 中文字幕免费高清视频| 成人在线超碰| 亚洲女人天堂视频| 97超碰在线资源| 欧美色女视频| 日韩中文字幕在线视频播放| 婷婷久久综合网| 欧美高清一区| 91av视频在线观看| 日韩乱码一区二区三区| 经典一区二区三区| 99三级在线| 日本一级在线观看| 国产欧美一区二区精品性色| 伊人久久大香线蕉av一区| 黄色片网站在线| 亚洲成人动漫精品| 成人一区二区三| 精品国产亚洲一区二区三区| 亚洲黄色有码视频| 国产精品无码无卡无需播放器| 99tv成人| 欧美夫妻性生活xx| 亚洲欧美偷拍视频| 韩国精品一区二区| 精品国产免费久久久久久尖叫| 欧美一区二区少妇| 亚洲欧美视频在线观看| 久久视频这里有精品| 日本精品另类| 亚洲二区在线播放视频| 亚洲av毛片基地| 国产精品豆花视频| 国产精品伦子伦免费视频| 成 人 黄 色 片 在线播放| 91视视频在线观看入口直接观看www | 久久久91精品国产| 久久国产精品免费看| 精品综合免费视频观看| 久久精品国产一区二区三区不卡| 调教视频免费在线观看| 亚洲18色成人| 日韩不卡的av| 欧美日韩高清| 88xx成人精品| 性色av蜜臀av| 国产精品网曝门| 九九九九免费视频| 91亚洲无吗| 日韩资源在线观看| 亚洲黄色免费观看| 成人黄色在线看| 国产精品无码乱伦| 日韩av首页| 日韩福利在线播放| 欧美三根一起进三p| 蜜桃av一区二区在线观看| 精品国产乱码久久久久久蜜柚| 国产在线观看免费麻豆| 91国偷自产一区二区开放时间| 稀缺呦国内精品呦| 一区二区三区在线| 国产精品一区二区久久精品 | 日韩在线国产精品| 精品人妻一区二区色欲产成人| 国产福利精品一区二区| 在线码字幕一区| se01亚洲视频| 亚洲深夜福利视频| 无码人妻丰满熟妇精品区| 91在线精品一区二区| 亚洲理论电影在线观看| 美女久久精品| 欧美裸体男粗大视频在线观看| 在线观看亚洲一区二区| 国产欧美日韩卡一| 成年人在线观看视频免费| 九九热精品视频在线观看| 欧美性受xxxx白人性爽| 人妻va精品va欧美va| 亚洲亚洲精品在线观看| 日本精品一二三区| 欧美日韩专区| 国产欧美日韩一区| 91av久久| 日韩黄色在线免费观看| 男人午夜免费视频| 国产亚洲一本大道中文在线| 欧美激情精品久久久久久小说| 色婷婷久久久| 日本高清视频一区| 国产露出视频在线观看| 欧美色男人天堂| 日韩av片在线免费观看| 国内精品视频666| 真人做人试看60分钟免费| 日韩视频1区| 国内偷自视频区视频综合| 五月婷婷丁香六月| 日本韩国欧美一区二区三区| 免费一级特黄3大片视频| 男女男精品视频| 中文字幕人成一区| 成人h动漫免费观看网站| 午夜精品视频在线| 免费理论片在线观看播放老| 在线观看国产91| 97精品在线播放| 国产69精品久久久久777| 免费无码不卡视频在线观看| 国产一区二区三区天码| 国产日产欧美精品| heyzo在线播放| 国产亚洲xxx| 99国产精品久久久久99打野战| 一区二区三区丝袜| 添女人荫蒂视频| 久久精品99国产精品| 国产精品久久久影院| 精品国产导航| 国产成人精品视频在线| 制服丝袜在线播放| 亚洲精品美女久久久久| 伊人免费在线观看高清版| 亚洲品质自拍视频网站| 亚洲精品视频大全| 久久激五月天综合精品| 欧美综合在线播放| 日韩精品欧美激情一区二区| 国产精品久久国产三级国电话系列| 欧美aa一级| 精品国内自产拍在线观看| 亚洲精品视频专区| 欧美日韩国产一级| 999这里只有精品| 亚洲欧洲在线观看av| 黄色a一级视频| 国产精品一区在线观看你懂的| 日本网站免费在线观看| 999国产精品| 久久精品日产第一区二区三区乱码 | 成人综合av网| 国产在线|日韩| 91精品国产色综合| 日本免费在线观看| 亚洲精品视频播放| av一区二区三| 欧美精品三级日韩久久| 丰满少妇乱子伦精品看片| 亚洲三级在线看| 亚洲一级黄色录像| 91免费在线播放| 9191在线视频| 国产专区综合网| www.色偷偷.com| 亚洲一区二区三区免费在线观看| www国产无套内射com| 欧美日韩在线观看视频小说| 久久久久久久久久久久久9999| 久久三级中文| 91精品在线国产| 日韩精品一级毛片在线播放| 国产99久久精品一区二区永久免费| 24小时免费看片在线观看| 蜜月aⅴ免费一区二区三区| 91在线观看| 在线观看视频亚洲| 你懂的免费在线观看视频网站| 亚洲国产精品yw在线观看| 国产丝袜在线视频| 3d成人动漫网站| 91超薄丝袜肉丝一区二区| 欧美亚洲国产一区在线观看网站| 神马久久久久久久| 欧美天堂在线观看| 九九热精品视频在线| 亚洲成a人v欧美综合天堂下载| 国产中文字字幕乱码无限| 亚洲综合久久久| 国产精品1000| 黄色成人av网| 久热这里只有精品6| 精品久久久久久久久久| 男女啊啊啊视频| 日韩欧美亚洲成人| 久久久久久无码午夜精品直播| 色综合一个色综合| 国产成人麻豆免费观看| 欧美丝袜自拍制服另类| 一级特黄aa大片| 欧美一区二区网站| 亚洲精品久久久蜜桃动漫| 亚洲高清久久网| 人成免费电影一二三区在线观看| 国产亚洲欧美视频| 午夜免费视频在线国产| 久久中文字幕在线| 日本资源在线| 欧美最猛性xxxxx亚洲精品| 日韩大尺度黄色| 91精品国产综合久久香蕉| 国产一区二区三区国产精品| 99久久99久久精品国产片| 日韩精品三级| 精品视频在线观看| 欧美亚洲国产一区| 亚洲欧美日韩中文播放| 亚洲精品久久区二区三区蜜桃臀 | 国产激情视频一区二区三区欧美 | 久久久久久久国产精品影院| 国产美女永久免费无遮挡 | 日韩免费一二三区| 色一区在线观看| 国产精品热久久| 亚洲国产精品久久久久久| 免费人成在线观看网站| 久久久精品一区| 国产盗摄——sm在线视频| 国产精品免费久久久久久| 视频一区中文字幕精品| 精品亚洲欧美日韩| 天天精品视频| 成人毛片视频网站| 久久99国产精品久久| 黄色网址在线视频| 亚洲欧美自拍偷拍色图| 青青操免费在线视频| 欧美日韩高清一区二区三区| 日本高清视频免费看| 色综合伊人色综合网站| 成年人在线网站| 91精品免费久久久久久久久| 农村少妇一区二区三区四区五区| 一区二区三区四区免费视频| 99在线精品免费视频九九视| 欧美丝袜在线观看| 久久影院电视剧免费观看| 亚洲国产精品免费在线观看| 色噜噜狠狠成人中文综合| 亚洲精品成人电影| 色99之美女主播在线视频| 性欧美xxx69hd高清| 99精品99久久久久久宅男| 精品视频网站| 国产一区二区三区精彩视频| 国产精品乡下勾搭老头1| 公肉吊粗大爽色翁浪妇视频| 五月天视频一区| 国产普通话bbwbbwbbw| 亚洲天堂免费在线| www.超碰在线| 99porn视频在线| 婷婷综合伊人| 国产精品久久久毛片| 久久男人中文字幕资源站| 麻豆chinese极品少妇| 欧美高清一级片在线| 国产原创av在线| 青青久久aⅴ北条麻妃| 成人动漫视频| 天天操天天干天天玩| 久久精品国产色蜜蜜麻豆| 女人黄色一级片| 色偷偷久久人人79超碰人人澡 | 日韩亚洲精品视频| 欧美精品高清| 欧美日韩一区二区视频在线观看| 亚洲福利国产| 国产乱淫av麻豆国产免费| 亚洲精品伦理在线| 99热这里只有精品9| 久久精品99无色码中文字幕| av成人在线播放| 日韩欧美在线电影| 日本sm残虐另类| 亚洲女优在线观看| 在线视频亚洲一区| 国产福利在线看| 国产精品99久久久久久久久| 国产精品一区二区av交换| 日本黄色三级大片| 91美女精品福利| 日本视频免费观看| 一区二区三区高清国产| 视频在线日韩| 亚洲精品久久区二区三区蜜桃臀| 日本不卡的三区四区五区| 国产探花视频在线| 欧美老年两性高潮| 91福利在线视频| 91久久久久久久久久久| 一区二区三区四区在线观看国产日韩| 亚洲综合伊人久久| 一区二区三区加勒比av| 韩国中文字幕hd久久精品| 韩国国内大量揄拍精品视频| 老牛影视av一区二区在线观看| 黄页网站在线观看视频| 久久婷婷成人综合色| 天天射天天干天天| 日韩资源在线观看| 精品伊人久久| 日本香蕉视频在线观看| 97久久精品人人做人人爽| 日韩 国产 欧美| 久久视频中文字幕| 在线一区二区三区视频| 欧美二区在线视频| 国产日韩欧美电影| 国产三级小视频| 午夜欧美不卡精品aaaaa| 伊人成综合网yiren22| 亚洲国产精品三区| 亚洲一卡二卡三卡四卡五卡| 色网站在线免费观看| 国产欧美日韩免费| 欧美日韩视频| 在线免费观看a级片| 欧美午夜不卡视频| 亚洲夜夜综合| 日本最新一区二区三区视频观看| 美女免费视频一区二区| 免费又黄又爽又色的视频| 亚洲欧洲免费视频| 国产日韩中文在线中文字幕| 国产精品无码av在线播放| 亚洲国产精品t66y| 蜜桃视频污在线观看| 国产精品极品尤物在线观看| 国产精品av久久久久久麻豆网| 国产在线观看h| 日韩欧美另类在线| 成人在线高清|