|
| 1 | +# Splunk app |
| 2 | + |
| 3 | +The Bitwarden Splunk app fetches event log data from the Bitwarden Public API and makes it available |
| 4 | +in Splunk. |
| 5 | + |
| 6 | +## Requirements |
| 7 | + |
| 8 | +- Docker. If you're using an Apple Silicon Mac, enable _Docker Desktop_ -> _Settings_ -> _General_ |
| 9 | + -> _Use Rosetta for x86_64/amd64 emulation on Apple Silicon_ |
| 10 | +- Python 3.7 - 3.10 |
| 11 | +- [Poetry][poetry] |
| 12 | +- libmagic (macOS only), available via homebrew: `brew install libmagic` |
| 13 | +- A Bitwarden Teams or Enterprise organization |
| 14 | +- If using a local development server - make sure the Events and EventsProcessor projects are |
| 15 | + running and [Event Logging](../server/events.md) is working |
| 16 | + |
| 17 | +## Set up and configuration |
| 18 | + |
| 19 | +### Configure your environment |
| 20 | + |
| 21 | +1. Clone the Github repository: |
| 22 | + |
| 23 | + ``` |
| 24 | + git clone https://github.com/bitwarden/splunk.git |
| 25 | + ``` |
| 26 | + |
| 27 | +2. Navigate to the root of the repository: |
| 28 | + |
| 29 | + ``` |
| 30 | + cd splunk |
| 31 | + ``` |
| 32 | + |
| 33 | +3. Tell poetry to use the required Python version: |
| 34 | + |
| 35 | + ``` |
| 36 | + poetry env use <executable> |
| 37 | + ``` |
| 38 | + |
| 39 | + Where `<executable>` is the executable for Python. If this is in your PATH variable then you do |
| 40 | + not need to specify the full path. e.g. `poetry env use python3.8` |
| 41 | + |
| 42 | +4. Activate the poetry shell: |
| 43 | + |
| 44 | + ``` |
| 45 | + poetry shell |
| 46 | + ``` |
| 47 | + |
| 48 | +5. Install dependencies: |
| 49 | + |
| 50 | + ``` |
| 51 | + poetry install --with dev |
| 52 | + ``` |
| 53 | + |
| 54 | +### Set up Splunk Enterprise |
| 55 | + |
| 56 | +1. Run Splunk Enterprise: |
| 57 | + |
| 58 | + ``` |
| 59 | + docker run --rm --platform linux/amd64 --name splunk -d -p 8001:8000 -p 8089:8089 -e SPLUNK_START_ARGS='--accept-license' -e SPLUNK_PASSWORD='password' splunk/splunk:latest |
| 60 | + ``` |
| 61 | + |
| 62 | + Please note this will set the admin password to `password`. This is for development purposes |
| 63 | + only. |
| 64 | + |
| 65 | +2. Confirm that Splunk is running by navigating to http://localhost:8001 |
| 66 | + |
| 67 | +### Deploy the app |
| 68 | + |
| 69 | +1. Package the app: |
| 70 | + |
| 71 | + ``` |
| 72 | + ./package.sh |
| 73 | + ``` |
| 74 | + |
| 75 | + This will produce a packaged Splunk app in `output/bitwarden_event_logs.tar.gz` |
| 76 | + |
| 77 | +2. Deploy the app to Splunk: |
| 78 | + |
| 79 | + ``` |
| 80 | + ./deploy.sh |
| 81 | + ``` |
| 82 | + |
| 83 | + This will restart Splunk and it may take a few seconds to become available again after the script |
| 84 | + is finished |
| 85 | + |
| 86 | +3. (optional) Check the logs for errors or for debugging purposes later: |
| 87 | + ``` |
| 88 | + docker exec -u splunk -it splunk tail -f /opt/splunk/var/log/splunk/bitwarden_event_logs_beta.log |
| 89 | + ``` |
| 90 | + |
| 91 | +### Configure the app in Splunk |
| 92 | + |
| 93 | +1. Navigate to the Splunk web app: http://localhost:8001 |
| 94 | + |
| 95 | +2. Log in with the username `admin` and the password `password` |
| 96 | + |
| 97 | +3. Click on the _Apps_ -> _Bitwarden Event Logs_ |
| 98 | + |
| 99 | +4. Complete the setup. Refer to the [Bitwarden Help Center][Bitwarden Splunk SIEM] for more |
| 100 | + information about configuration |
| 101 | + |
| 102 | +You should now see your organization events in _Apps_ -> _Bitwarden Event Logs_ -> _Dashboards_. |
| 103 | + |
| 104 | +[Bitwarden Splunk SIEM]: https://bitwarden.com/help/splunk-siem/ |
| 105 | +[poetry]: https://python-poetry.org/docs/#installation |
0 commit comments