1. 程式人生 > 其它 >linux nginx伺服器安裝verynginx防止CC攻擊

linux nginx伺服器安裝verynginx防止CC攻擊

自己國內重要網站都是用的某些商業防護軟體,但是最近增加了個國外的vps,就不方便。

當然我看國外某款waf,也挺便宜的,效果不亞於阿里雲的安全產品。

不過網站小,沒必要一個月20刀去買,就用nginx簡單的弄下防禦就好了。

由於vps已經套了Any cast就不怎麼擔心ddos了,弄下cc防禦就好了。

基於nginx關於防禦cc攻擊的,網上挺多相關指令碼模組的,很多都是基於lua開發的,然後用OpenResty,防禦效果還是不錯的。

我用了verynginx,是覺得有控制面板,功能也挺多的,具體可以到官方看:VeryNginx

一、安裝lua模組

由於我沒有安裝lua模組,就先安裝這個吧。我是用的oneinstack安裝的環境,所以就安裝oneinstack的來。

pushd /root/oneinstack/src
wget -c http://nginx.org/download/nginx-1.12.1.tar.gz
wget -c https://www.zhujitop.com/test/openssl-1.0.2l.tar.gz
wget -c https://www.zhujitop.com/test/pcre-8.41.tar.gz
wget -c http://luajit.org/download/LuaJIT-2.0.5.tar.gz
git clone https://github.com/simpl/ngx_devel_kit.git
git clone https://github.com/openresty/lua-nginx-module.git
tar xzf nginx-1.12.1.tar.gz
tar xzf openssl-1.0.2l.tar.gz
tar xzf pcre-8.41.tar.gz
tar xzf LuaJIT-2.0.5.tar.gz
pushd LuaJIT-2.0.5
make && make install
popd
pushd nginx-1.12.1
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-openssl=../openssl-1.0.2l --with-pcre=../pcre-8.41 --with-pcre-jit --with-ld-opt=-ljemalloc --add-module=../lua-nginx-module --add-module=../ngx_devel_kit
make
mv /usr/local/nginx/sbin/nginx{,_bk}
cp objs/nginx /usr/local/nginx/sbin

如果自己有了, 某些就不用重新下載了,針對verynginx重要的就是LuaJIT、lua-nginx-module、其他的一般都已經安裝了,只是要重新編譯下nginx

新增變數:

cat /etc/ld.so.conf include ld.so.conf.d/*.conf echo “/usr/local/lib” >> /etc/ld.so.conf ldconfig

然後看看有沒有錯誤: nginx -t

二、安裝verynginx

1:建立個資料夾並且進去

mkdir verynginx

cd verynginx

2:下載解壓

wget https://github.com/alexazhou/VeryNginx/archive/master.zip

(備份地址:https://www.zhujitop.com/test/master.zip)

unzip master.zip

3:安裝

cd VeryNginx-master

python install.py

python install.py install all

如果是自行編譯的nginx或OpenResty,就選擇install verynginx;一鍵安裝就用install all;還有一個選項是隻安裝OpenResty:install openresty。

我之前並沒有安裝OpenResty,所以就用一鍵安裝好了,就是上面的python install.py install all

安裝完成了,就會出現上面的提示,一般不用管它,除非你自己要修改。

4:配置

安裝完成之後,檢視檔案:/opt/verynginx/openresty/nginx/conf/nginx.conf

如果已經是下圖這樣了,就不用管了,如果不是就先修改下,增加三行程式碼:

include /opt/verynginx/verynginx/nginx_conf/in_external.conf; 新增到http上面

include /opt/verynginx/verynginx/nginx_conf/in_http_block.conf;新增到http裡面

include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;#新增到server裡面

由於我之前都做好網站,並且伺服器的nginx檔案是寫到一起的,我就得在本身伺服器的nginx配置檔案,也去增加上面的三行才管用。

最後重啟下nginx

然後去開啟下面的地址,看看能否開啟。

http://[your domain or ip]/verynginx/index.html

這個也可以繫結你自己域名的。

預設的使用者名稱和密碼都是:verynginx 後臺可以修改

用做控制面板的ip或者域名最好做好保護,域名也可以上ssl證書的。

至於裡面的設定,常見都設定好了,也可以自己增加,可以自己改改。

重要提示:對於不懂匹配規則的,不要亂設定all_request,錯誤設定你網站就掛了,就只能把verynginx刪了。

如果不能進這個頁面,就是配置錯誤,主要就是看看必須的模組有沒有,然後再看看相關的路徑設定就好了。

如果只是為了CC防禦,其實也可以不用這個,這個只是可以實現更多的功能,誤殺機率可以更小點。