Limitar tentativas de su

2

Existe uma maneira de limitar o número de tentativas de su de um usuário?

Por exemplo, um usuário mal-intencionado entra em um login de usuário que tem acesso su. Repetidamente executa su para tentar obter acesso de superusuário.

Este exemplo seria uma ocorrência rara, mas ainda parece ser uma boa ideia adicionar proteção.

Tentando Faillock:

Adicionei as seguintes linhas ao /etc/pam.d/su para testá-lo:

auth        required       pam_faillock.so preauth silent audit deny=1 unlock_time=120
auth        sufficient     pam_unix.so nullok try_first_pass
auth        [default=die]  pam_faillock.so authfail audit deny=1 unlock_time=120
account     required       pam_faillock.so

No entanto, não bloqueia ninguém. Eu estava monitorando via faillock e vi:

# faillock
user:
When                Type  Source                                           Valid
root:
When                Type  Source                                           Valid
2015-01-30 20:55:05 TTY   pts/1                                                V
2015-01-30 20:55:20 TTY   pts/1                                                V

No entanto, essa entrada está na raiz (assim, bloquearia o usuário root para todos?) e essa entrada não tem efeito sobre o su.

    
por Devon 30.01.2015 / 19:16

1 resposta

2

Um pouco de pesquisa no Google resulta em um link para esta documentação :

Task: Set Maximum Number of Login Failures

    The -m option is allows you to set maximum number of login failures after 
    the account is disabled to specific number called MAX. Selecting MAX value 
    of 0 has the effect of not placing a limit on the number of failed logins.
    The maximum failure count should always be 0 for root to prevent a denial of
    services attack against the system:
    # faillog -M MAX -u username
    # faillog -M 10 -u vivek

e esta documentação :

faillog    
faillog -u <user> -r
faillog -u oracle -m 0
/var/log/faillog
faillog -u <user> -m -1

No entanto, executando faillog no CentOS7. De acordo com este Q & A pam_tally2 substitui o comando faillog .

deny=n
    Deny access if tally for this user exceeds n.
    
por 30.01.2015 / 19:44