데비안을 실행하는 오래된 SVN 서버, 오래된 Dell Optiplex가 있습니다. SVN 서버가 조금 있기 때문에 서버에 대한 요구가 많지 않지만 보안을 원합니다.
방금 서버를 새롭고 더 나은 optiplex로 갱신하고 이전 서버를 조금 살펴보기 시작했습니다. 문제가 생겼을 때 다운했습니다. 로그를 확인할 때 무차별 대입 시도로 가득 차서 누군가 내 컴퓨터에 들어가는 데 성공했습니다. 이 사람은 두 개의 dirs “root”및 “swap1″또는 “knarkgosse”라는 추가 볼륨을 만들었습니다. 실제로 왜, 무엇을하는지 모르지만 다시는 이런 일이 발생하지 않도록해야합니다. 암호를 몇 개월 정도 변경했기 때문에 조금 이상하다고 생각합니다. 암호는 항상 임의의 문자와 숫자로 구성되어 있습니다.
루트 로그인을 막고 sudoers를 사용하고 SSH 포트를 변경할 수 있다는 것을 알고 있습니다.하지만 더 무엇을 할 수 있습니까?
그래서 몇 가지 질문이 있습니다.
-
X 번의 잘못된 시도 후 5 분 동안 로그인을 방지하는 방법 아니면 각 잘못된 시도 후 느린 시도?
-
서버가 연결할 수있는 중앙 블랙리스트가 있습니까? “안전하지 않은”IP 주소를 추적하고 액세스 권한을 부여해서는 안되는 블랙리스트?
-
서버에 안전을 적용하기 위해 무엇을 더 할 수 있습니까?
앞서 말했듯이 Apache (www-data user problem?), svn, mysql, php, phpmyadmin, hudson과 함께 Debian 5를 실행하고 있습니다. 포트 전달이 80, 443, 8080, 8180, 23 및 22 인 홈 네트워크에 있습니다.
답변
Fail2ban 및 Port Knocking 은 대부분의 요구를 해결해야합니다.
SSH 포트를 변경하고 키 기반 인증 만 허용하는 것이 좋습니다.
추가 보안 조치를 추가하면 수익이 감소하는 시점에 도달 할 수 있지만 “충분한 보안”시기를 결정하는 것은 사용자의 몫입니다.
루트 로그인을 허용하지 않는 것이 좋습니다.
답변
보안 암호 및 키 인증을 대체 할 수는 없습니다. 즉, Fail2Ban 은 너무 많은 인증을 시도하는 사용자의 IP를 차단 하는 훌륭한 도구입니다. 또한 대부분의 배포판에 사전 빌드 된 패키지로 제공됩니다. 실수로 자신을 금지시킬 수 있으므로 복구 허용 된 IP 또는 콘솔 액세스가 쉬운 지 확인하십시오 …
Fail2Ban에는 요청한 모든 것을 구성하는 방법에 대한 몇 가지 좋은 예가 있지만 잘못된 주소의 범용 저장소는 없습니다. 다른 IP (dhcp 갱신 / 봇넷 공격 등)를 쉽게 얻을 수 있기 때문에 그러한 저장소가 있다고 생각하지 않습니다. 또한 일반적인 ‘관리자’유형 사용자 이름 (root / admin / administrator / sysop / etc ..)을 사용하여 ssh를 통한 로그인을 사용하지 않도록 설정합니다.
답변
나는 다음과 같이 무차별 대입 공격을 중단했다.
- fail2ban
- sshd.config :
- 비밀번호 인증 번호
- 허가 루트 로그인
- iptables로 SSH 연결 속도 제한 ( http://www.debian-administration.org/articles/187 )
답변
여기에는 여러 가지 좋은 제안이 있습니다. 나는 세 가지가 이것을 비교적 안전하게 만들어야한다고 정중하게 제안합니다.
- 임의의 높은 포트에서 sshd를 실행하십시오. 봇은 일반적으로 포트 22와 포트 2222와 유사합니다.
- sshd 구성에서 비밀번호 기반 인증을 비활성화하십시오.
사용 PAM no
- 사전 공유 SSH 키 쌍을 통해서만이 사이트에서 인증하십시오. PKI 기반 인증을 시작하려면 ssh-keygen을 사용하십시오.
도움이 되었기를 바랍니다.
답변
나는 항상 폭력, 포트 캔 및 기타 옵션을 시도하는 사람들의 IP 주소를 차단 할 수있는 CSF / LFD 의 열렬한 팬이었습니다 . 기본적으로 IP 테이블을위한 거대한 perl-wrapper이지만 구성 파일을 읽기가 어렵지 않고 설명서가 나쁘지 않습니다.
답변
sshguard를 살펴볼 수도 있습니다. 나는 그것을 사용하지 않았지만 좋은 소식을 들었습니다.
출처 :
http://isc.sans.edu/diary.html?storyid=9370
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을 몇 번이고 실행하여 문제가 있는지 확인하십시오. (이 기능을 수행하는 몇 가지가 있습니다)
그것이 도움이되기를 바랍니다!