Re: [Freeipa-users] PKI signing certificate question

2016-08-02 Thread William Muriithi
Mateusz



>> > There is "X.509 Name Constraints" extension for certificates, however
>> > external CA would have to make this extension as "critical" (which would
>> > probably cause compatibility issues with some software - "critical" means
>> > that if some app doesn't know how to handle this extension, it has to 
>> > report
>> > error and do not proceed with establishing secure connection).
>>
>> The certificate with CA basic constraint would only have been used on
>> freeIPA, not on other servers. I believe freeIPA could handle such a
>> certificate.
>
> FreeIPA should be perfectly fine, the problem is with workstations. While
> (almost?) all software is capable of understanding CA basic constraint (as
> it was known and used for ages), limiting CA to single domain zone using
> X.509 Name Constraints can have some side effects (apps on user workstation
> have to validate all certificates up to root CA - if it happens that they
> don't understand name constraints, they will choke on IPA CA certificate if
> such extension is marked "critical"; I think that's the case with majority
> of Apple devices). I'm not aware of any CA that issues technically
> constrained sub-CAs and I think that according to latest guidelines, they
> are required to publicly disclose other sub-CAs issued (and such CAs have to
> undergo full WebTrust audit and have CPS just like regular CA).
>
Interesting, now I understand what you meant. Make a lot of sense.


>> > As I understand, --external-ca option should be used when you already
>> > have configured PKI infrastructure in your network (for example Active
>> > Directory Certificate Services) and spinning another internal CA is not a
>> > big deal. You've mentioned that there is already an Active Directory 
>> > domain,
>> > (...)
>> >
>> Interesting. Active Directory certificate service would also be using self
>> signed certificate, correct?
>
> Correct. AD Certificate Service can generate its own self-signed root CA
> certificate, just like FreeIPA with internal CA does. As far as I know,
> depending on how you initialize AD CS, this certificate would be deployed to
> domain-joined machines automatically or you would have to push it through
> Group Policies.

Thanks, I understand the purpose of --external-ca flag now petty well


> --
> Best regards
> Mateusz Małek
Thanks a lot Mateusz.  Really appreciate your great response.  I now
do feel I have all the info I was looking for when I started this
thread.

Regards,

William

-- 
Manage your subscription for the Freeipa-users mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-users
Go to http://freeipa.org for more info on the project

Re: [Freeipa-users] PKI signing certificate question

2016-08-01 Thread Mateusz Małek

William,

On 02.08.2016 at 00:41, William Muriithi wrote:
>
> > > Which external CA would be more open to signing this kind of 
certificate?

> >
> > I'm afraid that there is not a single external CA that would sign 
request for CA certificate. (...)

>
> Understandable. Did speak with them and realised its not a straight 
forward thing. As I understand, some CA like Symantec may allow sub CA.


They still would not allow you to have control of sub-CA private key, 
probably. After numerous incidents with mis-issued certificates, browser 
vendors want to be rather safe than sorry - and they have "no mercy" 
policy for any incidents (Symantec is forced to report every certificate 
issued to publicly available certificate transparency logservers, CNNIC 
can no longer issue valid certificates), which makes CA owners rather 
cautious. Revoking trust in one's root CA can even result in bankruptcy 
of such company (see DigiNotar case).


> > There is "X.509 Name Constraints" extension for certificates, 
however external CA would have to make this extension as "critical" 
(which would probably cause compatibility issues with some software - 
"critical" means that if some app doesn't know how to handle this 
extension, it has to report error and do not proceed with establishing 
secure connection).

>
> The certificate with CA basic constraint would only have been used on 
freeIPA, not on other servers. I believe freeIPA could handle such a 
certificate.


