SlideShare a Scribd company logo
O C T O B E R 1 3 - 1 6 , 2 0 1 6 • A U S T I N , T X
Understanding the Solr security framework
Anshum Gupta
Senior Software Engineer, IBM Watson
3
01
Who am I?
• Anshum Gupta, Apache Lucene/Solr PMC member
and committer, IBM Watson Search team.
• Interested in search and related stuff.
• Apache Lucene since 2006 and Solr since 2010.
• Organizations I am or have been a part of:
4
02
What is ?
• Apache Lucene is a free open source information
retrieval software library
• Originally written in Java by Doug Cutting.
• It is supported by the Apache Software Foundation
and is released under the Apache Software
License.
5
03
What is ?
• Solr (pronounced “solar”, not “solaar”) is an open
source enterprise search platform
• Written in Java,
• For a while now, a part of the Apache Lucene
project.
• Search on Lucene & Resin (SoLR)
• SolrCloud - Distributed feature set
6
"The only truly secure system is one that is powered off, cast
in a block of concrete and sealed in a lead-lined room with
armed guards." —Gene Spaford
7
01
Apache Solr is the most widely-used search
solution on the planet.
Solr has tens of thousands of
applications in production.
You use everyday.
8,000,000+
Total downloads
Solr is both established
and growing.
250,000+
Monthly downloads
2,500+
Open Solr jobs and the largest
community of developers.
8
01
SolrCloud Logical Architecture
Shard 1
(leader)
Followers
Shard 2
(leader)
Followers
ZooKeeper
ZooKeeper instance
Solr Instance
9
01
SolrCloud - Physical Architecture
ZooKeeper
Node 1 Node 2
Load
Balancer
Client
Client
Client
Client
Client
Client
Client
Client
Client
Lots
Of
Interaction
Coins by Creative Stall from the Noun Project
10
01
Why do we need it?
• Multi-tenant systems
• Access control
• Solr resources
• ZooKeeper
• Authentication
• Authorization
• Until recently: Nothing out of the box. Only locked-in, third
party!
11
01
Solr security - available options
• SSL support
• ZooKeeper ACLs
• Authentication framework
• Authorization framework
12
01
Security Framework Architecture
Incoming Request
Authenticate and
attach metadata Authorize Process Request
Error
Servlet Filter
Authentication Plugin
Authorization Plugin
Error
Return Response
with result
13
01
Enabling a plugin
• /security.json file in
ZooKeeper
• Contains security
config
• Custom plugins: More
meta-data can be
provided
{
"authentication" : {
     "class": “class.that.implements.authentication",
"other_data" : "..."
 },
 "authorization": {
     "class": “class.that.implements.authorization",
"other_data" : "..."
  }
}
14
01
Authentication Framework
Authentication
Plugin
Client side component
Server side component
Reconfigurer*Request Reconfigurer*
Inter-node
Requests
Inter-node
Requests
Inter-node
Requests
15
01
Available Authentication Plugins
• BasicAuth
• Kerberos
16
01
Kerberos Plugin
• Prerequisites:
• Enabled via /security.json before Solr instance starts
• Each Solr node must have:
• A Kerberos service principal and key tab file
• Client principal and a corresponding keytab file. Can be the
same as the service principal.
• Recommendation:
• Kerberized ZooKeeper
• Start Solr with the correct host-specific parameters.
Kerberized
Solr
Kerberized
ZooKeeper
Kerberos
EnabledClient
17
01
Authorization Plugins
• Rule based authorization plugin
• Apache Ranger plugin (external)
• DIY!
18
01
Rule based Authorization Plugin
• Rule based permissions - stored in
ZooKeeper
• Editable using API
• Auto-reload on update
• Well known permissions eg:
config-edit, collection-edit,
security-edit
SolrCloud
Cluster
ZooKeeper
Ensemble
19
Getting started with Basic Auth & Rule based plugin is easy!
• Upload security.json
• Add users and permissions using API calls!
curl --user solr:SolrRocks http://localhost:8983/solr/
admin/authorization -H 'Content-type:application/
json' -d '{"set-permission" : {"name":"collection-
admin-edit", "role":"admin"}}'
20
01
Benefits of the frameworks
• Secure operations in a multi-tenant setup
• Allows for features that couldn’t be added due to
lack of security e.g. registering handlers, and
uploading configs via API calls.
21
Writing your own plugin
• Authentication
• Extend AuthenticationPlugin
• Optional: extend HttpClientInterceptorPlugin
• Authorization
• Implement AuthorizationPlugin
• Optionally implement ConfigEditablePlugin
22
01
The eco-system
HDFS
ZooKeeper
And more…
23
01
"Security is not a product, but a process". —Bruce Schneier
• Better inter-node communication standard
• First-class support in SolrJ and bin scripts for basic
auth.
• More plugins!
24
01
Connect@
http://www.twitter.com/anshumgupta
http://www.linkedin.com/in/anshumgupta/
anshum@apache.org
Love Solr? We are hiring!

More Related Content

PDF
Solr security frameworks
PDF
What's New in Apache Solr 4.10
PDF
SolrCloud Cluster management via APIs
PDF
Apache Solr 5.0 and beyond
PPTX
Managing a SolrCloud cluster using APIs
PDF
What's new in Solr 5.0
PDF
Ease of use in Apache Solr
PPTX
Scaling SolrCloud to a large number of Collections
Solr security frameworks
What's New in Apache Solr 4.10
SolrCloud Cluster management via APIs
Apache Solr 5.0 and beyond
Managing a SolrCloud cluster using APIs
What's new in Solr 5.0
Ease of use in Apache Solr
Scaling SolrCloud to a large number of Collections

What's hot (20)

PDF
Best practices for highly available and large scale SolrCloud
PDF
Deploying and managing Solr at scale
PDF
Inside Solr 5 - Bangalore Solr/Lucene Meetup
PDF
Intro to Apache Solr
PDF
Building a Solr Continuous Delivery Pipeline with Jenkins: Presented by James...
PDF
First oslo solr community meetup lightning talk janhoy
PDF
Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...
PPTX
Deploying and managing SolrCloud in the cloud using the Solr Scale Toolkit
PDF
Securing Search Data in the Cloud
PPTX
Solrcloud Leader Election
PPTX
Solr Exchange: Introduction to SolrCloud
PDF
How to make a simple cheap high availability self-healing solr cluster
PDF
Scaling search with SolrCloud
PPTX
"Walk in a distributed systems park with Orleans" Евгений Бобров
PDF
A Practical Introduction to Apache Solr
PPTX
Project Orleans - Actor Model framework
PPTX
How to Develop OpenStack
PDF
Bee con2016 lightning_20160125005_ocr
PPTX
October 2014 HUG : Oozie HA
PDF
Generic Parse Server
Best practices for highly available and large scale SolrCloud
Deploying and managing Solr at scale
Inside Solr 5 - Bangalore Solr/Lucene Meetup
Intro to Apache Solr
Building a Solr Continuous Delivery Pipeline with Jenkins: Presented by James...
First oslo solr community meetup lightning talk janhoy
Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...
Deploying and managing SolrCloud in the cloud using the Solr Scale Toolkit
Securing Search Data in the Cloud
Solrcloud Leader Election
Solr Exchange: Introduction to SolrCloud
How to make a simple cheap high availability self-healing solr cluster
Scaling search with SolrCloud
"Walk in a distributed systems park with Orleans" Евгений Бобров
A Practical Introduction to Apache Solr
Project Orleans - Actor Model framework
How to Develop OpenStack
Bee con2016 lightning_20160125005_ocr
October 2014 HUG : Oozie HA
Generic Parse Server
Ad

Viewers also liked (18)

PDF
Webinar: Fusion for Business Intelligence
PDF
Downtown SF Lucene/Solr Meetup: Developing Scalable User Search for PlayStati...
PDF
Webinar: Search and Recommenders
PDF
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark
PDF
Solr JDBC: Presented by Kevin Risden, Avalon Consulting
PDF
it's just search
PDF
Cross Data Center Replication for the Enterprise: Presented by Adam Williams,...
PDF
Using Apache Solr for Images as Big Data: Presented by Kerry Koitzsch, Wipro...
PDF
Downtown SF Lucene/Solr Meetup: Developing Scalable Search for User Generated...
PDF
Working with deeply nested documents in Apache Solr
PDF
Coffee, Danish & Search: Presented by Alan Woodward & Charlie Hull, Flax
PDF
Webinar: Replace Google Search Appliance with Lucidworks Fusion
PPTX
Slash n near real time indexing
PDF
Building a Vibrant Search Ecosystem @ Bloomberg: Presented by Steven Bower & ...
PDF
Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...
PDF
Working with deeply nested documents in Apache Solr
PDF
Webinar: What's New in Solr 6
PDF
Webinar: OpenNLP and Solr for Superior Relevance
Webinar: Fusion for Business Intelligence
Downtown SF Lucene/Solr Meetup: Developing Scalable User Search for PlayStati...
Webinar: Search and Recommenders
Webinar: Fusion 2.3 Preview - Enhanced Features with Solr & Spark
Solr JDBC: Presented by Kevin Risden, Avalon Consulting
it's just search
Cross Data Center Replication for the Enterprise: Presented by Adam Williams,...
Using Apache Solr for Images as Big Data: Presented by Kerry Koitzsch, Wipro...
Downtown SF Lucene/Solr Meetup: Developing Scalable Search for User Generated...
Working with deeply nested documents in Apache Solr
Coffee, Danish & Search: Presented by Alan Woodward & Charlie Hull, Flax
Webinar: Replace Google Search Appliance with Lucidworks Fusion
Slash n near real time indexing
Building a Vibrant Search Ecosystem @ Bloomberg: Presented by Steven Bower & ...
Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...
Working with deeply nested documents in Apache Solr
Webinar: What's New in Solr 6
Webinar: OpenNLP and Solr for Superior Relevance
Ad

Similar to Understanding the Solr security framework - Lucene Solr Revolution 2015 (20)

PDF
Secure Search - Using Apache Sentry to Add Authentication and Authorization S...
PDF
IglooConf 2019 Secure your Azure applications like a pro
PDF
Introduction to Solr
PPTX
Integrate ManifoldCF with Solr
PDF
Solr search engine with multiple table relation
PDF
Getting started faster with LucidWorks for Solr
PDF
Solr Powered Lucene
PDF
Meet Solr For The Tirst Again
PPTX
EnterpriseSearch
PDF
Introduction to Solr
PDF
Solr Recipes
PPTX
Benchmarking Solr Performance
PPTX
Part 5 of the REAL Webinars on Oracle Cloud Native Application Development - ...
PDF
Solr Recipes Workshop
PDF
DevSum - Top Azure security fails and how to avoid them
PDF
UpdateConf 2018: Top 18 Azure security fails and how to avoid them
PDF
The Joy of Proactive Security
PDF
Owasp joy of proactive security
PDF
IT Camp 19: Top Azure security fails and how to avoid them
Secure Search - Using Apache Sentry to Add Authentication and Authorization S...
IglooConf 2019 Secure your Azure applications like a pro
Introduction to Solr
Integrate ManifoldCF with Solr
Solr search engine with multiple table relation
Getting started faster with LucidWorks for Solr
Solr Powered Lucene
Meet Solr For The Tirst Again
EnterpriseSearch
Introduction to Solr
Solr Recipes
Benchmarking Solr Performance
Part 5 of the REAL Webinars on Oracle Cloud Native Application Development - ...
Solr Recipes Workshop
DevSum - Top Azure security fails and how to avoid them
UpdateConf 2018: Top 18 Azure security fails and how to avoid them
The Joy of Proactive Security
Owasp joy of proactive security
IT Camp 19: Top Azure security fails and how to avoid them

Recently uploaded (20)

PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
ai tools demonstartion for schools and inter college
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
history of c programming in notes for students .pptx
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
System and Network Administration Chapter 2
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
AI in Product Development-omnex systems
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Operating system designcfffgfgggggggvggggggggg
Odoo Companies in India – Driving Business Transformation.pdf
PTS Company Brochure 2025 (1).pdf.......
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
ai tools demonstartion for schools and inter college
Reimagine Home Health with the Power of Agentic AI​
How to Migrate SBCGlobal Email to Yahoo Easily
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
history of c programming in notes for students .pptx
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
System and Network Administration Chapter 2
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
How to Choose the Right IT Partner for Your Business in Malaysia
AI in Product Development-omnex systems
CHAPTER 2 - PM Management and IT Context
Design an Analysis of Algorithms II-SECS-1021-03
Design an Analysis of Algorithms I-SECS-1021-03
Operating system designcfffgfgggggggvggggggggg

Understanding the Solr security framework - Lucene Solr Revolution 2015

  • 1. O C T O B E R 1 3 - 1 6 , 2 0 1 6 • A U S T I N , T X
  • 2. Understanding the Solr security framework Anshum Gupta Senior Software Engineer, IBM Watson
  • 3. 3 01 Who am I? • Anshum Gupta, Apache Lucene/Solr PMC member and committer, IBM Watson Search team. • Interested in search and related stuff. • Apache Lucene since 2006 and Solr since 2010. • Organizations I am or have been a part of:
  • 4. 4 02 What is ? • Apache Lucene is a free open source information retrieval software library • Originally written in Java by Doug Cutting. • It is supported by the Apache Software Foundation and is released under the Apache Software License.
  • 5. 5 03 What is ? • Solr (pronounced “solar”, not “solaar”) is an open source enterprise search platform • Written in Java, • For a while now, a part of the Apache Lucene project. • Search on Lucene & Resin (SoLR) • SolrCloud - Distributed feature set
  • 6. 6 "The only truly secure system is one that is powered off, cast in a block of concrete and sealed in a lead-lined room with armed guards." —Gene Spaford
  • 7. 7 01 Apache Solr is the most widely-used search solution on the planet. Solr has tens of thousands of applications in production. You use everyday. 8,000,000+ Total downloads Solr is both established and growing. 250,000+ Monthly downloads 2,500+ Open Solr jobs and the largest community of developers.
  • 8. 8 01 SolrCloud Logical Architecture Shard 1 (leader) Followers Shard 2 (leader) Followers ZooKeeper ZooKeeper instance Solr Instance
  • 9. 9 01 SolrCloud - Physical Architecture ZooKeeper Node 1 Node 2 Load Balancer Client Client Client Client Client Client Client Client Client Lots Of Interaction Coins by Creative Stall from the Noun Project
  • 10. 10 01 Why do we need it? • Multi-tenant systems • Access control • Solr resources • ZooKeeper • Authentication • Authorization • Until recently: Nothing out of the box. Only locked-in, third party!
  • 11. 11 01 Solr security - available options • SSL support • ZooKeeper ACLs • Authentication framework • Authorization framework
  • 12. 12 01 Security Framework Architecture Incoming Request Authenticate and attach metadata Authorize Process Request Error Servlet Filter Authentication Plugin Authorization Plugin Error Return Response with result
  • 13. 13 01 Enabling a plugin • /security.json file in ZooKeeper • Contains security config • Custom plugins: More meta-data can be provided { "authentication" : {      "class": “class.that.implements.authentication", "other_data" : "..."  },  "authorization": {      "class": “class.that.implements.authorization", "other_data" : "..."   } }
  • 14. 14 01 Authentication Framework Authentication Plugin Client side component Server side component Reconfigurer*Request Reconfigurer* Inter-node Requests Inter-node Requests Inter-node Requests
  • 16. 16 01 Kerberos Plugin • Prerequisites: • Enabled via /security.json before Solr instance starts • Each Solr node must have: • A Kerberos service principal and key tab file • Client principal and a corresponding keytab file. Can be the same as the service principal. • Recommendation: • Kerberized ZooKeeper • Start Solr with the correct host-specific parameters. Kerberized Solr Kerberized ZooKeeper Kerberos EnabledClient
  • 17. 17 01 Authorization Plugins • Rule based authorization plugin • Apache Ranger plugin (external) • DIY!
  • 18. 18 01 Rule based Authorization Plugin • Rule based permissions - stored in ZooKeeper • Editable using API • Auto-reload on update • Well known permissions eg: config-edit, collection-edit, security-edit SolrCloud Cluster ZooKeeper Ensemble
  • 19. 19 Getting started with Basic Auth & Rule based plugin is easy! • Upload security.json • Add users and permissions using API calls! curl --user solr:SolrRocks http://localhost:8983/solr/ admin/authorization -H 'Content-type:application/ json' -d '{"set-permission" : {"name":"collection- admin-edit", "role":"admin"}}'
  • 20. 20 01 Benefits of the frameworks • Secure operations in a multi-tenant setup • Allows for features that couldn’t be added due to lack of security e.g. registering handlers, and uploading configs via API calls.
  • 21. 21 Writing your own plugin • Authentication • Extend AuthenticationPlugin • Optional: extend HttpClientInterceptorPlugin • Authorization • Implement AuthorizationPlugin • Optionally implement ConfigEditablePlugin
  • 23. 23 01 "Security is not a product, but a process". —Bruce Schneier • Better inter-node communication standard • First-class support in SolrJ and bin scripts for basic auth. • More plugins!