[prev in list] [next in list] [prev in thread] [next in thread]
List: bacula-users
Subject: Re: [Bacula-users] Question about bacula and tls
From: Josh Fisher <jfisher () pvct ! com>
Date: 2015-09-30 14:22:45
Message-ID: 560BF035.4070202 () pvct ! com
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
On 9/30/2015 3:18 AM, Egoitz Aurrekoetxea wrote:
> Hi Ana!!
>
> Really thanks for answering my doubts :)
>
> I do answer in black below...
>
>> El 30/9/2015, a las 6:24, Ana Emília M. Arruda
>> <emiliaarruda@gmail.com <mailto:emiliaarruda@gmail.com>> escribió:
>>
>>
>> On Mon, Sep 28, 2015 at 6:20 PM, Egoitz
>> Aurrekoetxea<egoitz@ramattack.net <mailto:egoitz@ramattack.net>>wrote:
>>
>> Good night,
>>
>>
>>
>> Yes, you can have certificates from different CA in each side, you
>> just need to inform the CA correctly for peer verification. How did
>> you generated your certificates? Do you have a CA and signed them
>> properly?
>
> I have an own dedicated CA for Bacula systems. One of the things I was
> trying to get with TLS is the fact that like both sides know the CA
> public key, they to be able to check if the information received in
> each side
> because of the other side's sent data in unaltered due to a possible
> MITM issue. I mean, could I with verify peer ensure that if someone
> tries to do a MITM won't succeed because both sides know the CA
> allowed to
> be used in signed certs?. So an attacker doing a signed certificate
> with a new CA (CA of the attacker for signing the attacking used
> certificate) won't be able then to inject content in dir and fd
> dialogue or fd and sd dialogue?.
> Or at least if it does, do each side, the sd, fd or the dir, interrupt
> the connection and stop the job notifying?.
>
Think of it as 5 different security levels.
Level 0:
# Data is transmitted as plain text
TLS Enable = no
Level 1:
# This level allows opportunistic encryption if the peer chooses,
or the peer can communicate in plain text.
TLS Enable = yes
TLS Require = no
TLS Verify Peer = no
TLS Certificate = /etc/bacula/cert.pem
TLS Key = /etc/bacula/key.pem
TLS CA Certificate File = /path/to/system/cafile
Level 2:
# This level requires encryption of data. Any certificate will do,
even a self-signed certificate.
TLS Enable = yes
TLS Require = yes
TLS Verify Peer = no
TLS Certificate = /etc/bacula/cert.pem
TLS Key = /etc/bacula/key.pem
TLS CA Certificate File = /path/to/system/cafile
Level 3:
# This level requires encryption and that the certificate presented
by the peer be signed by a trusted CA
TLS Enable = yes
TLS Require = yes
TLS Verify Peer = yes
TLS Certificate = /etc/bacula/cert.pem
TLS Key = /etc/bacula/key.pem
TLS CA Certificate File = /path/to/system/cafile
Level 4:
# This level requires encryption and that the certificate presented
by the peer be signed by a trusted CA
# and that the certificate have a specific CN
TLS Enable = yes
TLS Require = yes
TLS Verify Peer = yes
TLS Allowed CN = "some.client.common.name"
TLS Certificate = /etc/bacula/cert.pem
TLS Key = /etc/bacula/key.pem
TLS CA Certificate File = /path/to/system/cafile
As for a MiTM attack, keep in mind that an active attack is harder than
a passive attack. Even opportunistic encryption with self-signed certs
protects against passive snooping. Protecting against an active MiTM
attack requires authentication. Heartbleed bug aside, level 3 means that
the attacker must somehow acquire certificates signed by a CA in the TLS
CA Certificate Files of both client and server. Level 4 means that she
must steal particular certificates. So level 4 makes a MiTM attack very
difficult.
That said, the real danger is a valid certificate that is stolen or
compromised. The CA can revoke a certificate, but this does no good
because, as far as I can tell, Bacula does not check CRLs! Level 3 is
not very useful without CRL checks. Therefore, always use level 4, at
least until Bacula supports CRL checks, since then a can be avoided by
removing its CN from the TLS Allowed CN list. If you are not wrorried
about MiTM attacks and just want to prevent snooping, then level 2 will
suffice.
[Attachment #5 (text/html)]
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br>
<br>
<div class="moz-cite-prefix">On 9/30/2015 3:18 AM, Egoitz
Aurrekoetxea wrote:<br>
</div>
<blockquote
cite="mid:478545D8-DABC-467F-960A-14B63BA7A76A@ramattack.net"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Hi Ana!!
<div class=""><br class="">
</div>
<div class="">Really thanks for answering my doubts :)</div>
<div class=""><br class="">
</div>
<div class="">I do answer in black below...</div>
<div class=""><br class="">
</div>
<div class="">
<div>
<blockquote type="cite" class="">
<div class="">El 30/9/2015, a las 6:24, Ana Emília M. Arruda
<<a moz-do-not-send="true"
href="mailto:emiliaarruda@gmail.com" \
class="">emiliaarruda@gmail.com</a>> escribió:</div>
<br class="Apple-interchange-newline">
<div class=""><br class="Apple-interchange-newline">
<span style="font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">On
Mon, Sep 28, 2015 at 6:20 PM, Egoitz Aurrekoetxea<span
class="Apple-converted-space"> </span></span><span
dir="ltr" style="font-family: Helvetica; font-size:
12px; font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal;
line-height: normal; orphans: auto; text-align: start;
text-indent: 0px; text-transform: none; white-space:
normal; widows: auto; word-spacing: 0px;
-webkit-text-stroke-width: 0px;" class=""><<a
moz-do-not-send="true"
href="mailto:egoitz@ramattack.net" target="_blank"
class=""><a class="moz-txt-link-abbreviated" \
href="mailto:egoitz@ramattack.net">egoitz@ramattack.net</a></a>></span><span \
style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: \
normal; font-weight: normal; letter-spacing: normal; line-height: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class=""> </span><span
style="font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
float: none; display: inline !important;" class="">wrote:</span><br
style="font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<blockquote class="gmail_quote" style="font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant: normal; font-weight: normal;
letter-spacing: normal; line-height: normal; orphans:
auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
margin: 0px 0px 0px 0.8ex; border-left-width: 1px;
border-left-color: rgb(204, 204, 204);
border-left-style: solid; padding-left: 1ex;">
<div style="word-wrap: break-word;" class="">Good night,</div>
</blockquote>
<div style="font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class=""><br class="">
<br class="">
</div>
<div style="font-family: Helvetica; font-size: 12px;
font-style: normal; font-variant: normal; font-weight:
normal; letter-spacing: normal; line-height: normal;
orphans: auto; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: auto;
word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
<div class="gmail_default" style="font-family: tahoma,
sans-serif;">Yes, you can have certificates from
different CA in each side, you just need to inform the
CA correctly for peer verification. How did you
generated your certificates? Do you have a CA and
signed them properly?</div>
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>I have an own dedicated CA for Bacula systems. One of the
things I was trying to get with TLS is the fact that like
both sides know the CA public key, they to be able to check
if the information received in each side </div>
<div>because of the other side's sent data in unaltered due to
a possible MITM issue. I mean, could I with verify peer
ensure that if someone tries to do a MITM won't succeed
because both sides know the CA allowed to </div>
<div>be used in signed certs?. So an attacker doing a signed
certificate with a new CA (CA of the attacker for signing
the attacking used certificate) won't be able then to inject
content in dir and fd dialogue or fd and sd dialogue?.</div>
<div>Or at least if it does, do each side, the sd, fd or the
dir, interrupt the connection and stop the job notifying?.</div>
<br class="">
</div>
</div>
</blockquote>
<br>
Think of it as 5 different security levels.<br>
<br>
Level 0: <br>
# Data is transmitted as plain text<br>
TLS Enable = no<br>
<br>
Level 1:<br>
# This level allows opportunistic encryption if the peer
chooses, or the peer can communicate in plain text.<br>
TLS Enable = yes<br>
TLS Require = no<br>
TLS Verify Peer = no<br>
TLS Certificate = /etc/bacula/cert.pem<br>
TLS Key = /etc/bacula/key.pem<br>
TLS CA Certificate File = /path/to/system/cafile<br>
<br>
Level 2:<br>
# This level requires encryption of data. Any certificate will
do, even a self-signed certificate.<br>
TLS Enable = yes<br>
TLS Require = yes<br>
TLS Verify Peer = no<br>
TLS Certificate = /etc/bacula/cert.pem<br>
TLS Key = /etc/bacula/key.pem<br>
TLS CA Certificate File = /path/to/system/cafile<br>
<br>
Level 3:<br>
# This level requires encryption and that the certificate
presented by the peer be signed by a trusted CA<br>
TLS Enable = yes<br>
TLS Require = yes<br>
TLS Verify Peer = yes<br>
TLS Certificate = /etc/bacula/cert.pem<br>
TLS Key = /etc/bacula/key.pem<br>
TLS CA Certificate File = /path/to/system/cafile<br>
<br>
Level 4:<br>
# This level requires encryption and that the certificate
presented by the peer be signed by a trusted CA<br>
# and that the certificate have a specific CN<br>
TLS Enable = yes<br>
TLS Require = yes<br>
TLS Verify Peer = yes<br>
TLS Allowed CN = "some.client.common.name"<br>
TLS Certificate = /etc/bacula/cert.pem<br>
TLS Key = /etc/bacula/key.pem<br>
TLS CA Certificate File = /path/to/system/cafile<br>
<br>
<br>
As for a MiTM attack, keep in mind that an active attack is harder
than a passive attack. Even opportunistic encryption with
self-signed certs protects against passive snooping. Protecting
against an active MiTM attack requires authentication. Heartbleed
bug aside, level 3 means that the attacker must somehow acquire
certificates signed by a CA in the TLS CA Certificate Files of both
client and server. Level 4 means that she must steal particular
certificates. So level 4 makes a MiTM attack very difficult.<br>
<br>
That said, the real danger is a valid certificate that is stolen or
compromised. The CA can revoke a certificate, but this does no good
because, as far as I can tell, Bacula does not check CRLs! Level 3
is not very useful without CRL checks. Therefore, always use level
4, at least until Bacula supports CRL checks, since then a can be
avoided by removing its CN from the TLS Allowed CN list. If you are
not wrorried about MiTM attacks and just want to prevent snooping,
then level 2 will suffice.<br>
<br>
<br>
<br>
</body>
</html>
------------------------------------------------------------------------------
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic