최대 재 시도를 무시한 pam 서비스 (sshd)


32

웹 서버를 실행하는 데 사용하는 vps가 있으며 현재 우분투 서버 12.04를 실행합니다. 몇 주 후 ssh 콘솔에서 많은 오류가 계속 발생합니다.

2014 Apr 11 08:41:18 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:21 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:24 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:25 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:26 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:29 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:29 vps847 PAM service(sshd) ignoring max retries; 6 > 3

누군가이 오류의 의미를 말해 줄 수 있습니까? 또는 적어도 이러한 오류를 비활성화하는 방법을 알려주십시오. ssh를 통해 작업 할 때 정말 성가 시며 이러한 오류가 화면 전체에 계속 나타납니다.

답변:


40

PAM"retry = 3"으로 구성되어 있으며 동일한 세션 내에서 sshd의 추가 인증 요청을 무시합니다. SSH그러나 MaxAuthTries 설정이 소모 될 때까지 계속 시도합니다 (기본값은 6).

최대 인증 재 시도를 위해이 두 가지 (SSH 및 PAM)를 동일한 값으로 설정해야합니다.

업데이트

이 동작을 변경하려면

sshd편집 /etc/ssh/sshd_config하고 설정하십시오 MaxAuthTries 3. 또한 설정을 적용하려면 SSH 서버를 다시 시작하십시오.

의 경우 디렉토리 PAM에서 구성을 찾아야합니다 /etc/pam.d( common-password우분투 의 파일 이라고 생각합니다 ) retry=. 값 을 변경해야 합니다.

참고 : SSH 요청이 무력화 될 수 있기 때문에 이러한 요청의 이유에 대한 Peter Hommel의 답변을 확인하는 것이 좋습니다.


감사합니다 MaxAuthTries 3. ssh 구성 에 추가 한 다음 서버를 재부팅하여 문제를 해결했습니다 .
Jerodev

41

다른 오류가 발생한 오류 메시지를 제거하는 것은 정확하지만이 오류 메시지는 다른 근본적인 문제의 증상 일 수 있습니다.

시스템에서 ssh를 통한 많은 로그인 시도 실패로 인해 이러한 메시지가 표시됩니다. 상자에 무차별 대입하려고하는 사람이있을 수 있습니다 (내 시스템에서 동일한 메시지를 받았을 때). var/log/auth.log연구 내용을 읽어보십시오 ...

이 경우 'fail2ban'( sudo apt-get install fail2banUbuntu에) 과 같은 도구를 설치하는 것이 좋습니다. 그것은 자동으로 시스템의 로그 파일을 읽고 여러 번의 실패한 로그인 시도를 검색하며 iptables를 통해 구성 가능한 시간 동안 악성 클라이언트를 차단합니다 ...


4
이것은 매우 좋은 의견입니다.이 답변을 읽을 수있는 사람에게도 답변을 읽으라는 메모로 내 답변을 업데이트했습니다.
phoops

5

위의 분석이 완전히 정확하지 않은 것 같습니다. pam 인증에는 retry = 옵션이없는 것 같습니다 (pam_cracklib에 대한 옵션을 찾았지만 pam의 "auth"섹션의 인증이 아니라 "password"섹션의 비밀번호 변경에만 해당됩니다). 대신, pam_unix에는 내장 된 최대 재시도 횟수가 3입니다. 3 번의 재시도 후에 pam은 PAM_MAXRETRIES 오류 코드를 반환하여 sshd에이를 알립니다.

sshd는 자체 MaxAuthTries에 관계 없이이 경우 시도를 중단해야합니다. 그것은 버그라고 생각하지 않습니다 ( 방금 openssh 로보 고했습니다 ).

해당 버그가 수정 될 때까지 MaxAuthTries를 <= 3으로 설정하면이 메시지가 표시되지 않는 유일한 방법 인 것 같습니다.


버그는 7.3p1 버전으로 수정 된 것 같습니다
Dennis Nolte

3

ssh 클라이언트는 하나 이상의 키로 인증을 시도 할 수 있습니다. authorized_keys에 나열되지 않은 모든 키는 실패하며 sshd의 재시도 중 하나를 소비합니다. 클라이언트는 성공하거나 모두 실패 할 때까지 모든 ssh 키를 시도하므로 sshd를 사용하면 여러 ssh를 사용하는 것이 좋습니다.

일치하는 키가 없으면 sshd에서 암호를 시도 할 수 있습니다. 이러한 각 시도는 또한 sshd의 허용 된 재시도 중 하나를 소비합니다. 그러나 PAM의 허용 된 재시도 중 하나를 소비합니다.