FreeIPA should be perfectly fine, the problem is with workstations. 
While (almost?) all software is capable of understanding CA basic 
constraint (as it was known and used for ages), limiting CA to single 
domain zone using X.509 Name Constraints can have some side effects 
(apps on user workstation have to validate all certificates up to root 
CA - if it happens that they don't understand name constraints, they 
will choke on IPA CA certificate if such extension is marked "critical"; 
I think that's the case with majority of Apple devices). I'm not aware 
of any CA that issues technically constrained sub-CAs and I think that 
according to latest guidelines, they are required to publicly disclose 
other sub-CAs issued (and such CAs have to undergo full WebTrust audit 
and have CPS just like regular CA).


I'm using name-constrained CA certificate from our internal root CA, 
however, name constraints extension is not marked as critical. Our 
internally-issued certificates are to be seen only by admins, so it's 
just additional precaution (in case some admin would find it funny to 
use certificate issued from internal CA to MitM another admin) rather 
than security measure.


> > As I understand, --external-ca option should be used when you 
already have configured PKI infrastructure in your network (for example 
Active Directory Certificate Services) and spinning another internal CA 
is not a big deal. You've mentioned that there is already an Active 
Directory domain, (...)

> >
> Interesting. Active Directory certificate service would also be using 
self signed certificate, correct?


Correct. AD Certificate Service can generate its own self-signed root CA 
certificate, just like FreeIPA with internal CA does. As far as I know, 
depending on how you initialize AD CS, this certificate would be 
deployed to domain-joined machines automatically or you would have to 
push it through Group Policies.


> Saw another thread today of someone using --external-ca flag. Wish 
someone who has gone through the process could document the process 
including if they are using external CA


Installation with external CA is quite similar to default setup - when 
you indicate that you want to use external CA, installation process has 
two phases. First, ipa-server-install performs some tasks and generates 
CSR request file. Then, you sign it using your other CA (just make sure 
it preserves CA constraint; we were using EasyRSA, which has separate 
command/profile for creating subordinate CAs). Next, you save your 
signed certificate back to your new IPA server and invoke installer once 
again with additional arguments (this command is shown when first stage 
finishes) - and configuration process continues just like without 
external CA.


--
Best regards
Mateusz Małek

Network and Computer Systems Administrator
Intelligent Information Systems Group
Department of Computer Science
AGH University of Science and Technology

--
Manage your subscription for the Freeipa-users mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-users
Go to http://freeipa.org for more info on the project

Re: [Freeipa-users] PKI signing certificate question

2016-08-01 Thread William Muriithi
Mateusz

> >
> > Which external CA would be more open to signing this kind of
certificate?
>
> I'm afraid that there is not a single external CA that would sign request
for CA certificate. They need to make sure that certificate would not be
used for fraudulent purposes (for e.g. Man-in-the-Middle attacks) which
usually means that they keep control of all subordinate CAs they create
(you can only place requests for client or server certificates - but domain
ownership validation and certificate issuance takes place in their
infrastructure) or they verified that you securely store your private key
in dedicated HSM and have adequate policies and rules regarding certificate
issuance.

Understandable. Did speak with them and realised its not a straight forward
thing. As I understand, some CA like Symantec may allow sub CA.
>
> There is "X.509 Name Constraints" extension for certificates, however
external CA would have to make this extension as "critical" (which would
probably cause compatibility issues with some software - "critical" means
that if some app doesn't know how to handle this extension, it has to
report error and do not proceed with establishing secure connection).

The certificate with CA basic constraint would only have been used on
freeIPA, not on other servers. I believe freeIPA could handle such a
certificate.

> As I understand, --external-ca option should be used when you already
have configured PKI infrastructure in your network (for example Active
Directory Certificate Services) and spinning another internal CA is not a
big deal. You've mentioned that there is already an Active Directory
domain, so the last options seems the easiest one - internal CA root
certificate can be deployed to Windows workstation using AD and IPA
configured with external CA would automatically deploy internal root CA to
Linux workstations on during ipa-client-install.
>
Interesting. Active Directory certificate service would also be using self
signed certificate, correct?

Saw another thread today of someone using --external-ca flag. Wish someone
who has gone through the process could document the process including if
they are using external CA
> --
> Best regards
> Mateusz Małek
Appreciate your feedback a lot.

William
-- 
Manage your subscription for the Freeipa-users mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-users
Go to http://freeipa.org for more info on the project

Re: [Freeipa-users] PKI signing certificate question

2016-08-01 Thread Mateusz Małek

William,

On 29.07.2016 at 22:27, William Muriithi wrote:

> Is anyone here been successful in getting external CA to sign this 
kind of certificate?  I have just tried to convince DigiCert for 2 days 
that there is no harm issuing this kind of certificate as long us it's 
restricted to one domain without success.

>
> Which external CA would be more open to signing this kind of certificate?

I'm afraid that there is not a single external CA that would sign 
request for CA certificate. They need to make sure that certificate 
would not be used for fraudulent purposes (for e.g. Man-in-the-Middle 
attacks) which usually means that they keep control of all subordinate 
CAs they create (you can only place requests for client or server 
certificates - but domain ownership validation and certificate issuance 
takes place in their infrastructure) or they verified that you securely 
store your private key in dedicated HSM and have adequate policies and 
rules regarding certificate issuance.


There is "X.509 Name Constraints" extension for certificates, however 
external CA would have to make this extension as "critical" (which would 
probably cause compatibility issues with some software - "critical" 
means that if some app doesn't know how to handle this extension, it has 
to report error and do not proceed with establishing secure connection). 
Also, if they decide to sell such CA certificate, it would probably be 
much more expensive than "simple" one (as this would allow you to issue 
further certificates for your domain without paying external CAs for them).


You can either go CA-less and buy certificates for all your services or 
use free certificates from Let's Encrypt (if you want to want your 
certificates to validate "nicely" on users own devices) or use internal 
CA and install its root certificate on all hosts using your IPA server. 
As I understand, --external-ca option should be used when you already 
have configured PKI infrastructure in your network (for example Active 
Directory Certificate Services) and spinning another internal CA is not 
a big deal. You've mentioned that there is already an Active Directory 
domain, so the last options seems the easiest one - internal CA root 
certificate can be deployed to Windows workstation using AD and IPA 
configured with external CA would automatically deploy internal root CA 
to Linux workstations on during ipa-client-install.


