Your window into the Elastic Stack
Find a file
Frank Hassanabad d6c712842d
[Security Solution][Detection Engine] Adds threat matching to the rule creator (#78955)
## Summary

This adds threat matching rule type to the rule creator.

Screen shot of creating a threat match

<img width="1023" alt="Screen Shot 2020-09-30 at 3 31 09 PM" src="https://user-images.githubusercontent.com/1151048/94742158-791b1c00-0332-11eb-9d79-78ab431322f0.png">

---

Screen shot of the description after creating one

<img width="1128" alt="Screen Shot 2020-09-30 at 3 29 32 PM" src="https://user-images.githubusercontent.com/1151048/94742203-8b955580-0332-11eb-837f-5b4383044a13.png">

---

Screen shot of first creating a threat match without values filled out

<img width="1017" alt="Screen Shot 2020-09-30 at 3 27 29 PM" src="https://user-images.githubusercontent.com/1151048/94742222-95b75400-0332-11eb-9872-e7670e917941.png">

Additions and bug fixes:
* Changes the threat index to be an array
* Adds a threat_language to the REST schema so that we can use KQL, Lucene, (others in the future)
* Adds plumbing for threat_list to work with the other REST endpoints such as PUT, PATCH, etc...
* Adds the AND, OR dialog and user interface

**Usage**
If you are a team member using the team servers you can skip this usage section of creating threat index. Otherwise if you want to know how to create a mock threat index, instructions are below.

Go to the folder:
```ts
/kibana/x-pack/plugins/security_solution/server/lib/detection_engine/scripts
```

And post a small ECS threat mapping to the index called `mock-threat-list`:
```ts
./create_threat_mapping.sh
```

Then to post a small number of threats that represent simple port numbers you can run:
```ts
./create_threat_data.sh
```

However, feel free to also manually create them directly in your dev tools like so:

```ts
# Posts a threat list item called some-name with an IP but change these out for valid data in your system
PUT mock-threat-list-1/_doc/9999
{
  "@timestamp": "2020-09-09T20:30:45.725Z",
  "host": {
    "name": "some-name",
    "ip": "127.0.0.1"
  }
}
```

```ts
# Posts a destination port number to watch
PUT mock-threat-list-1/_doc/10000
{
  "@timestamp": "2020-09-08T20:30:45.725Z",
  "destination": {
    "port": "443"
  }
}
```

```ts
# Posts a source port number to watch
PUT mock-threat-list-1/_doc/10001
{
  "@timestamp": "2020-09-08T20:30:45.725Z",
  "source": {
    "port": "443"
  }
}
```

### Checklist

- [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/README.md)
- [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
- [ ] This was checked for [keyboard-only and screenreader accessibility](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Accessibility_testing_checklist)
- [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)
- [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers)
2020-10-01 16:31:00 -06:00
.ci [QA][Code Coverage] Upload the coverage static site before ingestion (#78695) 2020-09-29 08:29:22 -06:00
.github [Enterprise Search] Update CODEOWNERS and README (#78809) 2020-09-29 11:44:07 -07:00
common/graphql [Uptime] Implement EuiSuperDatePicker (#28217) 2019-01-18 13:44:58 -05:00
config Remove unused elasticsearch.preserverHost setting (#78608) 2020-09-30 10:39:08 +02:00
data [folder structure] plugins/.data -> data 2016-07-05 14:06:16 -05:00
docs [Vega] Fix unexpected change in autosizing behavior post upgrade (#77408) 2020-10-01 11:30:21 -04:00
examples Add TS projects for src/plugins & x-pack/plugins (#78440) 2020-09-30 15:02:41 +02:00
licenses Migrate x-pack-kibana source to kibana 2018-04-24 13:48:10 -07:00
packages Bumps Jest related packages (#78720) 2020-10-01 14:38:51 -07:00
plugins [dev/cli] ensure plugins/ and all watch source dirs exist (#78973) 2020-09-30 10:20:44 -07:00
rfcs RFC: Improve saved object migrations (#66056) 2020-09-29 09:34:54 +02:00
scripts [QA][Code Coverage] Coverage teams lookup w/o Additional Config (#77111) 2020-09-28 15:27:02 -06:00
src Bumps Jest related packages (#78720) 2020-10-01 14:38:51 -07:00
tasks Adds some missing licenses to the CSV export (#78719) 2020-09-30 10:23:57 -07:00
test move apps lower in tree, add metricbeat dashboard screenshot test (#79001) 2020-10-01 15:35:36 -05:00
typings [ts] enable "resolveJsonModule" and disable existing failures (#78855) 2020-09-30 15:44:43 -07:00
utilities apply prettier styles 2020-05-22 09:08:58 +02:00
vars [QA][Code Coverage] Coverage teams lookup w/o Additional Config (#77111) 2020-09-28 15:27:02 -06:00
x-pack [Security Solution][Detection Engine] Adds threat matching to the rule creator (#78955) 2020-10-01 16:31:00 -06:00
.backportrc.json chore(NA): setup backport tool for 7.9 and the new 7.x (#71861) 2020-07-15 09:32:13 -07:00
.browserslistrc Aligns BrowserList config with Support Matrix (#71876) 2020-07-16 10:56:07 -07:00
.editorconfig [editorconfig] disable insert_final_newline for package.json 2019-04-18 09:44:17 -07:00
.eslintignore chore(NA): add elastic prefix to eslint-config-kibana (#76059) 2020-08-31 20:13:06 +01:00
.eslintrc.js Storybook 6 and config changes (#75357) 2020-09-29 19:34:05 -05:00
.fossa.yml Adds FOSSA CLI configuration file (#70137) 2020-07-02 08:37:37 -07:00
.gitattributes [canvas] Color fixes + Storybook 5 (#34075) 2019-04-02 11:21:51 -05:00
.gitignore Introduce TS incremental builds & move src/test_utils to TS project (#76082) 2020-09-03 14:20:04 +02:00
.i18nrc.json Migrate status & stats APIs to KP + remove legacy status lib (#76054) 2020-09-17 14:05:59 +02:00
.node-version Update Node.js to version 10.22.1 (#77619) 2020-09-16 18:51:50 +02:00
.nvmrc Update Node.js to version 10.22.1 (#77619) 2020-09-16 18:51:50 +02:00
.prettierrc Increase prettier line width to 100 (#20535) 2018-07-09 22:50:37 +02:00
.sass-lint.yml Empty index patterns page re-design (#68819) 2020-08-12 15:58:16 -05:00
.telemetryrc.json [Usage Collection] [schema] ui_metric (#78827) 2020-10-01 08:22:51 +01:00
.yarnrc [kbn-pm] Use yarn workspaces for dependencies (#24095) 2018-11-12 12:38:11 -06:00
api-documenter.json Normalize EOL symbol in platform docs (#56021) 2020-01-27 18:42:45 +01:00
CONTRIBUTING.md Improvements to our developer guide (#67764) 2020-07-13 10:47:01 -04:00
FAQ.md propose language changes (#10709) 2017-03-05 12:10:32 -05:00
github_checks_reporter.json implementing github checks - second attempt (#35757) 2019-05-01 16:02:33 -05:00
Gruntfile.js apply prettier styles 2020-05-22 09:08:58 +02:00
Jenkinsfile [CI] Add pipeline task queue framework and merge workers into one (#71268) 2020-08-04 13:13:51 -04:00
kibana.d.ts Remove legacy plugins support (#77599) 2020-09-23 09:52:51 +02:00
LICENSE.txt Migrate x-pack-kibana source to kibana 2018-04-24 13:48:10 -07:00
NOTICE.txt [APM] Service maps layout enhancements (#76481) 2020-09-02 21:39:03 -07:00
package.json Bumps Jest related packages (#78720) 2020-10-01 14:38:51 -07:00
preinstall_check.js Apache 2.0 license headers (#19383) 2018-05-28 20:06:30 -07:00
README.md Remove legacy optimizer (#73154) 2020-08-13 09:08:44 -07:00
renovate.json5 [renovate] looks like team slug might just be kibana-app 2020-09-24 10:10:17 -07:00
STYLEGUIDE.md Remove legacy optimizer (#73154) 2020-08-13 09:08:44 -07:00
tsconfig.base.json [ts] enable "resolveJsonModule" and disable existing failures (#78855) 2020-09-30 15:44:43 -07:00
tsconfig.browser.json Introduce TS incremental builds & move src/test_utils to TS project (#76082) 2020-09-03 14:20:04 +02:00
tsconfig.json Add TS projects for src/plugins & x-pack/plugins (#78440) 2020-09-30 15:02:41 +02:00
tsconfig.refs.json Add TS projects for src/plugins & x-pack/plugins (#78440) 2020-09-30 15:02:41 +02:00
tsconfig.types.json ui_actions service initial docs (#78902) 2020-09-30 16:44:29 +02:00
TYPESCRIPT.md Fixed grammar (#74725) 2020-08-11 06:40:22 -04:00
yarn.lock Bumps Jest related packages (#78720) 2020-10-01 14:38:51 -07:00

Kibana

Kibana is your window into the Elastic Stack. Specifically, it's a browser-based analytics and search dashboard for Elasticsearch.

Getting Started

If you just want to try Kibana out, check out the Elastic Stack Getting Started Page to give it a whirl.

If you're interested in diving a bit deeper and getting a taste of Kibana's capabilities, head over to the Kibana Getting Started Page.

Using a Kibana Release

If you want to use a Kibana release in production, give it a test run, or just play around:

Building and Running Kibana, and/or Contributing Code

You might want to build Kibana locally to contribute some code, test out the latest features, or try out an open PR:

Documentation

Visit Elastic.co for the full Kibana documentation.

For information about building the documentation, see the README in elastic/docs.

Version Compatibility with Elasticsearch

Ideally, you should be running Elasticsearch and Kibana with matching version numbers. If your Elasticsearch has an older version number or a newer major number than Kibana, then Kibana will fail to run. If Elasticsearch has a newer minor or patch number than Kibana, then the Kibana Server will log a warning.

Note: The version numbers below are only examples, meant to illustrate the relationships between different types of version numbers.

Situation Example Kibana version Example ES version Outcome
Versions are the same. 5.1.2 5.1.2 💚 OK
ES patch number is newer. 5.1.2 5.1.5 ⚠️ Logged warning
ES minor number is newer. 5.1.2 5.5.0 ⚠️ Logged warning
ES major number is newer. 5.1.2 6.0.0 🚫 Fatal error
ES patch number is older. 5.1.2 5.1.0 ⚠️ Logged warning
ES minor number is older. 5.1.2 5.0.0 🚫 Fatal error
ES major number is older. 5.1.2 4.0.0 🚫 Fatal error

Questions? Problems? Suggestions?

  • If you've found a bug or want to request a feature, please create a GitHub Issue. Please check to make sure someone else hasn't already created an issue for the same topic.
  • Need help using Kibana? Ask away on our Kibana Discuss Forum and a fellow community member or Elastic engineer will be glad to help you out.