Hi Ying,

AFAIK, CORS headers are something to do with browser
implementation/support, here is a list of browsers that support this
https://caniuse.com/#feat=cors.

So, to answer your question in short, no, CORS header does not provide
protection over curl.

On Fri, 29 Jun 2018 at 10:31, Ying Chen <ying.in...@gmail.com> wrote:

> Hello -
>
> So, what you are saying is that - this is something that is protected over
> web socket, but not thru the HTTP endpoint?
> curl just exercises an http call.....
>
> Ying
>
>
>
> On Mon, Jun 25, 2018 at 9:19 PM, Prabhjyot Singh <prabhjyotsi...@gmail.com
> > wrote:
>
>> Hi Ying,
>>
>> This config "zeppelin.server.allowed.origins" is to do with setting CORS
>> header, which means this will continue to work over curl, but will get
>> blocked over any browsers. I've attached a screenshot for reference.
>>
>>
>> [image: Screenshot from 2018-06-26 09-48-23.png]
>>
>>
>> Let me know if this helps.
>>
>> On Tue, 26 Jun 2018 at 04:07, Ying Chen <ying.in...@gmail.com> wrote:
>>
>>> Hello -
>>>
>>> I am in the process of validating some security settings for Zeppelin
>>> (0.7.3 w/ HDP 2.6.3)
>>>
>>> According to:
>>> https://zeppelin.apache.org/docs/0.7.0/install/configuration.html
>>> zeppelin.server.allowed.origins can be set to only allow requests that
>>> is coming from a specific host.
>>>
>>> I am not sure if I am using this correctly.
>>>
>>> My HDP system is:  my.system.com,
>>> running http://my.system.com:9995 - in zeppelin
>>>
>>> I've updated the advanced zeppelin-config with :
>>> zeppelin.server.allowed.origins=https://my.system.com
>>>
>>> ----------
>>> After restarting - to test:
>>>
>>> Use curl from my machine:  mydesktop.system.com
>>>
>>> 1. Get a JSESSIONID:
>>> curl -i -X POST "http://my.system.com:9995/api/login?password=
>>> <passwd>&userName=<uid>"
>>>    -> retrieve JSESSIONID from cookie.
>>>
>>> 2. Try a query against api/notebook. (I can get at the security
>>> curl -v -b 'JSESSIONID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx; Path=/;
>>> HttpOnly'  http://my.system.com:9995/api/notebook
>>>      -> This works ...  should it?
>>>
>>> 3. Attempt to add random headers...
>>> curl -v -b 'JSESSIONID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx; Path=/;
>>> HttpOnly'  -H 'Host: bogus1.referer.com' -H 'Origin: bogus2.referer.com'
>>> -H 'Connection: keep-alive' -H 'Referer: http://bogus3.referer.com
>>> ' http://my.system.com:9995/api/notebook
>>>
>>>      -> This still works... should it ?
>>>
>>> The verbose output shows that Host, Referer and Origin has been passed,
>>> yet I am not seeing any sort of blocking...
>>>
>>> > Host: bogus1.referer.com
>>> > User-Agent: curl/7.54.0
>>> > Accept: */*
>>> > Cookie: JSESSIONID=<sid>; Path=/; HttpOnly
>>> > Origin: bogus2.referer.com
>>> > Connection: keep-alive
>>> > Referer: http://bogus3.referer.com
>>>
>>> < HTTP/1.1 200 OK
>>> < Date: Monday, June 25, 2018 3:16:32 PM PDT
>>> < Access-Control-Allow-Origin:
>>> < Access-Control-Allow-Credentials: true
>>> < Access-Control-Allow-Headers: authorization,Content-Type
>>> < Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, HEAD, DELETE
>>> < X-FRAME-OPTIONS: SAMEORIGIN
>>> < X-XSS-Protection: 1
>>> < Content-Type: application/json
>>> < Date: Mon, 25 Jun 2018 22:16:32 GMT
>>> < Content-Length: 75
>>> < Server: Jetty(9.2.15.v20160210)
>>> <
>>>
>>>
>>> Thoughts?
>>>
>>> Ying
>>>
>>>
>>
>> --
>> Thankx and Regards,
>>
>> Prabhjyot Singh
>>
>
>

-- 
Thankx and Regards,

Prabhjyot Singh

Reply via email to