무차별 대항 SSH 서버 보안 이 사람은 두

데비안을 실행하는 오래된 SVN 서버, 오래된 Dell Optiplex가 있습니다. SVN 서버가 조금 있기 때문에 서버에 대한 요구가 많지 않지만 보안을 원합니다.

방금 서버를 새롭고 더 나은 optiplex로 갱신하고 이전 서버를 조금 살펴보기 시작했습니다. 문제가 생겼을 때 다운했습니다. 로그를 확인할 때 무차별 대입 시도로 가득 차서 누군가 내 컴퓨터에 들어가는 데 성공했습니다. 이 사람은 두 개의 dirs “root”및 “swap1″또는 “knarkgosse”라는 추가 볼륨을 만들었습니다. 실제로 왜, 무엇을하는지 모르지만 다시는 이런 일이 발생하지 않도록해야합니다. 암호를 몇 개월 정도 변경했기 때문에 조금 이상하다고 생각합니다. 암호는 항상 임의의 문자와 숫자로 구성되어 있습니다.

루트 로그인을 막고 sudoers를 사용하고 SSH 포트를 변경할 수 있다는 것을 알고 있습니다.하지만 더 무엇을 할 수 있습니까?

그래서 몇 가지 질문이 있습니다.

  1. X 번의 잘못된 시도 후 5 분 동안 로그인을 방지하는 방법 아니면 각 잘못된 시도 후 느린 시도?

  2. 서버가 연결할 수있는 중앙 블랙리스트가 있습니까? “안전하지 않은”IP 주소를 추적하고 액세스 권한을 부여해서는 안되는 블랙리스트?

  3. 서버에 안전을 적용하기 위해 무엇을 더 할 수 있습니까?

앞서 말했듯이 Apache (www-data user problem?), svn, mysql, php, phpmyadmin, hudson과 함께 Debian 5를 실행하고 있습니다. 포트 전달이 80, 443, 8080, 8180, 23 및 22 인 홈 네트워크에 있습니다.



답변

Fail2banPort Knocking 은 대부분의 요구를 해결해야합니다.

SSH 포트를 변경하고 키 기반 인증 만 허용하는 것이 좋습니다.

추가 보안 조치를 추가하면 수익이 감소하는 시점에 도달 할 수 있지만 “충분한 보안”시기를 결정하는 것은 사용자의 몫입니다.

루트 로그인을 허용하지 않는 것이 좋습니다.


답변

보안 암호 및 키 인증을 대체 할 수는 없습니다. 즉, Fail2Ban 은 너무 많은 인증을 시도하는 사용자의 IP를 차단 하는 훌륭한 도구입니다. 또한 대부분의 배포판에 사전 빌드 된 패키지로 제공됩니다. 실수로 자신을 금지시킬 수 있으므로 복구 허용 된 IP 또는 콘솔 액세스가 쉬운 지 확인하십시오 …

Fail2Ban에는 요청한 모든 것을 구성하는 방법에 대한 몇 가지 좋은 예가 있지만 잘못된 주소의 범용 저장소는 없습니다. 다른 IP (dhcp 갱신 / 봇넷 공격 등)를 쉽게 얻을 수 있기 때문에 그러한 저장소가 있다고 생각하지 않습니다. 또한 일반적인 ‘관리자’유형 사용자 이름 (root / admin / administrator / sysop / etc ..)을 사용하여 ssh를 통한 로그인을 사용하지 않도록 설정합니다.


답변

나는 다음과 같이 무차별 대입 공격을 중단했다.


답변

여기에는 여러 가지 좋은 제안이 있습니다. 나는 세 가지가 이것을 비교적 안전하게 만들어야한다고 정중하게 제안합니다.

  1. 임의의 높은 포트에서 sshd를 실행하십시오. 봇은 일반적으로 포트 22와 포트 2222와 유사합니다.
  2. sshd 구성에서 비밀번호 기반 인증을 비활성화하십시오.

사용 PAM no

  1. 사전 공유 SSH 키 쌍을 통해서만이 사이트에서 인증하십시오. PKI 기반 인증을 시작하려면 ssh-keygen을 사용하십시오.

도움이 되었기를 바랍니다.


답변

나는 항상 폭력, 포트 캔 및 기타 옵션을 시도하는 사람들의 IP 주소를 차단 할 수있는 CSF / LFD 의 열렬한 팬이었습니다 . 기본적으로 IP 테이블을위한 거대한 perl-wrapper이지만 구성 파일을 읽기가 어렵지 않고 설명서가 나쁘지 않습니다.


답변

sshguard를 살펴볼 수도 있습니다. 나는 그것을 사용하지 않았지만 좋은 소식을 들었습니다.

출처 :
http://isc.sans.edu/diary.html?storyid=9370

http://www.sshguard.net/

http://www.sshguard.net/docs/faqs/

“Sshguard는 로깅 활동에서 서버를 모니터링합니다. 로그에서 누군가가 나쁜 일을하고 있다는 사실을 알리면 sshguard는 그 / 그녀의 비트를 조금씩 차단하여 반응합니다. 굳건하고 굳건하다 “


답변

SSH 서버가 기본 포트의 인터넷에 연결되어 있으며 문제가 발생하지 않았습니다.

  • SSH 용 tcp_wrappers (즉, hosts.allow hosts.deny). 컴파일 된 지원이없는 SSH가 있다고 생각하지 않습니다.
  • iptables를 tcp_wrappers와 함께 사용하면 임의의 포트 스캔 / 브 루트 포스 시도의 약 99 %가 제거되었습니다. 유일한 문제는 IP / IP 범위를 허용하기 위해 어디에서 연결해야하는지 알아야한다는 것입니다. 내 지역 주변의 인기있는 공급자가 IP 범위를 확인하고 그 범위를 허용하도록 검색했습니다. 대부분의 스캔은 멀리 떨어진 땅에서 온 것 같습니다.
  • 암호없이 PermitRootLogin (예 : 암호로 암호화 된 RSA / DSA 키 쌍만)은 자동화 된 작업에 훌륭하게 작동합니다. 상호 작용을 위해 로그인 할 때 sudo 액세스로 구성된 내 계정 (일반)을 분명히 사용합니다.
  • Sudoers
  • 지속적인 업데이트. 모든 보안 / 중요 업데이트로이 상자를 자주 업데이트합니다.
  • 비밀번호 / 암호 변경
  • chkrootkit을 몇 번이고 실행하여 문제가 있는지 확인하십시오. (이 기능을 수행하는 몇 가지가 있습니다)

그것이 도움이되기를 바랍니다!