Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix/6766 #6773

Merged
merged 5 commits into from
Dec 24, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions conf/radiusd/eap.conf.example
Original file line number Diff line number Diff line change
Expand Up @@ -268,11 +268,8 @@ eap [% key -%] {
# in "man 1 ciphers".
cipher_list = "[% eap.$key.tls.$tls.cipher_list %]"

# Work-arounds for OpenSSL nonsense
# OpenSSL 1.0.1f and 1.0.1g do not calculate
# the EAP keys correctly. The fix is to upgrade
# OpenSSL, or disable TLS 1.2 here.
# disable_tlsv1_2 = no
tls_min_version = "[% eap.$key.tls.$tls.tls_min_version %]"
tls_max_version = "[% eap.$key.tls.$tls.tls_max_version %]"

#

Expand Down
6 changes: 4 additions & 2 deletions conf/radiusd/tls.conf.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ dh_file = ${certdir}/dh
ca_path = ${cadir}
cipher_list = DEFAULT
ecdh_curve = prime256v1
disable_tlsv1_2 = yes
tls_min_version = 1.2
tls_max_version = 1.2
ocsp=default

[tls-eap-fast]
Expand All @@ -13,5 +14,6 @@ dh_file = ${certdir}/dh
ca_path = ${cadir}
cipher_list = ALL:!EXPORT:!eNULL:!SSLv2
ecdh_curve = prime256v1
disable_tlsv1_2 = yes
tls_min_version = 1.2
tls_max_version = 1.2
ocsp=default
8 changes: 8 additions & 0 deletions docs/PacketFence_Upgrade_Guide.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -1659,6 +1659,14 @@ The `pf-maint.pl` script used to get maintenance patches has been deprecated. Yo

The WMI scan engines have been deprecated. If you previously used these scan engines, you should migrate to other scan engines.

=== TLS 1.0 and 1.1 are disabled by default in FreeRADIUS

TLS 1.0 and TLS 1.1 are now disabled by default. If you still have supplicants
using theses protocols, you should move to TLS 1.2. If it's not possible, you
can adjust `TLS Minimum version` in _Configuration -> System configuration ->
RADIUS -> TLS profiles_.


== Upgrading from a version prior to 11.1.0


Expand Down
16 changes: 16 additions & 0 deletions html/pfappserver/lib/pfappserver/Form/Config/Radiusd/TLSProfile.pm
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ use warnings;
use HTML::FormHandler::Moose;
use pf::ConfigStore::Radiusd::OCSPProfile;
use pf::ConfigStore::SSLCertificate;
use pf::radius::constants;
extends 'pfappserver::Base::Form';
with qw(pfappserver::Base::Form::Role::Help);
## Definition
Expand Down Expand Up @@ -59,6 +60,17 @@ has_field disable_tlsv1_2 => (
default => 'no',
);

has_field tls_min_version => (
type => 'Select',
options_method => \&options_tls_version,
);

has_field tls_max_version => (
type => 'Select',
options_method => \&options_tls_version,
);


sub options_certificate_profile {
return map { { value => $_, label => $_ } } @{pf::ConfigStore::SSLCertificate->new->readAllIds};
}
Expand All @@ -67,6 +79,10 @@ sub options_ocsp {
return map { { value => $_, label => $_ } } @{pf::ConfigStore::Radiusd::OCSPProfile->new->readAllIds};
}

sub options_tls_version {
return map { { value => $_, label => $_ } } @{RADIUS::TLS_VERSIONS};
}

=head1 AUTHOR

Inverse inc. <info@inverse.ca>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,12 @@
:column-label="$i18n.t('ECDH Curve')"
/>

<form-group-disable-tlsv12 namespace="disable_tlsv1_2"
:column-label="$i18n.t('Disable TLSv1.2')"
<form-group-tls-min-version namespace="tls_min_version"
:column-label="$i18n.t('TLS Minimum version')"
/>

<form-group-tls-max-version namespace="tls_max_version"
:column-label="$i18n.t('TLS Maximum version')"
/>

<form-group-ocsp namespace="ocsp"
Expand All @@ -52,7 +56,8 @@ import {
FormGroupCaPath,
FormGroupCipherList,
FormGroupEcdhCurve,
FormGroupDisableTlsv12,
FormGroupTlsMinVersion,
FormGroupTlsMaxVersion,
FormGroupOcsp
} from './'

Expand All @@ -65,7 +70,8 @@ const components = {
FormGroupCaPath,
FormGroupCipherList,
FormGroupEcdhCurve,
FormGroupDisableTlsv12,
FormGroupTlsMinVersion,
FormGroupTlsMaxVersion,
FormGroupOcsp
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ export {
BaseFormGroupInput as FormGroupCaPath,
BaseFormGroupInput as FormGroupCipherList,
BaseFormGroupInput as FormGroupEcdhCurve,
BaseFormGroupToggleNoYesDefault as FormGroupDisableTlsv12,
BaseFormGroupChosenOne as FormGroupTlsMinVersion,
BaseFormGroupChosenOne as FormGroupTlsMaxVersion,
BaseFormGroupChosenOne as FormGroupOcsp,

BaseViewCollectionItem as BaseView,
Expand Down
7 changes: 7 additions & 0 deletions lib/pf/radius/constants.pm
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,13 @@ Readonly::Hash our %NAS_port_type => (
36 => "PPPoEoQinQ",
);

=item TLS Versions

Define all the TLS versions we can use

=cut

Readonly::Array our @TLS_VERSIONS => qw(1.0 1.1 1.2 1.3);

package ACCOUNTING;

Expand Down