Bug 657378

Summary: [RFE] ability to require password and public-key for login
Product: Red Hat Enterprise Linux 6 Reporter: Martin Poole <mpoole>
Component: opensshAssignee: Petr Lautrbach <plautrba>
Status: CLOSED ERRATA QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: medium Docs Contact:
Priority: high    
Version: 6.3CC: chorn, jkodak, jrieden, mkhusid, mvadkert, ohudlick, pvrabec, sgrubb
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openssh-5.3p1-80.el6 Doc Type: Enhancement
Doc Text:
Multiple required methods of authentications for sshd SSH can now be set up to require multiple ways of authentication (whereas previously SSH allowed multiple ways of authentication of which only one was required for a successful login); for example, logging in to an SSH-enabled machine requires both a passphrase and a public key to be entered. The RequiredAuthentications1 and RequiredAuthentications2 options can be configured in the /etc/ssh/sshd_config file to specify authentications that are required for a successful log in. For example: ~]# echo "RequiredAuthentications2 publickey,password" >> /etc/ssh/sshd_config For more information on the aforementioned /etc/ssh/sshd_config options, refer to the sshd_config man page.
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 07:17:05 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 703208, 713505, 750571, 756082, 772279    
Attachments:
Description Flags
foxed openssh-5.3p1-required-authentications.patch none

Description Martin Poole 2010-11-25 16:37:07 UTC
2. What is the nature and description of the request?

SSH two-factor authentication with passphrase and public-key (not passphrase for the public-key)
This should work for both SSH-login and scp/sftp (an unsupported workaround for login might be possible already)


   3. Why does the customer need this? (List the business requirements here)

This customer wants to comply with the PCI-DSS at Standard https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml (Chapter 8.2) which seems to require two-factor authentication.


   4. How would the customer like to achieve this? (List the functional requirements here)

To make a "real" two factor authentication possible, they want to have the possibility to use pubkey AND a password prompt for login.


   5. For each functional requirement listed in question 4, specify how Red Hat and the customer can test to confirm the requirement is successfully implemented.

Logging in on the SSH-server requires both a passphrase and public-key on the server. By using either one of them it should not be possible to login.


   6. Is there already an existing RFE upstream or in Red Hat bugzilla?

none found


   7. How quickly does this need resolved? (desired target release)

asap, but seems to require huge changes in openssh, until than, this customer might go for a 3rd party solution


   8. Does this request meet the RHEL Inclusion criteria (please review)

yes, but only if upstream accepts the request/implementation too

Comment 12 Petr Lautrbach 2012-03-21 09:40:29 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
sshd_config supports new RequiredAuthentications1 and  RequiredAuthentications2 options now. With these options you can specify authentications
that are "required, but not "sufficient" to sshd. e.g. require public-key authentication and password authentication.

Comment 13 Martin Prpič 2012-04-15 14:29:12 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,2 +1,8 @@
-sshd_config supports new RequiredAuthentications1 and  RequiredAuthentications2 options now. With these options you can specify authentications
+SSH two-factor authentication
-that are "required, but not "sufficient" to sshd. e.g. require public-key authentication and password authentication.+
+SSH now supports two-factor authentication where, for example, logging in to an SSH-enabled machine requires a passphrase and a public key to be entered. The RequiredAuthentications1 and RequiredAuthentications2 options can be specified in the /etc/ssh/sshd_config file to set authentications that are required for a successful log in. For example:
+
+~]# echo "RequiredAuthentications1 password" >> /etc/ssh/sshd_config
+~]# echo "RequiredAuthentications2 puplickey" >> /etc/ssh/sshd_config
+
+Note that you must have a working public key set up for the above configuration to work.

Comment 14 Petr Lautrbach 2012-04-16 01:54:43 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -2,7 +2,6 @@
 
 SSH now supports two-factor authentication where, for example, logging in to an SSH-enabled machine requires a passphrase and a public key to be entered. The RequiredAuthentications1 and RequiredAuthentications2 options can be specified in the /etc/ssh/sshd_config file to set authentications that are required for a successful log in. For example:
 
-~]# echo "RequiredAuthentications1 password" >> /etc/ssh/sshd_config
-~]# echo "RequiredAuthentications2 puplickey" >> /etc/ssh/sshd_config
+~]# echo "RequiredAuthentications2 publickey,password" >> /etc/ssh/sshd_config
 
 Note that you must have a working public key set up for the above configuration to work.

Comment 15 Martin Prpič 2012-04-16 16:42:25 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,7 +1,7 @@
-SSH two-factor authentication
+Multiple required methods of authentications for sshd
 
-SSH now supports two-factor authentication where, for example, logging in to an SSH-enabled machine requires a passphrase and a public key to be entered. The RequiredAuthentications1 and RequiredAuthentications2 options can be specified in the /etc/ssh/sshd_config file to set authentications that are required for a successful log in. For example:
+SSH can now be set up to require multiple ways of authentication (whereas previously SSH allowed multiple ways of authentication of which only one was required for a successful login); for example, logging in to an SSH-enabled machine requires both a passphrase and a public key to be entered. The RequiredAuthentications1 and RequiredAuthentications2 options can be configured in the /etc/ssh/sshd_config file to specify authentications that are required for a successful log in. For example:
 
 ~]# echo "RequiredAuthentications2 publickey,password" >> /etc/ssh/sshd_config
 
-Note that you must have a working public key set up for the above configuration to work.+For more information on the aforementioned /etc/ssh/sshd_config options, refer to the sshd_config man page.

Comment 17 Petr Lautrbach 2012-05-10 15:25:21 UTC
Created attachment 583617 [details]
foxed openssh-5.3p1-required-authentications.patch

There was missing break in parse function.

Comment 21 errata-xmlrpc 2012-06-20 07:17:05 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2012-0884.html