自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

這才叫云安全,云鎖Nginx過(guò)濾模塊開(kāi)源啦!

安全 云安全
云安全解決方案【云鎖】今日宣布Nginx模塊開(kāi)源,幫助用戶適配更多的Nginx版本。秉承著讓安全變得更簡(jiǎn)單的宗旨,讓動(dòng)手能力強(qiáng)的小伙伴親自打造適合自己的Nginx環(huán)境。

云安全解決方案【云鎖】今日宣布Nginx模塊開(kāi)源,幫助用戶適配更多的Nginx版本。秉承著讓安全變得更簡(jiǎn)單的宗旨,讓動(dòng)手能力強(qiáng)的小伙伴親自打造適合自己的Nginx環(huán)境。

開(kāi)源_副本.png

除了采用內(nèi)核加固技術(shù)來(lái)增強(qiáng)服務(wù)器自身對(duì)抗惡意代碼和黑客攻擊的策略外,云鎖通過(guò)在web中間件部署安全模塊的方式來(lái)對(duì)抗網(wǎng)絡(luò)攻擊,通過(guò)安全模塊的filter過(guò)濾功能,云鎖能高效過(guò)濾惡意流量和黑客攻擊,強(qiáng)力對(duì)抗CC、SQL注入、上傳一句木馬等網(wǎng)絡(luò)攻擊。

 

一般情況下,當(dāng)用戶安裝云鎖的時(shí)候,云鎖會(huì)自動(dòng)適配nginx版本,使用我們已經(jīng)預(yù)編譯好的包含云鎖模塊的 nginx備份并替換掉您當(dāng)前系統(tǒng)中使用的nginx。卸載時(shí),會(huì)將系統(tǒng)原始nginx文件替換回來(lái)。因此,云鎖可保護(hù)使用nginx搭建的網(wǎng)站,開(kāi)創(chuàng)了這個(gè)領(lǐng)域的先河。

 

此文檔假設(shè)您曾經(jīng)編譯過(guò)nginx或tengine源代碼,如果您之前沒(méi)有經(jīng)驗(yàn),請(qǐng)參考:http://nginx.org/en/docs/configure.html


如何編譯云鎖nginx模塊,步驟如下:

1. 為避免意外情況發(fā)生, 請(qǐng)先將系統(tǒng)當(dāng)前使用中的nginx進(jìn)行備份(包括相關(guān)的網(wǎng)站配置文件) 

2. wget https://codeload.github.com/yunsuo-open/nginx-plugin/zip/master -O nginx-plugin-master.zip 

3. unzip nginx-plugin-master.zip

4. cd nginx-plugin-master 

5. pwd 獲取當(dāng)前云鎖插件源碼所在目錄的全路徑 (假設(shè)為:/home/nginx-plugin-master,實(shí)際情況以pwd輸出為準(zhǔn))

6. 如果您的環(huán)境是tengine,可以跳過(guò)這一步。對(duì)于nginx版本,由于其不支持post過(guò)濾,所以需要修改nginx源碼目錄下src/http/ngx_http_upstream.c 文件 步驟如下:

a. 查找 static void ngx_http_upstream_init_request(ngx_http_request_t *r)函數(shù),在其 所在行上方添加:int ngx_http_yunsuo_post_in_handler(ngx_http_request_t *r);

 

b. 在ngx_http_upstream_init_request函數(shù)開(kāi)頭,變量聲明后,添加:

    if(ngx_http_yunsuo_post_in_handler(r)) 

    {

        return;

    }

 

 

什么?沒(méi)看懂?好吧,以nginx-1.0.11為例:


修改前源碼:

static void

    ngx_http_upstream_init_request(ngx_http_request_t *r)

    {

        ngx_str_t                      *host;

        ngx_uint_t                      i;

        ngx_resolver_ctx_t             *ctx, temp;

        ngx_http_cleanup_t             *cln;

        ngx_http_upstream_t            *u;

        ngx_http_core_loc_conf_t       *clcf;

        ngx_http_upstream_srv_conf_t   *uscf, **uscfp;

        ngx_http_upstream_main_conf_t  *umcf;

 

        if (r->aio) {

            return;

        }

 

        u = r->upstream;

 

        ......

 

    }

修改后源碼:

 

static void

    ngx_http_upstream_init_request(ngx_http_request_t *r)

    {

        ngx_str_t                      *host;

        ngx_uint_t                      i;

        ngx_resolver_ctx_t             *ctx, temp;

        ngx_http_cleanup_t             *cln;

        ngx_http_upstream_t            *u;

        ngx_http_core_loc_conf_t       *clcf;

        ngx_http_upstream_srv_conf_t   *uscf, **uscfp;

        ngx_http_upstream_main_conf_t  *umcf;

 

        if (r->aio) {

            return;

        }

 

        u = r->upstream;

 

        ......

 

    }

7. 云鎖的nginx插件模塊是標(biāo)準(zhǔn)的nginx模塊,所以您在編譯nginx過(guò)程中,configure時(shí)只要添加額外參數(shù) --add-module=/home/nginx-plugin-master(注意:/home/nginx-plugin-master為示例,實(shí)際路徑以步驟5中pwd命令為準(zhǔn)) 即可讓nginx支持云鎖的功能,示例如下: 