--
Best regards
Mateusz Małek

Network and Computer Systems Administrator
Intelligent Information Systems Group
Department of Computer Science
AGH University of Science and Technology

--
Manage your subscription for the Freeipa-users mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-users
Go to http://freeipa.org for more info on the project

Re: [Freeipa-users] PKI signing certificate question

2016-07-29 Thread William Muriithi
Clark,

Thank you.

> I personally haven't done this, but from https://www.freeipa.org/page/PKI
>
> "when --external-ca option is used, ipa-server-install produces a
certificate certificate request for it's CA certificate so that it can be
properly chained in existing PKI infrastructure."
>

Is anyone here been successful in getting external CA to sign this kind of
certificate?  I have just tried to convince DigiCert for 2 days that there
is no harm issuing this kind of certificate as long us it's restricted to
one domain without success.

Which external CA would be more open to signing this kind of certificate?

Lastly, would there be any harm enrolling IPA clients to this server before
feeding it the signed certificate ?

Regards

William
-- 
Manage your subscription for the Freeipa-users mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-users
Go to http://freeipa.org for more info on the project

Re: [Freeipa-users] PKI signing certificate question

2016-07-27 Thread Anthony Clark
I personally haven't done this, but from https://www.freeipa.org/page/PKI

"when --external-ca option is used, ipa-server-install produces a
certificate certificate request for it's CA certificate so that it can be
properly chained in existing PKI infrastructure."

and from
https://www.redhat.com/archives/freeipa-users/2014-January/msg00057.html

"First run ipa-server-install with --external-ca, which will create a CSR
for IPA CA certificate in /root/ipa.csr. Then sign the CSR with the
external CA to get the IPA CA certificate. Finally, run ipa-server-install
with --external_cert_file pointing to the IPA CA certificate and
--external_ca_file pointing to CA certificate of the external CA."

>From that previous paragraph, it looks like the --external-ca option
doesn't actually install anything, just creates the correct CSR for the
domain you intend to create.

If you can create a temporary CentOS virtual machine you could run the
"ipa-server-install --external-ca" command and see what happens :)

Hope this helps,

Anthony Clark

On Wed, Jul 27, 2016 at 11:24 PM, William Muriithi <
william.murii...@gmail.com> wrote:

> Hello
>
> I want to use an external certificate when setting up a new FreeIPA
> next week and plan to send the CSR tomorrow.
>
> I would like to source a certificate for example.com and use it on
> FreeIPA on eng.example.com.  I can't specifically set the FreeIPA on
> example.com because we have active directory on corp.example.com
>
> Is there a way for using FreeIPA with such a setup?  I am hoping that
> if I can setup FreeIPA using example.com, I can be able to generate
> certificates for both Windows and Linux plus other like
> vpn.example.com that don't sit well on either AD or FreeIPA domain.
>
> Whats the best way to approach this?  If not possible, would setting
> FreeIPA as a sub domain for active directory help?
>
> Regards,
>
> William
>
> --
> Manage your subscription for the Freeipa-users mailing list:
> https://www.redhat.com/mailman/listinfo/freeipa-users
> Go to http://freeipa.org for more info on the project
>
-- 
Manage your subscription for the Freeipa-users mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-users
Go to http://freeipa.org for more info on the project