亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

DDoS攻防戰 (四):CC攻擊防御系統部署

2024-06-28 13:23:01
字體:
來源:轉載
供稿:網友
DDoS攻防戰 (四):CC攻擊防御系統部署1. 系統效果

此DDOS應用層防御系統已經部署在了http://www.yfdc.org網站上(如果訪問失敗,請直接訪問位于國內的服務器http://121.42.45.55進行在線測試)。

此防御系統位于應用層,可以有效防止非法用戶對服務器資源的濫用:

只要是發送高頻率地、應用層請求以實現大量消耗系統資源的攻擊方式,皆可有效防御。

其實現的基本思想是:

定期分析所有訪問用戶在過去各個時間段內的請求頻率,將頻率高于指定閾值的用戶判定為資源濫用者,將其封殺一段時間,時效過后,防御系統自動將其解封。

在線效果測試:

進入http://www.yfdc.org -> 點擊右上側在線查詢,此時將會進入/shell/yf域內,/shell/yf是一個用bash scripts寫的動態web-cgi程序,用戶每一次提交信息,此程序將會執行一些服務器端的查詢操作,然后將數據處理后返回到客戶端。

為了防止非法用戶高頻率地訪問這個程序,而影響到其他正常用戶的訪問,故需要進行一些保護措施。

最終效果:

被封信息頁面

被封信息頁面

在/shell/yf域內,按住F5不放,一直刷新,幾秒后松開,就能看到被封信息和解封時間。只要某個用戶對/shell/yf的訪問超過了正常的頻率,服務將會對這個用戶關閉一段時間,期滿后自動解封。
2. 系統原理

操作系統: CentOS 6.5 x86_64開發語言: Bash Shell ScriptsWeb服務器: Apache Httpd

系統鳥瞰圖(此圖為系統結構的鳥瞰圖 可存至本地后放大查看)

2.1 自定義日志:/etc/httpd/logs/yfddos_log

自定義日志文件格式(自定義日志文件的格式)

在httpd.conf的日志參數中,加入如下兩行:

   LogFormat "%a /"%U/" %{local}p %D %{%s}t " yfddosCustomLog logs/yfddos_log yfddos

我們接下來重點分析日志文件/etc/httpd/logs/yfddos_log.

LogFormat "%a /"%U/" %{local}p %D %{%s}t " yfddos

解釋:

%a -> 用戶的IP%U -> 請求的URL地址,但并不包含query string(The URL path requested, not including any query string.)%{local}p -> 用戶請求的服務器端口(一般為80)%D -> 這個請求共消耗了服務器多少微秒(The time taken to serve the request, in microseconds.)%{%s}t -> 服務器收到這個請求時,時間戳的值(seconds since 1970-01-01 00:00:00 UTC)

例子:

192.168.31.1 "/shell/yf" 80 118231 1417164313

譯為:IP為192.168.31.1的主機,在時間戳為1417164313的時候,訪問了/shell/yf,并由服務器的80端口向其提供服務,共耗時118231微秒

或為:IP為192.168.31.1的主機,在2014-11-28 16:45:13的時候,訪問了/shell/yf,并由服務器的80端口向其提供服務,共耗時0.118231秒

至于為什么不使用httpd.conf中官方定義的日志,原因如下:

- 用戶訪問日志的一條記錄可大約控制在60Bytes以內,數據量小,便于后期分析,官方定義的日志太過臃腫,影響分析速度- 使用時間戳標志時間,便于后期分析,官方定義的日志時間參數為常規的表達方式,不便于直接進行處理- httpd的日志系統本身就是從舊到新進行排序記錄的,所以/etc/httpd/logs/yfddos_log日志條目的時間戳,亦為從小到大進行排序的,數據記錄更加鮮明
2.2 yfddosd黑名單文件格式

黑名單文件格式

黑名單文件格式

yfddosd黑名單文件/etc/yfddos/web-yf-search.b格式如下:

# ip    add-stamp  rmv-stamp1.2.3.4 1416046335 14160463951.2.3.5 1416046336 14160463961.2.3.6 1416046339 1416046399

每一行為一個黑名單條目,上面第一個條目的意義為:

IP地址  :1.2.3.4開始時間:時間戳1416046335,即 2014-11-15 18:12:15終止時間:時間戳1416046395,即 2014-11-15 18:13:15

直觀意義為:

IP地址:1.2.3.4,從2014-11-15 18:12:15開始,被封殺1分鐘,在2014-11-15 18:13:15時自動解封。

