NGINX

Multi-app支持

该代理支持多个应用程序配置。看到将tCell App id分配给NGINX文件有关整合多个应用程序id的说明。

有些tCell功能不可用

操作系统命令,帐户接管,本地文件,软件包和Vulns。NGINX上没有可用的特性。

支持技术

tCell已经为这些NGINX发行版预先构建了版本。如果你的NGINX发行版不匹配这个列表中的一个,请参见定制代理构建来获取具体的信息。

版本 操作系统 笔记
1.10.2 CentOS 6 Centos 6的NGINX的EPEL版本,由yum安装
1.10.3 Debian拉伸 构建1- nginx-extras的Debian Stretch版本。用不同的构建标志构建不同的二进制文件
构建2-用于Debian Stretch的标准NGINX,由apt. Build标志从apt repo版本安装
1.10.2 Ubuntu款待的 构建1- nginx-extras的版本可用于Ubuntu Xenial。用不同的构建标志构建不同的二进制文件
构建2-用于Ubuntu Xenial的标准NGINX,由apt. Build标志从apt repo版本安装。最初的版本是用-fPIE构建的,但这不能对静态库进行链接,因此将其更改为-fPIC
构建3- nginx.org apt repo兼容版本。从nginx.org APT repo构建标志
1.11.2 CentOS 7 OpenResty 1.11.2。从OpenResty的yum repo版本构建标志
1.12.2 CentOS 7 来自Centos 7 EPEL repo的标准NGINX构建,由yum安装。从EPEL构建标志
1.12.2 高山3.7 标准NGINX版本与Alpine 3.7稳定版捆绑,由apk安装
1.13.6 CentOS 7 OpenResty 1.13.6。从OpenResty的yum repo版本构建标志
1.14.0 Ubuntu仿生 用于Ubuntu Bionic的标准NGINX,由apt安装。从apt repo版本构建标志
1.14.1 CentOS 7 Redhat for RHEL7配置的NGINX从Redhat版本构建标志
1.14.2 Ubuntu款待的 稳定的NGINX版本来自nginx.org。从nginx.org APT repo构建标志
1.14.2 高山3.8 标准NGINX阿尔卑斯山3.8,由apk安装。从APK回购版本构建标志
1.16.1 Ubuntu仿生 Launchpad 1.16.1从NGINX发布
1.16.1 Debian克星 稳定的nginx.org官方docker映像(docker pull nginx:1.16.1)
1.17.4 高山3.10 Mainline nginx.org官方docker图片(docker pull nginx:1.17.4-alpine)
1.17.5 Debian克星 Mainline nginx.org官方docker镜像(docker pull nginx:1.17.5)

CentOS 6.0生命终结公告

截至2021年12月31日,Rapid7将在CentOS 6.0上结束生命(EOL) tCell代理。Agent文档和支持要求将同时反映这一变化。看到CentOS临终公告看看你是否受到了影响,以及你能采取什么行动。

先决条件

在开始之前,请确认:

  • 设置一个tCell帐户
  • 创建一个tCell应用程序(Admin > Applications)
  • 确保NGINX安装在:$NGINX_INSTALL_DIR目录下。
  • 允许出站HTTPS连接到tCell云:tCell代理连接到哪些ip ?
  • 下载座席和配置文件:
    1. 点击顶部导航栏中的“tCell Admin”。
    2. 点击“下载代理”。
    3. 点击“Web服务器代理”。
    4. 选择“NGINX”代理。
    5. 选择“Create New API Key”(默认)。
    6. 下载焦油。xz文件。
    7. 单击“下载配置文件”下载代理的配置文件(其中预先填充了应用程序和关键信息)。

安装

模块和配置路径

本节假设nginx.conf路径为/etc/nginx/nginx.conf,模块目录位于in-modules-path.运行以下命令查找特定路径:nginx - v

