qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori@us.ibm.com>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: Paul Moore <pmoore@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v4] vnc: disable VNC password authentication (security type 2) when in FIPS mode
Date: Tue, 31 Jul 2012 15:52:33 -0500	[thread overview]
Message-ID: <877gtjhcvi.fsf@codemonkey.ws> (raw)
In-Reply-To: <20120731201257.GC4333@redhat.com>

"Daniel P. Berrange" <berrange@redhat.com> writes:

> On Tue, Jul 31, 2012 at 02:52:07PM -0500, Anthony Liguori wrote:
>> Paul Moore <pmoore@redhat.com> writes:
>> 
>> > On Friday, June 08, 2012 05:38:12 PM Paul Moore wrote:
>> >> FIPS 140-2 requires disabling certain ciphers, including DES, which is used
>> >> by VNC to obscure passwords when they are sent over the network.  The
>> >> solution for FIPS users is to disable the use of VNC password auth when the
>> >> host system is operating in FIPS mode.
>> >> 
>> >> This patch causes QEMU to emit a message to stderr when the host system is
>> >> running in FIPS mode and a VNC password was specified on the commend line.
>> >> If the system is not running in FIPS mode, or is running in FIPS mode but
>> >> VNC password authentication was not requested, QEMU operates normally.
>> >> 
>> >> Signed-off-by: Paul Moore <pmoore@redhat.com>
>> >
>> > Hi Anthony,
>> >
>> > Any word on this patch?  Other than Daniel Berrange's reviewed-by tag, the 
>> > discussion of the v4 patch has been quiet and I think we addressed all the 
>> > other remaining issues in the discussion attached to the v2 patch
>> > posting.
>> 
>> I asked for the specific language in FIPS mandating this.  I don't see
>> any other VNC server implementing a check like this.  I would rather do
>> this in a more user friendly fashion like make it a config file option
>> that a user can set while in fips mode.
>
> The FIPS standard doesn't refer to particular applications like VNC.
> As Paul says earlier, FIP 140-2 requires that DES (and certain other
> ciphers) not be used in any applications which are running in a FIPS
> compliant environment. Since VNC auth uses DES, this auth scheme
> cannot be permitted in a FIPS environment.

OpenSSL requires an explicit function call to enable fips
mode--FIPS_mode_set().  It's not something that happens unconditionally
behind the scenes.  From talking to some folks here, it seems like
an -enable-fips option would meet the requirements of FIPS.

> The reason no other VNC server does this is almost certainly because
> none of their developers have ever tried to have their code work in
> a FIPS environment, so I don't think that's a relevant comparison.
>
> I'm not really sure what addding more configuration options gains
> us here. The choice of auth mode is already configurable. This patch
> is about ensuring that the user is not allowed to configure it, if
> FIPS mode is in effect (as indicated by the kernels syfs tunable).
> So in fact adding config params doesn't really address this.

Disabling options unconditionally based on a magic kernel parameter is
fundamentally wrong.  If a user wants QEMU to participate in FIPS,
it should explicitly ask QEMU to.

Since OpenSSL also does this, there seems to be ample precedence for it.

> The proposed patch is already very straightforward, is using the
> official interface exposed by the upstream kernel to userspace &
> has negligable maintenence burden IMHO.

It's not QEMU's role to enforce security policy.  Unconditionally
disabling features goes against a very basic architectural assumption in
QEMU.

>From what I'm told, there's nothing in FIPS that prevents us from
masking this behavior behind a command line option.  And I think that's
the right thing to do.

Regards,

Anthony Liguori

>
> Regards,
> Daniel
> -- 
> |: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
> |: http://libvirt.org              -o-             http://virt-manager.org :|
> |: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
> |: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

      parent reply	other threads:[~2012-07-31 20:54 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-08 21:38 [Qemu-devel] [PATCH v4] vnc: disable VNC password authentication (security type 2) when in FIPS mode Paul Moore
2012-06-11  9:37 ` Daniel P. Berrange
2012-07-31 17:08 ` Paul Moore
2012-07-31 19:52   ` Anthony Liguori
2012-07-31 20:12     ` Daniel P. Berrange
2012-07-31 20:28       ` Paul Moore
2012-07-31 20:52       ` Anthony Liguori [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877gtjhcvi.fsf@codemonkey.ws \
    --to=aliguori@us.ibm.com \
    --cc=berrange@redhat.com \
    --cc=pmoore@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).