[ 
https://issues.apache.org/jira/browse/HBASE-15187?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-15187:
---------------------------
    Release Note: 
Protection against CSRF attack can be turned on with config parameter, 
hbase.rest.csrf.enabled - default value is false.

The custom header to be sent can be changed via config parameter, 
hbase.rest.csrf.custom.header whose default value is "X-XSRF-HEADER".

Config parameter, hbase.rest.csrf.methods.to.ignore , controls which HTTP 
methods are not associated with customer header check.

Config parameter, hbase.rest-csrf.browser-useragents-regex , is a 
comma-separated list of regular expressions used to match against an HTTP 
request's User-Agent header when protection against cross-site request forgery 
(CSRF) is enabled for REST server by setting hbase.rest.csrf.enabled to true.

The implementation came from 
hadoop/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/http/RestCsrfPreventionFilter.java

We should periodically update the RestCsrfPreventionFilter.java in hbase 
codebase to include fixes to the hadoop implementation.

  was:
Protection against CSRF attack can be turned on with config parameter, 
hbase.rest.csrf.enabled - default value is false.

The custom header to be sent can be changed via config parameter, 
hbase.rest.csrf.custom.header whose default value is "X-XSRF-HEADER".

Config parameter, hbase.rest.csrf.methods.to.ignore , controls which HTTP 
methods are not associated with customer header check.

Config parameter, hbase.rest-csrf.browser-useragents-regex , is a 
comma-separated list of regular expressions used to match against an HTTP 
request's User-Agent header when protection against cross-site request forgery 
(CSRF) is enabled for REST server by setting hbase.rest.csrf.enabled to true.


> Integrate CSRF prevention filter to REST gateway
> ------------------------------------------------
>
>                 Key: HBASE-15187
>                 URL: https://issues.apache.org/jira/browse/HBASE-15187
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>              Labels: rest
>             Fix For: 2.0.0
>
>         Attachments: HBASE-15187-branch-1.v13.patch, HBASE-15187.v1.patch, 
> HBASE-15187.v10.patch, HBASE-15187.v10.patch, HBASE-15187.v11.patch, 
> HBASE-15187.v12.patch, HBASE-15187.v13.patch, HBASE-15187.v2.patch, 
> HBASE-15187.v3.patch, HBASE-15187.v4.patch, HBASE-15187.v5.patch, 
> HBASE-15187.v6.patch, HBASE-15187.v7.patch, HBASE-15187.v8.patch, 
> HBASE-15187.v9.patch
>
>
> HADOOP-12691 introduced a filter in Hadoop Common to help REST APIs guard 
> against cross-site request forgery attacks.
> This issue tracks the integration of that filter into HBase REST gateway.
> From REST section of refguide:
> To delete a table, use a DELETE request with the /schema endpoint:
> http://example.com:8000<table>/schema
> Suppose an attacker hosts a malicious web form on a domain under his control. 
> The form uses the DELETE action targeting a REST URL. Through social 
> engineering, the attacker tricks an authenticated user into accessing the 
> form and submitting it.
> The browser sends the HTTP DELETE request to the REST gateway.
> At REST gateway, the call is executed and user table is dropped



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to