假設(shè)您之前configure時(shí)的命令如下:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module \
--with-http_ssl_module --with-http_gzip_static_module \
--add-module=../ngx_cache_purge-1.3

 現(xiàn)在的configure時(shí)的命令如下:

 

./configure --prefix=/usr/local/nginx --with-http_stub_status_module \
--with-http_ssl_module --with-http_gzip_static_module \
--add-module=../ngx_cache_purge-1.3
--add-module=/home/nginx-plugin-master

 

8. 編譯 nginx (注意:如果原本已經(jīng)有 nginx, 只執(zhí)行 make 即可,make install 會(huì)覆蓋掉你的 nginx.conf)

 

9. 將系統(tǒng)當(dāng)前使用中的nginx二進(jìn)制文件替換為剛剛編譯好的包含了云鎖模塊的nginx文件即可


讓云鎖識(shí)別您自己編譯的nginx,步驟如下:

1. 安裝云鎖,如果您已經(jīng)安裝了云鎖,可跳過(guò)此步驟。如果還沒(méi)有,請(qǐng)到http://www.yunsuo.com.cn/ht/software/ 下載并安裝云鎖

 

2. cd /usr/local/yunsuo_agent/nginx/ 

 

3.  ./configure_compiled_nginx nginx_install_path (nginx_install_path為nginx的安裝路徑,即configure時(shí) --prefix=path 如果未指定過(guò)路徑, 那么默認(rèn)為/usr/local/nginx)

 

FAQ


1. 什么情況下我需要自己編譯云鎖的nginx模塊? 

(a)當(dāng)您的nginx使用了第三方或者自己開(kāi)發(fā)的模塊的時(shí)候,需要編譯云鎖的nginx模塊。您可以通過(guò)nginx -V命令查看輸出的 信息里是否包含了 --add-module= 的字樣 (例如:--add-module=../ngx_cache_purge-1.3 說(shuō)明使用了ngx_cache_purge-1.3第三方 模塊)

(b)當(dāng)使用tengine的時(shí)候,需要編譯云鎖的nginx模塊 c.當(dāng)您發(fā)現(xiàn)當(dāng)前使用的nginx版本比我們自動(dòng)安裝的版本高的時(shí)候,可以自己編譯云鎖的nginx模塊

(c)當(dāng)您發(fā)現(xiàn)當(dāng)前使用的nginx版本比我們自動(dòng)安裝的版本高的時(shí)候,可以自己編譯云鎖的nginx模塊


2. 如果我把云鎖卸載了,nginx需要重新編譯嗎?

不需要,云鎖的nginx模塊會(huì)判斷云鎖是否安裝,如果不安裝則不生效。當(dāng)然您也可以替換回之前的nginx

 

3. 我應(yīng)該先安裝云鎖,還是先編譯nginx?

都可以,沒(méi)有先后順序關(guān)系

 

4. 怎樣單獨(dú)卸載 nginx 插件?

有如下三種方式可以實(shí)現(xiàn)卸載插件:

(a)現(xiàn)有版本 nginx 默認(rèn)不支持從客戶端卸載,如果想支持從客戶端卸載, 需要手動(dòng)將 系統(tǒng)原有的 nginx 重命名為 nginx.bak,  并將之替換 /usr/local/yunsuo_agent/nginx/backup 目錄下的 nginx.bak(此操作需要關(guān)閉云鎖自保護(hù)功能), 這樣就可以使用客戶端的插件卸載功能了

(b)手動(dòng)刪除或者重命名 /usr/local/yunsuo_agent/nginx/ 目錄下的 libnginx_plugin.so(此操作需要關(guān)閉云鎖自保護(hù)功能), 重啟 nginx 服務(wù)即可

(c)手動(dòng)使用系統(tǒng)原有的 nginx 直接替換 當(dāng)前使用的帶有云鎖插件的 nginx

 推薦使用第一種方式, 因?yàn)槠浔阌诤罄m(xù)的安裝和卸載

 

推薦使用第一種方式, 因?yàn)槠浔阌诤罄m(xù)的安裝和卸載

云鎖在GitHub等您,點(diǎn)擊鏈接 https://github.com/yunsuo-open/nginx-plugin#rd 了解詳情。

責(zé)任編輯:何巍
相關(guān)推薦

2021-01-12 14:56:40

Redis分布式鎖工具

2019-10-08 10:20:43

開(kāi)源云安全工具

2009-09-08 11:51:56

2023-09-16 18:26:02

云安全網(wǎng)絡(luò)安全

2020-05-31 18:50:44

云計(jì)算開(kāi)源安全工具

2013-03-12 10:54:49

云安全云計(jì)算

2018-08-30 05:32:46

2018-09-11 04:14:24

2009-01-07 18:00:24

服務(wù)器IBM云計(jì)算

2013-01-15 10:12:39

云存儲(chǔ)云安全

2015-10-15 18:00:32

2010-01-05 11:08:28

2024-01-08 17:36:09

2012-08-13 10:10:23

云管理混合云管理云安全管理

2012-08-08 10:49:20

云安全云服務(wù)云備份

2018-09-26 05:33:49

2022-03-07 05:45:05

云安全云提供商

2022-04-27 08:42:20

Markdown編輯神器

2015-07-20 15:48:01

2015-10-14 13:30:08

點(diǎn)贊
收藏

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