這個文件將由駐留在系統中的daemon守護進程yfddosd進行維護更新。

2.3 守護進程yfddosd:防御系統的邏輯核心

守護進程的原理圖

守護進程的原理圖

守護進程yfddosd是整個CC防御系統的核心,而function analyze_and_insert_black()則是yfddosd的核心。

yfddosd的配置參數:

yfddos_blackfilePath='/etc/yfddos/web-yf-search.b'yfddos_accesslogPath='/etc/httpd/logs/yfddos_log'function analyze_and_insert_black() {   # analyze_and_insert_black() :  #   $1:max frequency(seems as abuse if above that) $2:blackip-ttl,time to live,unit is seconds (s)   #   $3:the access log ${3} seconds before will be analyzed to generate the abuse ip lists that we will block  # example : analyze_and_insert_black "limit" "ttl" "time"  # example : analyze_and_insert_black "4" "10" "5"  # 分析在過去5s內的用戶訪問日志 如果有人在這5s內訪問量>=4 系統將視其為資源濫用者 將其加入服務黑名單  # 一條黑名單的作用時間為10s 即在10s之后 系統自動刪除此黑名單條目 服務則繼續向其開放  # global vars:  # stamp logtmpfile yfddos_blackfilePath  # ......}

函數analyze_and_insert_black有三個輸入參數:

例子: analyze_and_insert_black "4" "10" "5"

解釋: 分析日志文件/etc/httpd/logs/yfddos_log中,在過去5s內的用戶訪問日志,如果有IP在這5s內訪問量>=4,守護進程yfddosd將視其為資源濫用者,然后將這個IP加入到黑名單文件/etc/yfddos/web-yf-search.b中,此條黑名單的作用時間為10s,在10s之后,守護進程yfddosd將刪除此黑名單條目。

例子: analyze_and_insert_black "150" "2700" "905"

解釋: 分析日志文件/etc/httpd/logs/yfddos_log中,在過去905s內的用戶訪問日志,如果有IP在這905s內訪問量>=150,守護進程yfddosd將視其為資源濫用者,然后將這個IP加入到黑名單文件/etc/yfddos/web-yf-search.b中,此條黑名單的作用時間為2700s,在2700s之后,守護進程yfddosd將刪除此黑名單條目。

簡記為: analyze_and_insert_black "limit" "ttl" "time"

解釋: 分析日志文件/etc/httpd/logs/yfddos_log中,在過去(time)s內的用戶訪問日志,如果有IP在這(time)s內訪問量>=limit,守護進程yfddosd將視其為資源濫用者,然后此IP將會被加入到黑名單文件/etc/yfddos/web-yf-search.b中,作用時間為(ttl)s,在(ttl)s之后,守護進程yfddosd將自動刪除此條目。    

從上述中可看出,守護進程yfddosd至少需要完成如下三個任務:

- 分析日志文件/etc/httpd/logs/yfddos_log中指定時間內的用戶訪問記錄- 將資源濫用者的IP加入文件/etc/yfddos/web-yf-search.b,并設置封殺TTL參數值- 將/etc/yfddos/web-yf-search.b中已經過期的條目全部及時刪除

守護進程yfddosd是如何實現上面三個邏輯的:

- 分析日志文件/etc/httpd/logs/yfddos_log中指定時間內的用戶訪問記錄:(1) 取出/etc/httpd/logs/yfddos_log中過去time秒的訪問日志數據,使用二分法將這一操作的時間復雜度壓縮到K*log2(N)以內,其中N為/etc/httpd/logs/yfddos_log中日志總行數,K為一次測試的耗時量,一般為1ms以內,即如有1048576條訪問記錄,這一操作將僅需要20*1ms(2) 使用正則RE對這些數據進行二次處理,過濾出所有訪問指定URL的用戶IP(這個URL為想要防御的http服務url,例如在http://www.yfdc.org系統中,所防御的就是/shell/yf,這個服務向訪問者提供信息的search與get服務),再次使用sort與uniq對這些IP進行處理,以統計出每個IP的訪問次數并進行高低排序- 將資源濫用者的IP加入文件/etc/yfddos/web-yf-search.b,并設置封殺TTL參數值將所有訪問次數超過閾值limit的IP更新到黑名單文件/etc/yfddos/web-yf-search.b中,每個黑名單條目的封殺時間為ttl秒- 將/etc/yfddos/web-yf-search.b中已經過期的條目全部及時刪除遍歷/etc/yfddos/web-yf-search.b中所有黑名單條目,結合當前時間戳,將所有已經過期的條目一一刪去

下面是守護進程yfddosd狀態機的偽代碼:(略去了一些處理細節)

#init and FSM start work...counter=0while truedo  sleep 5  counter=counter+1  delete obsolete items #將/etc/yfddos/web-yf-search.b中已經過期的條目全部刪除  if # every 5 seconds : 5s  then    analyze_and_insert_black "6" "10" "5"    # 分析在過去5s內訪問的用戶 如果有人其訪問量大于等于6 系統將視其為資源濫用者 # 遂將其加入服務黑名單 其作用時間為10s 在10s之后 daemon進程自動刪除這個ip黑名單條目  fi  if #every 5*3 seconds : 15s   then    analyze_and_insert_black "14" "45" "15"  fi  if #every 5*3*4+5 seconds : 65s  then    analyze_and_insert_black "40" "840" "65"  fi  if #every 5*3*4*3*5+5 seconds : 905s : 15min  then    analyze_and_insert_black "150" "2700" "905"  fi  if #every 5*3*4*3*5*4+5 seconds : 3605s : 1h  then    analyze_and_insert_black "300" "7200" "3605"  fi  if #every 5*3*4*3*5*4*3+5 seconds : 10805s : 3h  thenanalyze_and_insert_black "400" "21600" "10805"    if #在每天的00:01-04:59時間區間 一天僅執行一次    then    #備份日志     fi  fidone

防御者應斟酌調整每個檢測時間點的參數值(封殺時間ttl與判定閾值limit),以調節系統應對CC攻擊到來時的反應時間。

3. 源代碼
#!/bin/bash##################################### vim /usr/local/bin/yfddosd.sh :##################################### nohup bash /usr/local/bin/yfddosd.sh &>"/etc/yfddos/""yfddosd-log-`date +%Y-%m-%d`" & ##################################### yfddos daemonmkdir /etc/yfddosyfddos_blackfilePath='/etc/yfddos/web-yf-search.b'yfddos_accesslogPath='/etc/httpd/logs/yfddos_log'### refresh tlllogtmpfile=`mktemp`stamp=`date +%s`touch "$yfddos_blackfilePath"if grep -Po '[0-9]+/.[0-9]+/.[0-9]+/.[0-9]+' "$yfddos_blackfilePath" &>/dev/nullthen  cat "$yfddos_blackfilePath" | while read i  do    deadstamp=`echo "$i" | grep -Po '[0-9]+$'`     if [ "$stamp" -le "$deadstamp" ]    then      echo "$i" >>"$logtmpfile"    fi  donefichmod o+r "$logtmpfile"mv -f "$logtmpfile" "$yfddos_blackfilePath"if ! grep -Po '[0-9]+/.[0-9]+/.[0-9]+/.[0-9]+' "$yfddos_blackfilePath" &>/dev/nullthen  echo '255.255.255.255 0 0' >> "$yfddos_blackfilePath"fifunction analyze_and_insert_black() {   # analyze_and_insert_black() :  #   $1:max frequency(seems as abuse if above that) $2:blackip-ttl,time to live,unit is seconds (s)   #   $3:the access log ${3} seconds before will be analyzed to generate the abuse ip lists that we will block  # example : analyze_and_insert_black "limit" "ttl" "time"  # example : analyze_and_insert_black "4" "10" "5"  # 分析在過去5s內的用戶訪問日志 如果有人在這5s內訪問量>=4 系統將視其為資源濫用者 將其加入服務黑名單  # 一條黑名單的作用時間為10s 即在10s之后 系統自動刪除此黑名單條目 服務則繼續向其開放  # global vars:  # stamp logtmpfile yfddos_blackfilePath  local threshold="$1"  local ttl="$2"  local stamp_PRe="$3"  local i=0  local num=""  local fre=0  local ip=0  local localbuf=0  local linenum=0  local deadstamp=0  stamp_pre="$((stamp-stamp_pre))"  #二分查找初始化  local temp=0  local yf_x='1'  local yf_y=`cat "$logtmpfile" | wc -l`  if [ "$yf_y" -le "1" ]  then     yf_y=1  fi  local yf_I=$(((yf_x+yf_y)/2))  temp=`cat "$logtmpfile" | wc -l`  if [ "$temp" -gt "0" ]  then    temp=`sed -n '$p' "$logtmpfile" | grep -Po '[0-9]+ $'`    if [ "$temp" -lt "$stamp_pre" ]    then      num=""    else        while true #使用二分查找的方法 快速地分析訪問日志      do        temp=`sed -n "${yf_x}p" "$logtmpfile" | grep -Po '[0-9]+ $'`        if [ "$temp" -ge "$stamp_pre" ]        then          break        fi        if [ "$((yf_y-yf_x))" -le "1" ]        then          yf_x="$yf_y"          break        fi        temp=`sed -n "${yf_I}p" "$logtmpfile" | grep -Po '[0-9]+ $'`        if [ "$temp" -lt "$stamp_pre" ]        then          yf_x="$yf_I"          yf_y="$yf_y"          yf_I="$(((yf_x+yf_y)/2))"          continue        fi        yf_x="$yf_x"        yf_y="$yf_I"        yf_I="$(((yf_x+yf_y)/2))"          continue      done      temp=`sed -n "${yf_x}p" "$logtmpfile" | grep -Po '[0-9]+ $'`      if [ "$temp" -ge "$stamp_pre" ]      then        num="$yf_x"      else        num=""      fi    fi      if [ -n "$num" ]    then      sed -n "${num},/$p" "$logtmpfile" | grep -Po '^[0-9]+/.[0-9]+/.[0-9]+/.[0-9]+' | sort -n | uniq -c | sort -rn | while read i      do        fre=`echo "$i" | grep -Po '[0-9]+' | head -1`        ip=`echo "$i" | grep -Po '[0-9]+/.[0-9]+/.[0-9]+/.[0-9]+' `        if [ "$fre" -ge "$threshold" ]        then #insert illegal ips : cat "$yfddos_blackfilePath"          # ip    add-stamp  rmv-stamp          #1.2.3.4 1416046335 1416046395          temp=`grep -Pn "${ip//.///.} " "$yfddos_blackfilePath"`          if [ -n "$temp" ]          then            linenum=`echo "$temp" | grep -Po '^[0-9]+' | head -1`            deadstamp=`echo "$temp" | grep -Po '[0-9]+$' | sort -rn | head -1 `              if [ "$((stamp+ttl))" -gt "$deadstamp" ]            then              sed -i "${linenum}s/.*/${ip} ${stamp} $((stamp+ttl))/g" "$yfddos_blackfilePath"            fi          else            sed -i "/$a ${ip} ${stamp} $((stamp+ttl))" "$yfddos_blackfilePath"          fi         else          break        fi      done    fi      fi}#init and yfddosd's FSM start work...counter=0while truedo  sleep 5  counter=$((counter+1))  echo -n `date +%Y-%m-%d/ %H:%M:%S`" ""counter ${counter}:"`cat /proc/uptime | grep -Po '[0-9/.]+' | head -1`"  "  echo -n "refresh tll:"`cat /proc/uptime | grep -Po '[0-9/.]+' | head -1`"  "  ### refresh tll    #refresh ttl: analyze file: "$yfddos_blackfilePath" if some items'ttl has been reach the date , we will remove it and open service to the ip had been banned before.      #insert illegal ips : cat "$yfddos_blackfilePath"      # ip    add-stamp  rmv-stamp      #1.2.3.4 1416046335 1416046395    #sed -i "/^.* $((stamp-5))$/d;/^.* $((stamp-4))$/d;/^.* $((stamp-3))$/d;/^.* $((stamp-2))$/d;/^.* $((stamp-1))$/d;/^.* $((stamp))$/d;/^$/d" "$yfddos_blackfilePath"    logtmpfile=`mktemp`  stamp=`date +%s`  touch "$yfddos_blackfilePath"  if grep -Po '[0-9]+/.[0-9]+/.[0-9]+/.[0-9]+' "$yfddos_blackfilePath" &>/dev/null  then    cat "$yfddos_blackfilePath" | while read i    do      deadstamp=`echo "$i" | grep -Po '[0-9]+$'`       if [ "$stamp" -le "$deadstamp" ]      then        echo "$i" >>"$logtmpfile"      fi    done  fi  chmod o+r "$logtmpfile"  mv -f "$logtmpfile" "$yfddos_blackfilePath"  if ! grep -Po '[0-9]+/.[0-9]+/.[0-9]+/.[0-9]+' "$yfddos_blackfilePath" &>/dev/null  then    echo '255.255.255.255 0 0' >> "$yfddos_blackfilePath"  fi  logtmpfile=`mktemp`  stamp=`date +%s`  cat "$yfddos_accesslogPath" | grep -P ' "/shell/yf" ' >"$logtmpfile"  if true # every 5 seconds : 5s  then    echo -n "analyze_and_insert_black 6 10 5:"`cat /proc/uptime | grep -Po '[0-9/.]+' | head -1`"  "    #analyze yfddos log : analyze_and_insert_black() $1:max frequency(seems as abuse if above that) $2:blackip-ttl $3:the access log ${3} seconds before will be analyzed to generate the abuse ips that we will block    analyze_and_insert_black "6" "10" "5"    # 分析在過去5s內訪問的用戶 如果有人其訪問量大于等于6 系統將視其為資源濫用者 遂將其加入服務黑名單 其作用時間為10s 在10s之后 daemon進程自動刪除這個ip黑名單條目  fi  if [ "$((counter%(3)))" -eq "0" ] #every 5*3 seconds : 15s   then    echo -n "analyze_and_insert_black 14 45 15:"`cat /proc/uptime | grep -Po '[0-9/.]+' | head -1`"  "      # example : analyze_and_insert_black "limit" "ttl" "time"    analyze_and_insert_black "10" "45" "15"  fi  if [ "$((counter%(3*4+1)))" -eq "0" ] #every 5*3*4+5 seconds : 65s  then    echo -n "analyze_and_insert_black 40 840 65:"`cat /proc/uptime | grep -Po '[0-9/.]+' | head -1`"  "  # example : analyze_and_insert_black "limit" "ttl" "time"    analyze_and_insert_black "25" "840" "65"  fi  if [ "$((counter%(3*4*3*5+1)))" -eq "0" ] #every 5*3*4*3*5+5 seconds : 905s : 15min  then    echo -n "analyze_and_insert_black 150 2700 905:"`cat /proc/uptime | grep -Po '[0-9/.]+' | head -1`"  "  # example : analyze_and_insert_black "limit" "ttl" "time"    analyze_and_insert_black "150" "2700" "905"  fi  if [ "$((counter%(3*4*3*5*4+1)))" -eq "0" ] #every 5*3*4*3*5*4+5 seconds : 3605s : 1h  then    echo -n "analyze_and_insert_black 300 7200 3605:"`cat /proc/uptime | grep -Po '[0-9/.]+' | head -1`"  "  # example : analyze_and_insert_black "limit" "ttl" "time"    analyze_and_insert_black "300" "7200" "3605"  fi  if [ "$((counter%(3*4*3*5*4*3+1)))" -eq "0" ] #every 5*3*4*3*5*4*3+5 seconds : 10805s : 3h  then    echo -n "analyze_and_insert_black 400 21600 10805:"`cat /proc/uptime | grep -Po '[0-9/.]+' | head -1`"  "  # example : analyze_and_insert_black "limit" "ttl" "time"    analyze_and_insert_black "400" "21600" "10805"    #### "${yfddos_accesslogPath}" backup : 在每天的00:01-04:59時間區間內 備份日志一次    if [ "`date +%H`" -le "5" ] && ! [ -f "${yfddos_accesslogPath}-`date +%Y-%m-%d`" ]    then      service httpd stop      mv "${yfddos_accesslogPath}" "${yfddos_accesslogPath}-`date +%Y-%m-%d`"      service httpd start    fi  fi  rm -fr "$logtmpfile"  echo "sleep:"`cat /proc/uptime | grep -Po '[0-9/.]+' | head -1`"  "done

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩欧美中文| 亚洲伊人一本大道中文字幕| 亚洲男人天堂九九视频| 日韩有码片在线观看| 在线观看久久久久久| 成人深夜直播免费观看| 亚洲视频专区在线| 亚洲国产高清自拍| 日韩av123| 国产日韩亚洲欧美| 欧美高清在线播放| 日韩精品中文字幕在线观看| 亚洲欧美日韩第一区| 国产亚洲精品久久久久久777| 精品成人国产在线观看男人呻吟| 午夜精品久久久久久久99热| 国产在线98福利播放视频| 青青a在线精品免费观看| 国产一区二中文字幕在线看| 日本欧美爱爱爱| 欧美极品第一页| www高清在线视频日韩欧美| 日韩视频第一页| 国产综合久久久久| 三级精品视频久久久久| 亚洲人午夜精品| 欧美不卡视频一区发布| 久久精品亚洲一区| 成人妇女免费播放久久久| 91精品在线看| 精品丝袜一区二区三区| 精品在线欧美视频| 日韩免费看的电影电视剧大全| 国产美女精品视频| 国产精品91在线观看| 久久久天堂国产精品女人| 91精品综合视频| 91大神福利视频在线| 国产精品福利在线观看网址| 欧美猛男性生活免费| 国产精品一区二区久久| 国产成人精品免高潮在线观看| 亚洲精品自产拍| 91精品久久久久久久久青青| 久久久久久91| 国产精品爽黄69| 亚洲肉体裸体xxxx137| 国产成人午夜视频网址| 久久久久久国产免费| 亚洲成人亚洲激情| 欧美中文在线免费| 精品成人国产在线观看男人呻吟| 黑人巨大精品欧美一区免费视频| 色老头一区二区三区在线观看| 91精品国产网站| 日韩小视频在线观看| 亚洲大胆人体视频| 91极品女神在线| 亚洲国产精品va在线看黑人动漫| 国内精品久久久久影院 日本资源| 国产成人久久久| 国产精品久久久| 视频在线观看一区二区| 色婷婷综合久久久久中文字幕1| 亚洲精品乱码久久久久久按摩观| 亚洲一区二区久久久久久| 国产成人综合一区二区三区| 久久精品国产69国产精品亚洲| 九九热视频这里只有精品| 精品国产一区二区三区久久狼黑人| 亚洲春色另类小说| 欧美性高跟鞋xxxxhd| 综合国产在线视频| 欧美俄罗斯性视频| 国产成人精品免费久久久久| 久久高清视频免费| 国产精品一二三在线| 中文字幕欧美精品日韩中文字幕| 国产中文字幕亚洲| 国产精品com| 久久成年人免费电影| 欧美日韩国产第一页| 欧美一级在线亚洲天堂| 欧美激情第一页xxx| 亚洲人线精品午夜| 欧美另类在线播放| 国产精品视频一区国模私拍| www.久久色.com| 欧美做爰性生交视频| 欧美成人免费全部观看天天性色| 国内精品久久久| 中文字幕欧美日韩精品| 亚洲人成在线观看网站高清| 欧美自拍视频在线观看| 国产精品视频一| 亚洲欧美在线第一页| 成人在线国产精品| 懂色aⅴ精品一区二区三区蜜月| 欧美丰满少妇xxxx| 久久久女人电视剧免费播放下载| 在线视频中文亚洲| 韩国精品久久久999| 欧美激情久久久| 色七七影院综合| 国产精品吹潮在线观看| 91高清免费在线观看| 2021久久精品国产99国产精品| 久久99精品久久久久久琪琪| 欧美野外wwwxxx| 亚洲精品v欧美精品v日韩精品| 精品亚洲一区二区三区在线播放| 国产精品一区二区女厕厕| 国产精品一香蕉国产线看观看| 国产91精品不卡视频| 欧美第一黄网免费网站| 欧美日韩加勒比精品一区| 国产精品美女免费看| 亚洲爱爱爱爱爱| 国内精品视频久久| 日韩国产在线播放| 中文字幕欧美视频在线| 国产日韩欧美影视| 国产91对白在线播放| 大胆人体色综合| 91精品国产91久久久久久不卡| 欧美精品久久久久a| 久久中文精品视频| 欧美小视频在线观看| 国产精品99蜜臀久久不卡二区| 69国产精品成人在线播放| 亚洲性无码av在线| 国产精品美女久久| 亚洲欧美综合区自拍另类| 国产精品久久久久久av福利| 91在线国产电影| 日韩精品电影网| 亚洲精品福利资源站| 51色欧美片视频在线观看| 国产脚交av在线一区二区| 粉嫩老牛aⅴ一区二区三区| 亚洲免费视频在线观看| 九九九久久国产免费| 日韩精品视频在线免费观看| 亚洲国产精品成人精品| 国产精品午夜视频| 成人国产精品久久久久久亚洲| 国产精品久久久久久久久久久不卡| 色婷婷久久一区二区| 精品日韩美女的视频高清| 日韩美女视频免费看| 日日狠狠久久偷偷四色综合免费| 国产精品成人av性教育| 国产一区二区欧美日韩| 国产精品电影网| 久久国产精品视频| 精品日韩中文字幕| 91av在线免费观看| 精品国产精品三级精品av网址| 美女啪啪无遮挡免费久久网站| 中文字幕av一区中文字幕天堂| 日韩精品极品在线观看播放免费视频| 日韩欧美在线视频日韩欧美在线视频| 久久精品国产久精国产一老狼| 欧美电影在线播放|