Sunday, November 9, 2014

Implementing Splunk SSO with Google Apps

Trying to setup Splunk with Google Apps authentication?

1. You can download a reverse proxy module for Nginx released by Bit.ly's engineering team. It requires installing Go (apt-get install go). You can compile it by typing go build, and the binary should be built.  The download link is listed below:

https://github.com/bitly/google_auth_proxy

The instructions in the README walk you through what you need to do to setup with Google's API console. Since Google is phasing out OpenID support, using Google Oauth is now the expected way to authenticate.

To start running the proxy, you'll need the accepted Google Apps domain, the callback URL (should end with /oauth2/callback), client ID, and client secret from the Google API console.

./google_auth_proxy -cookie-domain=mydomain.com -cookie-secret=abcd -google-apps-domain=googleappsdomain.com -http-address=127.0.0.1:4180 -redirect-url=http://myhost.com/oauth2/callback -upstream=http://www.cnn.com --client-id=1234.apps.googleusercontent.com --client-secret=1234

2. Setup your Nginx configuration to reverse proxy to 4180:

server {
  listen 80;

  location / {
      proxy_pass http://127.0.0.1:4180;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Scheme $scheme;
      proxy_connect_timeout 1;
      proxy_send_timeout 30;
      proxy_read_timeout 30;
  }
}

3. Next, you'll have to setup your configuration in etc/system/local/web.conf with this config. The goal is to use the email address used during login, which gets passed as X-Forwarded-Email, to Splunk. SSOMode set to strict will require all logins to depend on this header.  The tools.proxy.on seems to be used for older Apache reverse proxy setups, but doesn't need to be used for this setup.

SSOMode = strict
trustedIP = 127.0.0.1
remoteUser = X-Forwarded-Email
tools.proxy.on = False

4. Before you restart Splunk, make sure to create your usernames as the email address.  If you need to rename your existing ones, you'll need to edit the Splunk etc/passwd entries manually.

5. Once you restart, Splunk provides a /debug/sso endpoint, which lets you verify that the X-Forwarded-Email is being set correctly.   If you have any issues, turn off SSOMode = permissive until your are confident that the reverse proxy is setup correctly.


2 comments:

  1. đồng tâm
    game mu
    cho thuê nhà trọ
    cho thuê phòng trọ
    nhac san cuc manh
    số điện thoại tư vấn pháp luật miễn phí
    văn phòng luật
    tổng đài tư vấn pháp luật
    dịch vụ thành lập công ty trọn gói

    - Xin hỏi, ngươi... có phải là Sở Dương sư đệ, môn hạ của Mạnh sư thúc không?
    Người thiếu nữ cười dịu dàng, nhự nhàng thi lễ.

    - Chính là tại hạ. Tỷ có phải chính là Ô sư tỷ, nhi nữ của chưởng môn sư bá Tụ Vân Phong đúng không?
    Sở Dương cười nhạt một tiếng, ban nãy vừa liếc mắt là hắn đã nhận ra rồi.

    Người thiếu nữ có dáng vẻ thanh nhã xinh đẹp này chính là Ô Thiên Thiến, con gái của chưởng môn Thiên Ngoại Lâu.

    Đệ nhất mỹ nữ Thiên Ngoại Lâu!

    Cũng chính là nữ tử đáng thương kiếp trước đã bị Thạch Thiên Sơn lừa dối. Tuy rằng hôn sự đó không trở thành thảm kịch của toàn tông phái, nhưng vẫn là một việc làm cho người ta phải tiếc nuối.

    - Thì ra đúng thật là Sở Dương sư đệ.
    Ô Thiên Thiến dịu dàng mỉm cười nói:
    - Chỉ là sư đệ cũng không giống với lời đồn, vừa rồi ta suýt nữa không nhận ra.

    ReplyDelete
  2. Did you know that you can create short links with Shortest and get $$$$$ for every click on your shortened urls.

    ReplyDelete