Configure o PAM no Linux usando o serviço SSSD.
-
Verificar se o arquivo
/etc/sssd/sssd.conf existe, tem a permissão 600 e pertence ao usuário raiz. Se o arquivo ainda não existir, crie-o da seguinte forma e execute chmod 600 /etc/sssd/sssd.conf.
/etc/sssd/sssd.conf
[sssd]
config_file_version = 2
services = nss, pam
### domains specify the look up order,
### which should always be LOCAL and then IDCS.
domains = LOCAL,IDCS
[nss]
#Backfill cache at 75%, do not cache bad lookups,
# no in-mem cache
entry_cache_nowait_percentage = 75
### 1 Hour caching for non existent user
entry_negative_timeout = 3600
[pam]
pam_id_timeout = 600
[domain/LOCAL]
# Prior to 1.15, must use older files provider
id_provider = proxy
proxy_lib_name = files
# Disable authentication, files provider
# always provides local access, enumerate files
auth_provider = none
access_provider = permit
enumerate = true
[domain/IDCS]
re_expression = (?P<domain>[^\\]*?)\\?(?P<name>[^\\]+$)
auth_provider = proxy
id_provider = proxy
proxy_lib_name = oracle_cloud
proxy_pam_target = sssd_proxy_oracle_cloud
enumerate = false
cache_credentials = true
# Default cache timeout 90 mins for user/group info entries,
#before it reaches to IDCS for new updates
entry_cache_timeout = 5400
Você terá a opção de configurar endereços de e-mail como nomes de usuário de SSO. Para fazer isso, adicione a linha em negrito ao arquivo
/etc/sssd/sssd.conf para especificar a expressão regular.
...
[pam]
[domain/proxy_proxy]
re_expression = (?P<domain>[^\\]*?)\\?(?P<name>[^\\]+$)
auth_provider = proxy
id_provider = proxy
...
-
Verifique se o arquivo
/etc/pam.d/sssd_proxy_oracle_cloud existe e pertence ao usuário raiz. Se o arquivo ainda não existir, crie-o como o usuário raiz e adicione o seguinte:
/etc/pam.d/sssd_proxy_oracle_cloud file
auth required pam_oracle_cloud.so
account required pam_oracle_cloud.so
password required pam_oracle_cloud.so
session required pam_oracle_cloud.so
-
Edite a
/etc/pam.d/sshd e adicione o módulo pam_oracle_cloud:
/etc/pam.d/sshd
auth sufficient pam_oracle_cloud.so
Observação
Adicione isso antes da linha auth include password-auth ou auth substack password-auth*.
-
Edite o
/etc/ssh/sshd_config para configurar o sshd para permitir o uso de autenticação multifator (MFA):
/etc/ssh/sshd_config
Procure a propriedade ChallengeResponseAuthentication e defina-a como yes. Se a propriedade não está no arquivo de configuração, adicione-a.
-
Edite o
/etc/opc.conf para permitir que o plug-in interaja com o serviço IAM:
/etc/opc.conf
#This is sample format of opc.conf file, please use the correct information to configure this file.
#Enter the Oracle Identity Cloud Service tenancy base url.
base_url = https://identity-cloud-service-instance-url
#There is no need to change value of scope.
scope = urn:opc:idm:__myscopes__
#Enter the location of the wallet.
wallet_location = /etc/opc-wallet
#Enter the log level, this is optional and the default is 0, which means no log. 0 - None, 1 - Error, 2 - Info, 3 - Debug.
log_level = 0
#Enter the log file path, this is optional and defaults to /var/log/opc/pam_nss.log
log_file_path = /var/log/opc/pam_nss.log
#Enter the value for proxy usage to connect to Oracle Identity Cloud Service.
#Set the value to 1 to use a proxy and 0 to not use a proxy.
use_proxy=0
#Enter the information below if you set: use_proxy=1
#Enter the proxy url
#proxy_url=http://proxy.example.com
#Enter the proxy port
#proxy_port=80#Enter the username to connect to the proxy url.
#proxy_username=username_example
#Enter the password of username to connect proxy url.
#proxy_pwd=pwd_example
-
Reinicie o sssd e sshd:
-
Para OEL6 e OEL7:
authconfig --enablemkhomedir --enablepamaccess --update.
-
Para OEL8:
authselect select sssd with-mkhomedir with-pamaccess.
-
Execute:
service sshd restart.
-
Execute:
service sssd restart.