在输出中,搜索-modules-pathconf-path

  1. 确保你有/etc/nginx/nginx.conf和modules目录。如果有必要,创建它们。

  2. 解压下载的nginx代理tar。xz文件。

  3. ngx_http_tcell_agent_module.so文件对应于你的OS和NGINX版本-modules-path.(包包含Ubuntu x-y, CentOS x-y, Amazon Linux的版本。)

  4. 添加一行load_module模块/ ngx_http_tcell_agent_module.so;到nginx.conf*之前事件块。例子:

               
    1
    用户nginx
    2
    worker_processes汽车;
    3.
    4
    error_log日志/ error.log;
    5
    error_log日志/ error.log通知;
    6
    error_log日志/ error.log信息;
    7
    pid日志/ nginx.pid;
    8
    9
    load_module /道路/ ngx_http_tcell_agent_module.so;
    10
    11
    事件{
    12
    worker_connections 1024;
    13
  5. tcell_agent.config文件在与nginx.conf相同的目录下。

  6. 添加一行tcell_app_id APP_ID;的事件块/etc/nginx/nginx.conf文件。例如:http {tcell_app_id krtest-CeOCq;...

  7. 重启nginx

如果您遇到类似于Nginx: [emerg] module "modules/ngx_http_tcell_agent_module. "所以" is not binary compatible in /usr/local/nginx/conf/nginx.conf,这可能意味着:

  • 您选择的代理构建与您的发行版不匹配
  • 你的nginx构建是本地生成的自定义构建。请参阅下面的自定义代理构建。

NGINX支持日志滚动,允许代理继续向完整的日志文件添加新行。看到设定原木横摇

例如:nginx - v

         
1
root@8a5fa88427d8: / etc / nginx # nginx - v
2
3.
nginx版本:nginx/1.14.0 (Ubuntu)
4
5
2018年9月11日
6
7
启用TLS SNI支持
8
9
——with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-GkiujU/nginx-1.14.0=。-fstack-protector-strong -Wformat -Werror = format-security - fpic -Wdate-time -D_FORTIFY_SOURCE = 2”——with-ld-opt =“- wl -Bsymbolic-functions - wl, - z, relro - wl, - z,现在- fpic '——prefix = / usr / share / nginx——conf-path = / etc / nginx / nginx.conf——http-log-path = / var / log / nginx access.log——error-log-path = / var / log / nginx / error.log——lock-path = / var /锁定/ nginx。锁——pid-path = /运行/ nginx。pid - modules-path = / usr / lib / nginx /模块——http-client-body-temp-path = / var / lib / nginx /身体——http-fastcgi-temp-path = / var / lib / nginx fastcgi——http-proxy-temp-path = / var / lib / nginx /代理——http-scgi-temp-path = / var / lib / nginx scgi——http-uwsgi-temp-path = / var / lib / nginx uwsgi——的调试with-pcre-jit——with-http_ssl_module——with-http_stub_status_module with-http_realip_module——with-http_auth_request_module with-http_v2_module——with-http_dav_module with-http_slice_module——线程with-http_addition_module——with-http_geoip_module =动态with-http_gunzip_module——with-http_gzip_static_module with-http_image_filter_module =动态——with-http_sub_module——with-http_xslt_module=dynamic——with-stream=dynamic——with-stream_ssl_module——with-mail=dynamic

验证

要验证数据正在被发送到tCell,请转到tCell控制台并确保为您刚刚创建的应用程序列出的web服务器代理的数量大于0。

故障排除

日志文件可以在tcell /日志目录中。如果你没有看到tcell /日志目录,则很可能tCell代理还没有启动。如果是这样:

  1. 运行以下命令,确认tCell代理正在添加到服务器启动中:

               
    1
    Ps aux | grep——color tcell
  2. 检查你的简历中有没有错误catalina.out日志。另外,跑步bin / catalina.sh运行bin / catalina.bat运行将在前台启动tomcat,并在启动时打印任何错误。

您可以在日志列表中自定义日志级别tcell_agent.config文件通过添加一个块,如以下:

         
json
1
“logging_options”
2
“启用”真正的
3.
“水平”“信息”
4

看到tcell / tcell_agent.config.template了一个例子。

有效的日志级别包括:

  • 跟踪
  • 调试
  • 信息(默认)
  • 警告
  • 错误

上面的列表显示了级别之间从上到下的优先级。当启用日志级别时,较低的日志级别也会启用。例如,如果您启用DEBUG,那么INFO、WARN和ERROR也会启用。

当日志文件已满时,将在新的日志文件中继续记录日志。看到日志滚动为更多的信息。

定制代理构建

NGINX要求构建模块时使用与它们运行的服务器相同的特性标志,以确保正确的操作。

如果你使用带有自己标志集的定制NGINX构建,Rapid7可以构建一个代理来为你在这个环境中工作。

  1. 让Rapid7知道这是你的要求。
    • 在概念验证期间,让你的销售团队联系人知道。
    • 如果你已经购买了tCell,现在正在为你的受保护应用程序集添加一个NGINX环境,或者正在更改为自定义NGINX设置,请通过Rapid7客户门户
  2. 在上述支持机制中提供以下信息:
    • 你的NGINX服务器输出-V标志(例如,/ opt / nginx / sbin / nginx - v),最好是作为压缩文本文件附件。
    • 关于NGINX服务器的操作系统和分布的信息。在大多数Linux系统上,该命令提供详细的操作系统信息:猫/etc/*release如果可能,将此命令的输出附加到支持用例。
    • 上的信息NGINX构建出处.具体来说,如果NGINX是从源代码构建的,请提供构建步骤和使用的工具。如果使用特定的工具(如apt-get)安装,请提供执行的详细apt-get步骤。
  3. Rapid7将回复一个确认和估计的完成时间,并在几天内,自定义模块匹配你的NGINX构建。