logstash-input-beats 6.2.5-java → 6.3.1-java

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1194016e06023182858402e9c736cd075fea8511aeb62cd5ad97a54049b71e87
4
- data.tar.gz: 71b169152965ed6be439ed2649f5258911c6e1b7488152ede740f30993014497
3
+ metadata.gz: eeb3630816005a9bf63f0a831957db5524bc6034e70d540468e9c06471a86c92
4
+ data.tar.gz: 8e9c847d79438cd87c4aed76c0d083453d3a4ae165b0bb8954a6ae63810ec7d0
5
5
  SHA512:
6
- metadata.gz: 2b38f167c9f56b47eb08425aac7327633ec2c5a49d349a49d391a87a5a4a54fb76366a0ad533f8aa574d621bdded4bcffabffeba45209b590b505ee83941183e
7
- data.tar.gz: ecc52f6de5714201deb29a1bb8793c64a7d07c2d0adb47d0542ae0e2b29b74ee2dfcb341185cec8937af5954f85865e9f55a7ceb9889d6a0a83b536b36541a14
6
+ metadata.gz: 3e395b1889ebb19ad169ac91049a4de6a8a4254012de7ee2be6161d080fc02e50fe89c0631ce2c053235870c31a708d15306000a68d32c06c6875c69632c94be
7
+ data.tar.gz: 0bbcea2692c569d98c418259dc3c2be32a4ab6b83a8466f7c10f07e1ac7ee3a134125a649c54c59cbe472d6cfe138af24a2aaa39d647629245e4f26749c94369
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 6.3.1
2
+ - Fix: Removed use of deprecated `import` of java classes in ruby [#449](https://github.com/logstash-plugins/logstash-input-beats/pull/449)
3
+
4
+ ## 6.3.0
5
+ - Added support for TLSv1.3. [#447](https://github.com/logstash-plugins/logstash-input-beats/pull/447)
6
+
7
+ ## 6.2.6
8
+ - Update guidance regarding the private key format and encoding [#445](https://github.com/logstash-plugins/logstash-input-beats/pull/445)
9
+
1
10
  ## 6.2.5
2
11
  - Build: do not package log4j-api dependency [#441](https://github.com/logstash-plugins/logstash-input-beats/pull/441).
3
12
  Logstash provides the log4j framework and the dependency is not needed except testing and compiling.
data/README.md CHANGED
@@ -45,6 +45,13 @@ bundle install
45
45
  bundle exec rspec
46
46
  ```
47
47
 
48
+ - Run integration tests
49
+
50
+ ```sh
51
+ bundle exec rake test:integration:setup
52
+ bundle exec rspec spec --tag integration -fd
53
+ ```
54
+
48
55
  ### 2. Running your unpublished Plugin in Logstash
49
56
 
50
57
  #### 2.1 Run in a local Logstash clone
@@ -95,4 +102,4 @@ Programming is not a required skill. Whatever you've seen about open source and
95
102
 
96
103
  It is more important to the community that you are able to contribute.
97
104
 
98
- For more information about contributing, see the [CONTRIBUTING](https://github.com/elastic/logstash/blob/master/CONTRIBUTING.md) file.
105
+ For more information about contributing, see the [CONTRIBUTING](https://github.com/elastic/logstash/blob/master/CONTRIBUTING.md) file.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 6.2.5
1
+ 6.3.1
data/docs/index.asciidoc CHANGED
@@ -199,9 +199,12 @@ Flag to determine whether to add `host` field to event using the value supplied
199
199
  ===== `cipher_suites`
200
200
 
201
201
  * Value type is <<array,array>>
202
- * Default value is `java.lang.String[TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256]@459cfcca`
202
+ * Default value is `java.lang.String[TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256]@459cfcca`
203
203
 
204
204
  The list of ciphers suite to use, listed by priorities.
205
+ This default list applies for OpenJDK 11.0.14 and higher.
206
+ For older JDK versions, the default list includes only suites supported by that version.
207
+ For example, the ChaCha20 family of ciphers is not supported in older versions.
205
208
 
206
209
  [id="plugins-{type}s-{plugin}-client_inactivity_timeout"]
207
210
  ===== `client_inactivity_timeout`
@@ -313,8 +316,14 @@ Time in milliseconds for an incomplete ssl handshake to timeout
313
316
  * There is no default value for this setting.
314
317
 
315
318
  SSL key to use.
316
- NOTE: This key need to be in the PKCS8 format, you can convert it with https://www.openssl.org/docs/man1.1.0/apps/pkcs8.html[OpenSSL]
317
- for more information.
319
+ This key must be in the PKCS8 format and PEM encoded.
320
+ You can use the https://www.openssl.org/docs/man1.1.1/man1/openssl-pkcs8.html[openssl pkcs8] command to complete the conversion.
321
+ For example, the command to convert a PEM encoded PKCS1 private key to a PEM encoded, non-encrypted PKCS8 key is:
322
+
323
+ [source,sh]
324
+ -----
325
+ openssl pkcs8 -inform PEM -in path/to/logstash.key -topk8 -nocrypt -outform PEM -out path/to/logstash.pkcs8.key
326
+ -----
318
327
 
319
328
  [id="plugins-{type}s-{plugin}-ssl_key_passphrase"]
320
329
  ===== `ssl_key_passphrase`
@@ -354,10 +363,10 @@ This option is only valid when `ssl_verify_mode` is set to `peer` or `force_peer
354
363
  ===== `tls_max_version`
355
364
 
356
365
  * Value type is <<number,number>>
357
- * Default value is `1.2`
366
+ * Default value is `1.3`
358
367
 
359
368
  The maximum TLS version allowed for the encrypted connections. The value must be the one of the following:
360
- 1.0 for TLS 1.0, 1.1 for TLS 1.1, 1.2 for TLS 1.2
369
+ 1.0 for TLS 1.0, 1.1 for TLS 1.1, 1.2 for TLS 1.2, 1.3 for TLS 1.3
361
370
 
362
371
  [id="plugins-{type}s-{plugin}-tls_min_version"]
363
372
  ===== `tls_min_version`
@@ -366,7 +375,7 @@ The maximum TLS version allowed for the encrypted connections. The value must be
366
375
  * Default value is `1`
367
376
 
368
377
  The minimum TLS version allowed for the encrypted connections. The value must be one of the following:
369
- 1.0 for TLS 1.0, 1.1 for TLS 1.1, 1.2 for TLS 1.2
378
+ 1.0 for TLS 1.0, 1.1 for TLS 1.1, 1.2 for TLS 1.2, 1.3 for TLS 1.3
370
379
 
371
380
 
372
381
 
@@ -374,4 +383,3 @@ The minimum TLS version allowed for the encrypted connections. The value must be
374
383
  include::{include_path}/{type}.asciidoc[]
375
384
 
376
385
  :default_codec!:
377
-
@@ -1,8 +1,8 @@
1
1
  # encoding: utf-8
2
2
  require "thread_safe"
3
3
  require "logstash-input-beats_jars"
4
- import "javax.net.ssl.SSLPeerUnverifiedException"
5
- import "org.logstash.beats.MessageListener"
4
+ java_import "javax.net.ssl.SSLPeerUnverifiedException"
5
+ java_import "org.logstash.beats.MessageListener"
6
6
 
7
7
  module LogStash module Inputs class Beats
8
8
  class MessageListener
@@ -18,7 +18,8 @@ module LogStash module Inputs class Beats
18
18
  TLS_PROTOCOL_OPTIONS = [
19
19
  TLSOption.new("TLSv1", 1),
20
20
  TLSOption.new("TLSv1.1", 1.1),
21
- TLSOption.new("TLSv1.2", 1.2)
21
+ TLSOption.new("TLSv1.2", 1.2),
22
+ TLSOption.new("TLSv1.3", 1.3)
22
23
  ]
23
24
 
24
25
  def self.min
@@ -7,4 +7,4 @@ require_jar('com.fasterxml.jackson.core', 'jackson-core', '2.9.10')
7
7
  require_jar('com.fasterxml.jackson.core', 'jackson-annotations', '2.9.10')
8
8
  require_jar('com.fasterxml.jackson.core', 'jackson-databind', '2.9.10.8')
9
9
  require_jar('com.fasterxml.jackson.module', 'jackson-module-afterburner', '2.9.10')
10
- require_jar('org.logstash.beats', 'logstash-input-beats', '6.2.5')
10
+ require_jar('org.logstash.beats', 'logstash-input-beats', '6.3.1')
data/lib/tasks/test.rake CHANGED
@@ -4,9 +4,9 @@ VENDOR_PATH = File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "ve
4
4
 
5
5
  #TODO: Figure out better means to keep this version in sync
6
6
  if OS_PLATFORM == "linux"
7
- FILEBEAT_URL = "https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.4-linux-x86_64.tar.gz"
7
+ FILEBEAT_URL = "https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.0-linux-x86_64.tar.gz"
8
8
  elsif OS_PLATFORM == "darwin"
9
- FILEBEAT_URL = "https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.4-darwin-x86_64.tar.gz"
9
+ FILEBEAT_URL = "https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.0-darwin-x86_64.tar.gz"
10
10
  end
11
11
 
12
12
  LSF_URL = "https://download.elastic.co/logstash-forwarder/binaries/logstash-forwarder_#{OS_PLATFORM}_amd64"
@@ -10,8 +10,8 @@ describe LogStash::Inputs::Beats::TLS do
10
10
  end
11
11
 
12
12
  it "returns the maximum supported tls" do
13
- expect(subject.max.version).to eq(1.2)
14
- expect(subject.max.name).to eq("TLSv1.2")
13
+ expect(subject.max.version).to eq(1.3)
14
+ expect(subject.max.name).to eq("TLSv1.3")
15
15
  end
16
16
 
17
17
  describe ".get_supported" do
@@ -37,7 +37,7 @@ describe "Filebeat", :integration => true do
37
37
  let(:filebeat_config) do
38
38
  {
39
39
  "filebeat" => {
40
- "prospectors" => [{ "paths" => [log_file], "type" => "log" }],
40
+ "inputs" => [{ "paths" => [log_file], "type" => "log" }],
41
41
  "scan_frequency" => "1s"
42
42
  },
43
43
  "output" => {
@@ -174,6 +174,34 @@ describe "Filebeat", :integration => true do
174
174
  end
175
175
  end
176
176
 
177
+ context "with TLSv1.3 client" do
178
+ let(:filebeat_config) do
179
+ super().merge({
180
+ "output" => {
181
+ "logstash" => {
182
+ "hosts" => ["#{host}:#{port}"],
183
+ "ssl" => {
184
+ "certificate_authorities" => certificate_authorities,
185
+ "versions" => ["TLSv1.3"],
186
+ }
187
+ }
188
+ },
189
+ "logging" => { "level" => "debug" }
190
+ })
191
+ end
192
+ include_examples "send events"
193
+
194
+ context "when TLSv1.3 enforced in plugin" do
195
+ let(:input_config) {
196
+ super().merge({
197
+ "tls_min_version" => "1.3"
198
+ })
199
+ }
200
+
201
+ include_examples "send events"
202
+ end
203
+ end
204
+
177
205
  # Refactor this to use Flores's PKI instead of openssl command line
178
206
  # see: https://github.com/jordansissel/ruby-flores/issues/7
179
207
  context "with a passphrase" do
@@ -19,7 +19,7 @@ module FileHelpers
19
19
  end
20
20
 
21
21
  def write_to_tmp_file(content)
22
- file = Stud::Temporary.file
22
+ file = Stud::Temporary.file("test-logstash-input-beats", "w+", 0600)
23
23
  file.write(content.to_s)
24
24
  file.close
25
25
  file.path
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-beats
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.5
4
+ version: 6.3.1
5
5
  platform: java
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-04 00:00:00.000000000 Z
11
+ date: 2022-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -298,7 +298,7 @@ files:
298
298
  - vendor/jar-dependencies/com/fasterxml/jackson/module/jackson-module-afterburner/2.9.10/jackson-module-afterburner-2.9.10.jar
299
299
  - vendor/jar-dependencies/io/netty/netty-all/4.1.65.Final/netty-all-4.1.65.Final.jar
300
300
  - vendor/jar-dependencies/org/javassist/javassist/3.24.0-GA/javassist-3.24.0-GA.jar
301
- - vendor/jar-dependencies/org/logstash/beats/logstash-input-beats/6.2.5/logstash-input-beats-6.2.5.jar
301
+ - vendor/jar-dependencies/org/logstash/beats/logstash-input-beats/6.3.1/logstash-input-beats-6.3.1.jar
302
302
  homepage: http://www.elastic.co/guide/en/logstash/current/index.html
303
303
  licenses:
304
304
  - Apache License (2.0)