网站每天都有CC防御流量攻击如何办-墨者安全-墨者盾
DDOS防御_CC防护_高防CDN服务器_【墨者安全】—墨者盾墨者盾—你的网站贴身保镖!

QQ:800185041
高防免费接入:400-0797-119

渠道合作:156 2527 6999

主页 > CC防护 > 网站每天都有CC防御流量攻击如何办

网站每天都有CC防御流量攻击如何办

小墨安全管家 2021-01-14 11:12 CC防护 89 ℃
DDoS防御
我在 Elastic 工作基本 4 年多了,其中有三年半都在支持和问部门工作,最近半年在销售部工作。可是,不管我在哪个部门,用户向我询咨询最多的咨询题基本上怎么确保 Elasticsearch 的安全性。Elasticsearch 支持哪种类型的身份验证?怎么设置?怎么确保用户不大概看到他们不应看到的数据?我撰写此篇博文的目的算是回答这些咨询题,并且提供一些指导以关心您解决安全功能配置过程中的某些常见咨询题。 首先,介绍一下背景。假如是 Elasticsearch 的老用户,您确信懂我们之前曾经过 X-Pack 中一具名为 Shield 的插件提供安全功能。如今,安全功能(以及 X-Pack 中的其他功能)已集成到 Elastic Stack 中,而且最常用功能在默认分发版本中免费提供。安全功能包括加密通信 (TLS/SSL)、身份验证(原生、LDAP、SSO 等)、授权(RBAC、ABAC 等等)、IP 筛选、审计日志,等等。本篇博文将会关注身份验证和授权。 Elasticsearch 中的身份验证简单来讲,DDoS防御,假如用户或 API 想访咨询 Elastic,其必须完成身份验证。 Elasticsearch 为多种安全想法提供原生支持,例如: 原生用户身份验证活动名目用户身份验证基于文件的用户身份验证LDAP 用户身份验证PKI 用户身份验证SAML 身份验证Kerberos 身份验证假如上面这些均不适用,您甚至还能够创建自个儿的集成想法。可是,我们普通建议用户使用既有集成想法,因为这些方案均通过验证同时我们不断针对它们举行开辟以确保提供相应支持。 Elasticsearch 中最差不多的安全组件是 Realm,验证用户身份并解决相关咨询题时便会用到 Realm。上面列出的每种身份验证想法均可视为一具 Realm。而且,为了可以正常运行,Elasticsearch 使用 Realm 链路。Realm 链路是一具由已配置 Realm 构成且已对其举行优先级排序的列表(从第 1 个到第 N 个 Realm),按偏好程度升序罗列。当用户尝试访咨询 Elasticsearch 时,此请求会按顺序遍历列表,直到身份验证成功或者没有 Realm 可供尝试。 从本质上来讲,这一过程会尝试列表中的配置的第一具 Realm,假如失败就尝试下一具,直至在其中一具 Realm 项上成功,或者尝试完毕整个列表中的所有 Realm。访咨询 Elasticsearch 过程中的那个第一步叫做身份验证。 一旦用户身份验证成功,Elasticsearch 便会尝试给用户分配一具或多个角色。在身份验证过程中,基于用户的某些属性,能够经过静态或动态方式来为用户分配角色。按照对用户举行身份验证时所用 Realm 的类型,分配角色时所用的用户属性能够是他们在外部系统中的群成员身份,或者他们 Elasticsearch 用户名的前缀,等等。不仅这样,Elasticsearch 还有一项特色 run as functionality(作为功能运行),借助此选项用户无需再次举行身份验证便能代表其他用户提交请求。 身份验证时期完成之后,下一步算是授权。您能够经过下图了解整个工作流程: Elasticsearch 中的授权身份验证成功后,DDoS防御,用户便会来到第二个安全检查点:授权。授权流程用来确定可否允许用户执行某一请求,实现想法是将用户映射至预定义和/或用户定义的角色。Elasticsearch 设置了一些默认角色,但您也能够为自个儿的用例创建特定角色。 角色由下列内容组成: 具有访咨询权限的用户列表集群权限全局权限索引权限应用程序权限在此第二时期,Elasticsearch 会使用下列想法中的一种:我们推举的想法是 role_mapping API,因为它能让您基于 API 集中治理每个角色的映射关系。在 Elastic Cloud 上的 Elasticsearch Service 中,这是配置映射关系的唯一想法。角色映射文件 (role_mapping.yml),其位于每个节点内的配置文件夹中。role_mapping API 需要由拥有正确权限来治理角色的用户举行调用。Elastic 用户拥有的 superuser(超级用户)角色便是一具示例,然而,您也能够为此目的创建一具特定角色。 Realm 和角色的定义截然不同。Realm 和 Realm 链路用来举行身份验证,身份验证时期之后,我们需要使用角色来对用户举行映射。尽管只会使用 Realm 链路中的单一 Realm 来举行身份验证,防DDoS,但在第二个时期中,同一用户可映射至一具或多个角色。这也称作基于角色的访咨询操纵。 身份验证和授权咨询题的故障排查步骤如今基本了解了身份验证和授权过程的基础知识,我们接下来看一下您遇到任何咨询题时能够采取哪些故障排查步骤。 401 未授权假如试遍所有 Realm 后都无法完成身份验证,您大概会得到一条状态代码为 401 未授权的响应。针对已配置 Realm 列表尝试您的凭据时,最简单想法算是使用 cURL,并搭配一具可允许检查的旗标(例如 -v)。您大概会得到类似下面的响应: curl https://xxxxxx:9200 -u test:test -v > User-Agent: curl/7.54.0 > Accept: */* > < HTTP/1.1 401 Unauthorized < Content-Type: application/json; charset=UTF-8 < Date:Tue, 10 Sep 2019 15:59:33 GMT < Www-Authenticate:Bearer realm="security" < Www-Authenticate:ApiKey < Www-Authenticate:Basic realm="security" charset="UTF-8" < Content-Length:455 < Connection: keep-alive < * Connection #0 to hostRead More 06618318cff64c829af1cd5a2beb91a5.us-east-1.aws.found.io left intact {"error":{"root_cause":[{"type":"security_exception","reason":"unable to authenticate user [test] for REST request [/]","header":{"WWW-Authenticate":Bearer realm=\"security\"","ApiKey","Basic realm=\"security\" charset=\"UTF-8\""]}}],"type":"security_exception","reason":"unable to authenticate user [test] for REST request [/]","header":{"WWW-Authenticate":Bearer realm=\"security\"","ApiKey","Basic realm=\"security\" charset=\"UTF-8\""]}},"status":401}% Read Less这条错误消息可以帮您了解咨询题的全然缘由。举例讲明,对一些特定 Realm(例如 SAML)而言,其需要 Kibana 或定制网络应用程序与 Elasticsearch 或身份服务提供商举行交互。 启用错误日志假如在设置完 Realm、Realm 链路、角色和角色映射后,您仍遇到咨询题,您能够轻松配置一些额外日志来猎取我们之前所说身份验证和授权过程的更多相关信息。 使用集群 settings API 中的日志配置,您可为任何 Realm 定义任何日志级别。 我们看一具有关 LDAP Realm 的示例。假如用户身份验证或授权失败,您能够设置下面的日志级别来获得详细的相关信息: PUT /_cluster/settings { "transient": { "logger.org.elasticsearch.xpack.security.authc.ldap":"DEBUG", "logger.org.elasticsearch.xpack.security.authz":"DEBUG" } }这会将 LDAP 数据包的日志级别从默认提升为 DEBUG。您还能够启用 TRACE 日志,以猎取更加详尽的信息,例如发送给服务器的每次 LDAP 调用,CC防御,以及服务器给出的响应。使用我们的 GitHub 存储库,您能够找到在每个特定 REALM 上需启用的数据包名称。举例讲明,下面便是适用于 LDAP Realm 的代码。经过使用第一行代码,您能够看到确定日志级别时所用的数据包: package org.elasticsearch.xpack.security.authc.ldap;启用之后,您即将便会收到大量日志行,例如下面的示例: [2019-09-12T08:41:20,628][DEBUG][o.e.x.s.a.l.LdapRealm ] [xxxxxxx] user not found in cache, proceeding with normal authentication [2019-09-12T08:41:21,180][TRACE][o.e.x.s.a.l.s.LdapUtils ] LDAP Search SearchRequest(baseDN='dc=xxx,dc=xxxx,dc=domain,dc=com', scope=SUB, deref=NEVER, sizeLimit=0, timeLimit=5, filter='(cn=vchatzig)', attrs={1.1}) => SearchResultRead More(resultCode=0 (success), messageID=2, entriesReturned=1, referencesReturned=0) ([SearchResultEntry(dn='cn=xxxxxxx,ou=xxxxx,dc=intc,dc=xxxx,dc=domain,dc=com', messageID=2, attributes={}, controls={})]) Read Less从那个地点,我们能够看到 LDAP 正尝试从缓存(有大概已过期)中获得用户,接着再使用我们所提供的特定配置向服务器发送 LDAP Search 请求。您会收到诸多日志行,这些不过其中的一些示例。 注意:启用日志对诊断来讲有特别大关心,但对性能却并无裨益。我们建议您在确认一切都正常运行之后,将日志级别再调回默认值,能够使用下面的代码: PUT /_cluster/settings { "transient": { "logger.org.elasticsearch.xpack.security.authc.ldap": null, "logger.org.elasticsearch.xpack.security.authz": null } } 请注意:在不同版本之间,这些数据包中有一些大概会存在差异,于是我们建议您认真查看适用于您 Elasticsearch 特定版本的文档链接,以及针对此具体公布版本的 GitHub 类别链接。 常见的 SAML 咨询题SAML Realm 要求使用身份服务提供商(例如 Okta 或 Auth0)与网络应用程序(默以为 Kibana),这二者与 Elasticsearch 一起作为服务提供商。我们遇到的一些常见咨询题如下: 服务提供商 (IdP) 配置中的断言消费服务 URL 设置不正确。通常您在服务提供商处需要配置的端点为 https://kibana.xxxx.com/api/security/v1/saml服务提供商的元数据无法经过互联网访咨询。Elasticsearch 中 idp.metadata.path 配置的值(不管是本地部署,依旧在 Elastic Cloud 中)应该可以经过 Elasticsearch/Kibana 运行所在的网络举行访咨询。假如不能访咨询,您需要从可以访咨询的主机上下载元数据,或者向 IdP 治理员索要这一元数据,接着将其作为本地文件添加到 Elasticsearch 中并加以参考。所显示的错误将会和下面内容类似: Caused by: net.shibboleth.utilities.java.support.resolver.ResolverException: net.shibboleth.utilities.java.support.resolver.ResolverException:Non-ok status code 404 returned from remote metadata source https://xxxx.xxxx/xxx/yyyyyyyy/sso/saml/metadata 您完成了身份验证,然而用户却无法打开 Kibana。关于这一咨询题,我们普通建

国外高防_最好的_网站每天都有流量攻击如何办


DDoS防御

当前位置:主页 > CC防护 > 网站每天都有CC防御流量攻击如何办

标签列表
DDoS防御
网站分类
X
 

QQ客服

400-0797-119