Elastic Security
- Mayank from YOUnite is working on Elastic + Security technology discovery.
- Kevin and Richard to team up with Mayank to create a Custome Realm to enable auto-login
- We want to limit the scope of what a zone user can see in logstash to their zone and the zone's they have permission to.
- Mayank has ELK running locally.
- He has Elastic Stack + X-Pack (latest versions) running locally and will update our docker containers accordingly
- He has added a Shield plugin (now X-Pack Security) for security – the pricing is unclear (Mark TODO).
- Configuration
- config/elasticsearch.yml
- Configuration
- He is able to add rules to Shield (now Security)
- Security - User/role mapping.
- Elastic user
- config/elasticsearch/shield/users
- Create a user for each zone
- config/elasticsearch/shield/roles.yaml
- Define a role for a zone
- config/elasticsearch/sheild/user_roles
- Map users to roles
- config/elasticsearch/shield/role_mapping.yaml
- Create groups of users
- config/elasticsearch/shield/users
- Security user
- POST API call for creating users for Kibana and Logstash
- We can store the creds for the zone and any zone user with log zone settings == true can access the logs tied to the user/role
- POST API call for creating users for Kibana and Logstash
- Mayank: He can create a shield user via the API so it it feasible to add that to our POST /zone
- Can we create an access token for the zone so the UI user can select a button?
- Logstash profile – will capture entries based on zone-uuid – zone-uuid is stored in configuration
- Elastic user
- Do we create one log or one log for each user?
- One log with zone-uuid
- HTTPS only
- logstash.conf – set filters here
- ELK security between services (Elasticsearch, Logstash, Kibana and Sheild) is Basic Auth/SSL - Shield adds an encryption key
- BIG ISSUE: Can sheild user login to Kibana w/o knowing username/password (stored in zone table)
- Put creds in HTTP header
- BIG ISSUE: Enforce filters so shield user can only see log entries tied to their zone