Java Key Store로 작업 한 것은 처음이며 약간의 어려움이 있습니다. 로그를 ServerA
(으)로 전송하면 ServerB
입니다. 로그를 트래 피킹하는 보안되지 않은 http
통신을 설정할 수 있습니다. 그러나 https
을 사용하여 보안 통신을 설정하기 위해 JKS
을 통합하면 아무 것도 수신되지 않습니다. ServerB
. JKS
을 사용하여 두 서버가 어떻게 안전하게 통신 할 수 있습니까? ServerA
에 키 스토어를 만들기서버 간 통신을위한 Java Key Store 및 HTTPS가 작동하지 않습니다.
: 아래
내가 현재이 최대의 모든 설정하고 어떻게
ServerA
에서
생성 자체 서명 키 저장소에 인증서를
keytool -genkey \
-alias jkstest \
-keyalg RSA \
-validity 365 \
-keystore /apps/logstash/jkstest.jks
-keysize 2048
ServerA
추출물 인증서에서
keytool -export \
-rfc -alias jkstest \
-keystore /apps/logstash/jkstest.jks \
-file /apps/logstash/jkstest.crt
-storepass somepass
에서
내가 ServerA
에서 ServerB
로그를 보낼 logstash을 사용하고 ServerB
scp /apps/logstash/jkstest.jks [email protected]:/apps/logstash/jkstest.jks
에 키 저장소를 복사합니다. 다운로드하고 설치하는 꽤 간단한 응용 프로그램입니다. 결정적인/중요한 대화 부분은 JKS이 사용되는 구성입니다 :
ServerA
config.conf
input {
file {
path => "/var/log/apache2/error.log"
start_position => beginning
}
}
output {
stdout { codec => rubydebug { metadata => true } }
http {
http_method => "post"
codec => "json_lines"
url => "https://serverb.com:5000/"
ssl_certificate_validation => true
cacert => "/apps/logstash/jkstest.crt"
}
}
ServerB
config.conf
input {
http {
port => 5000
codec => json
ssl => true
keystore => "/apps/logstash/jkstest.jks"
keystore_password => "hardt0gu355"
}
}
output {
stdout { codec => rubydebug { metadata => true } }
}
로그를 전송 및 수신을 시작하려면 다음
를ServerA
start logstash
bin/logstash agent -f config.conf -l logstash.log
ServerB
당신이 당신의 생성 된 인증서와 configure a truststore 인증서를 신뢰해야으로 서버 A에서 시작
bin/logstash agent -f config.conf -l logstash.log
'ssl_certificate_validation => false'는 자체 서명 인증서이기 때문에 완전히 검증 할 수 없습니다. – Redlab
나는 이것들 중 하나를 한 지 오래되었지만 자체 서명 한 인증서를 사용하고 있기 때문에 '신뢰할 수있는 인증서 체인'으로 가져올 수는 없으며 미리 패키지 된 인증서 체인 중 하나로 체인을 연결할 수 없습니다. 신뢰할 수있는 인증 기관. 따라서 다른 서버가 신뢰하려면 양쪽 끝에서 신뢰할 수있는 인증서로 수동으로 가져와야 할 것입니다. – djangofan
@ djangofan 내가 비슷한 것을했지만 아직 다른 서버에서 아무것도 얻지 못했다면 잘 모르겠습니다. 당신이 그것을 한 방법이 여전히 작동하는지 당신의 끝에 시험 할 수 있습니까? – MaryCoding