리눅스(linux) 서버에
외부로 부터 접속을 반복해서 수행하는 누군가가 있다고 생각해봅니다. 로그인 시도가 계속해서 틀리는 경우 만약에 해커라면? 이런 경우를 대비하여 어떻게 해야 할까요?
# 리눅스 최대 로그인 횟수 설정하기, pam_tally2무한정으로 로그인 시도를 할 수 있다면?
언젠가는 보안이 풀릴 위험이 있습니다. 이런 이유로 외부의 로그인 시도시 틀릴 경우
최대시도 횟수 설정이 있다면 외부 위협을 어느 정도 벗어날 수 있겠군요.
pam_tally2이런 보안 설정에 필요한 것이 바로 pam_tally2입니다.
접속 시도가 계속 틀릴 경우 횟수에 제한을 설정하여 일정 시간 동안 계정 잠금 상태로 설정하는 것이 가능합니다.
그럼 아래에서 어떻게 사용하는지 자세히 알아보겠습니다.
! 리눅스 pam_tally2 설정하기먼저 설정을 위해 아래의 설정 파일을 수정해야 합니다.
vim /etc/pam.d/common-auth
이제 파일 안에 아래와 같은 내용을 추가합니다.
auth required pam_tally2.so onerr=fail even_deny_root deny=5 unlock_time=1800
여기서 설정하는 옵션과 값은 아래를 참고합니다.
onerr : lock 수행하는 기준
deny : 실패 횟수 정하기
unlock_time : second 기준(100 = 100초)위의 설정 값을 그래로 설정할 경우 로그인 5회 실패시 1800초, 30분간 로그인 시도가 불가능하도록 설정되었습니다.
@ 설정 완료 후 테스트 하기이제 새로운 계정을 만들어 로그인 실패시 설정한 부분이 정상 동작하는지 테스트, 확인이 필요합니다. 먼저 새로운 계정 만들어야죠. tester라는 계정을 만드는 경우 아래와 같이 입력합니다.
adduser tester
이제 실제로 접속 후 반복하여 실패하도록 합니다.
현재 tester 계정이 더 이상 접속할 수 없는지 그리고 접속 실패 상태를 확인하기 위해 아래와 같이 입력합니다.
pam_tally2 -u tester
// 출력 결과
Login Failures Latest failure From
tester 5
보이는 것처럼 현재 실패한 계정의 상태를 보여줍니다.
@ 계정 접속 횟수 초기화 해주기필요에 따라 접속을 허용해야한다면 아래와 같이 r 플래그를 사용하여 리셋해줍니다.
pam_tally2 -u tester -r
여기서 r은 리셋을 의미하죠
-r 또는 --reset이제 tester 계정을 확인해보면 아래와 같이 리셋된 것을 확인할 수 있습니다.
@ 다시 실패 횟수 확인하기sudo pam_tally2 -u tester
// 출력 결과
Login Failures Latest failure From
tester 0
로그인 실패 횟수가 초기화 되어 0으로 나타는 것을 알 수 있습니다.
여기까지
서버 보안을 위한 로그인 횟수 제한을 설정하는
pam_tally2에 대하여 알아보았습니다.