什麼是CC攻擊
cc攻擊簡單就是(ChallengeCollapsar)
CC攻擊的原理就是攻擊者控制某些主機不停地發大量資料包給對方伺服器造成伺服器資源耗盡,一直到宕機崩潰。CC主要是用來攻擊頁面的,每個人都有這樣的體驗:當一個網頁訪問的人數特別多的時候,開啟網頁就慢了,CC就是類比多個使用者(多少線程就是多少使用者)不停地進行訪問那些需要大量資料操作(就是需要大量CPU時間)的頁面,造成伺服器資源的浪費,CPU長時間處於100%,永遠都有處理不完的串連直至就網路擁塞,正常的訪問被中止。
防止CC攻擊方法
我用防止這CC攻擊有兩種方法
第一種就是利用原生防火牆來解決可以安裝CSF之內的防火牆,這種的弊端是只能防止小規模的CC攻擊和DDOS(我的站在阿里雲,所以不用太擔心DDOS)CC攻擊比較猛的話機器也直接CUP跑滿了。
第二種方式是添加CDN,這種防止CC攻擊的方法是最好的,不過CDN一般都要錢,於是我找到一個https://www.yundun.cn/login,說是專門防CC DDOS的,其實也就是一個CDN,有免費的套餐,足夠我這小站用了。
現在就來談談我的具體換防護把,
首先安裝CSF防火牆,這個比較簡單而且不用改網域名稱什麼的,小規模的就直接解決了。
一、安裝依賴包:
代碼如下 |
複製代碼 |
yum install perl-libwww-perl perl iptables |
二、下載並安裝 CSF:
代碼如下 |
複製代碼 |
wget http://www.configserver.com/free/csf.tgz tar -xzf csf.tgz cd csf sh install.sh
|
三、測試 CSF 是否能正常工作:
代碼如下 |
複製代碼 |
[root@localhost csf]# perl /etc/csf/csftest.pl Testing ip_tables/iptable_filter...OK Testing ipt_LOG...OK Testing ipt_multiport/xt_multiport...OK Testing ipt_REJECT...OK Testing ipt_state/xt_state...OK Testing ipt_limit/xt_limit...OK Testing ipt_recent...OK Testing xt_connlimit...OK Testing ipt_owner/xt_owner...OK Testing iptable_nat/ipt_REDIRECT...OK Testing iptable_nat/ipt_DNAT...OK RESULT: csf should function on this server
|
四、csf的配置:
CSF的設定檔是
代碼如下 |
複製代碼 |
vim /etc/csf/csf.conf # Allow incoming TCP ports # 推薦您更改 SSH 的預設連接埠(22)為其他連接埠,但請注意一定要把新的連接埠加到下一行中 TCP_IN = “20,21,47,81,1723,25,53,80,110,143,443,465,587,993,995〃 # Allow outgoing TCP ports同上,把 SSH 的登入連接埠加到下一行。 # 在某些程式要求開啟一定範圍的連接埠的情況下,例如Pureftpd的passive mode,可使用類似 30000:35000 的方式開啟30000-35000範圍的連接埠。 TCP_OUT = “20,21,47,81,1723,25,53,80,110,113,443〃 # Allow incoming UDP ports UDP_IN = “20,21,53〃 # Allow outgoing UDP ports # To allow outgoing traceroute add 33434:33523 to this list UDP_OUT = “20,21,53,113,123〃 # Allow incoming PING 是否允許別人ping你的伺服器,預設為1,允許。0為不允許。 ICMP_IN = “1〃 以上這些配置大家一看就懂了,下面再介紹幾個比較常用的: 免疫某些類型的小規模 DDos 攻擊: # Connection Tracking. This option enables tracking of all connections from IP # addresses to the server. If the total number of connections is greater than # this value then the offending IP address is blocked. This can be used to help # prevent some types of DOS attack. # # Care should be taken with this option. It’s entirely possible that you will # see false-positives. Some protocols can be connection hungry, e.g. FTP, IMAPD # and HTTP so it could be quite easy to trigger, especially with a lot of # closed connections in TIME_WAIT. However, for a server that is prone to DOS # attacks this may be very useful. A reasonable setting for this option might # be arround 200. # # To disable this feature, set this to 0 CT_LIMIT = "200"##固定時間內同一個IP請求的此數 # Connection Tracking interval. Set this to the the number of seconds between # connection tracking scans CT_INTERVAL = "30" ##指上面的固定時間,單位為秒 # Send an email alert if an IP address is blocked due to connection tracking CT_EMAIL_ALERT = "1" ##是否發送郵件 # If you want to make IP blocks permanent then set this to 1, otherwise blocks # will be temporary and will be cleared after CT_BLOCK_TIME seconds # 是否對可疑IP採取永久屏蔽,預設為0,即臨時性屏蔽。 CT_PERMANENT = "0" # If you opt for temporary IP blocks for CT, then the following is the interval # in seconds that the IP will remained blocked for (e.g. 1800 = 30 mins) # 臨時性屏蔽時間 CT_BLOCK_TIME = "1800" # If you don’t want to count the TIME_WAIT state against the connection count # then set the following to “1〃 CT_SKIP_TIME_WAIT = "0" ##是否統計TIME_WAIT連結狀態 # If you only want to count specific states (e.g. SYN_RECV) then add the states # to the following as a comma separated list. E.g. “SYN_RECV,TIME_WAIT” # Leave this option empty to count all states against CT_LIMIT CT_STATES = "" ##是否分國家來統計,填寫的是國家名 # If you only want to count specific ports (e.g. 80,443) then add the ports # to the following as a comma separated list. E.g. “80,443〃 # # Leave this option empty to count all ports against CT_LIMIT # 對什麼連接埠進行檢測,為空白則檢測所有,防止ssh的話可以為空白,統計所有的。 CT_PORTS = "" 做了以上設定之後,可以先測試一下。如果沒有問題的話,就更改為正式模式,剛才只是測試模式。 # 把預設的1修改為0。 TESTING = "0" 在/etc/csf/下有csf.allow和csf.deny兩個檔案, allow是信任的IP,可以把自己的IP寫到這裡面防止誤封。 deny就是被封的IP。
|
如果有調整需要重啟一下cfs服務
按照上面的方法安裝設定CSF基本上小CC攻擊就解決了,我的站剛加好也解決了,可以第二天攻擊加大了,沒辦法只有用第二種辦法了
註冊了Apsara Stack Security帳號,認證網域名稱,更改網域名稱指向到Apsara Stack Security的網域名稱,我加完之後再也沒有收到攻擊