따라서 6 개의 ssh 인증 시도와 3 개의 pam 인증 시도의 조합은 좋은 것입니다. ssh는 6 번의 인증 시도를 허용하지만 (키 또는 암호) 3 번의 암호 시도 만 허용합니다.

다른 사람들이 말했듯이, 로그에 이러한 내용이 자주 표시되면 누군가가 시스템에 침입하는 것입니다. 이러한 시도가 시작된 IP 주소의 패킷을 완전히 차단하려면 fail2ban을 사용하십시오.


1

데비안 6에서 데비안 7로 업그레이드 한 후에도 같은 문제가 발생했습니다. 갑자기이 sshd 오류가 콘솔에 나타났습니다.

2014 Oct 15 13:50:12 vps456 PAM service(sshd) ignoring max retries; 6 > 3
2014 Oct 15 13:50:17 vps456 PAM service(sshd) ignoring max retries; 6 > 3
2014 Oct 15 13:50:18 vps456 PAM service(sshd) ignoring max retries; 6 > 3

필자의 경우 rsyslog데비안 업그레이드 후 더 이상 설치되지 않은 문제였습니다 .

rsyslog를 설치 한 후이 오류가 콘솔에서 사라졌습니다. apt-get install rsyslog


3
이렇게하면 콘솔 대신 다른 곳에 표시됩니다. 내 답변은 업그레이드 후 SSH / PAM 구성 오류로 인한 오류의 원인을 해결합니다.
phoops

-1

콘솔에서 이러한 알림을받는 것은 성가신 일이지만 어제 로그 파일에서 중국의 IP 주소에서 987 번의 루트 로그인 시도가 실패했거나 캘리포니아의 일부 클라우드 서비스에서 2670 번의 루트 로그인 시도가 실패했음을 발견했습니다. 다른 사람들은 걱정하지 않습니다. 사용자 루트는 내 컴퓨터에서 전혀 로그인 할 수 없습니다. 시도 횟수에 관계없이

그들은 로그인 할 수있는 사용자 이름을 시도하기 시작했습니다. 다른 문제 일 것입니다.하지만 암호가 좋은 경우 위험이 없습니다. 암호화 키와 달리 로그인 암호는 너무 빨리 시도 할 수 있습니다.

fail2ban과 같은 것을 사용하면 (암호가 좋은 경우) 아무것도 사지 않는 불필요한 복잡성이 보이고 복잡성이 보안에 좋지 않습니다. 조절 시도는 sshd가 구현해야하는 것이지 부가 기능이 필요한 것은 아니며 sshd 조절 시도를합니다. 좋은.

-kb, 좋은 암호 만 사용하고 다른 사이트간에 재활용하지 않은 Kent.


2
ssh 키를 사용하고 암호를 비활성화하면 무차별 대입 공격을 효과적으로 막을 수 있습니다.
HBruijn

예, 그러나 문제는 ssh 키 보호로 전환됩니다. 그들은 어디에 있습니까? 그들은 암호화되어 있습니까? 열쇠가 그들을 얼마나 잘 보호합니까? 시도한 X 년 동안 암호를 해독 할 수 없으면 시도한 X 년 동안 암호를 해독 할 수없는 경우 "더 나은"항목이 무엇입니까? 암호를 관리하는 데 많은 시간을 투자했으며 입력 한 많은 암호를 기억할 수 있습니다. 그러나 많은 ssh 키? 보관할 안전한 장소가 필요합니다.
Kent Borg

2
무차별 암호 (일반적으로 길이가 20 자 미만이고 너무 자주 잘못 선택됨)는 1024 비트 개인 키 (128 자 암호와 동일)를 강제로 SSH를 통해 액세스하는 무차별보다 훨씬 간단합니다. 사과와 사과를 비교하는 것을 고집합시다. --당신이 완전한 바보가 아닌 한 (예를 들어 공개 키 허브에 개인 키 저장) 개인 ssh 키를 얻는 것은 워크 스테이션을 떠날 필요가 없기 때문에 어렵습니다. 개인 키가 손상되면 우리는 더 이상 무작위 공격을하지 않지만 표적 공격 영역에
들어가게됩니다

@Kent 비밀번호로 SSH 키를 보호 할 수 있다는 것을 알고 있습니까? 또한 fail2ban은 불필요하지만 SSH가 자체적 으로이 기능을 구현해야한다고 제안합니다. 또한 요청을 차단하지 않으면 시스템을 훨씬 쉽게 DDoS 할 수 있습니다.
phoops
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.