1P by neo 3달전 | favorite | 댓글 1개
  • PerSourcePenaltiesPerSourcePenaltyExemptList라는 새로운 옵션이 sshd(8)에 도입
    • PerSourcePenalties: 비정상적인 클라이언트 행동을 감지하고 제재를 가하는 기능
    • PerSourcePenaltyExemptList: 특정 클라이언트 주소를 제재에서 제외할 수 있는 기능

비정상적인 행동 감지 및 제재

  • sshd(8)는 클라이언트가 인증에 반복적으로 실패하거나 sshd를 충돌시키는 등의 비정상적인 행동을 감지함.
  • 이러한 행동이 감지되면 클라이언트 주소에 일정 시간 동안 접속을 거부하는 제재를 가함.
  • 반복적인 위반 시 제재 시간이 증가함.

기본 설정 및 주의사항

  • PerSourcePenalties는 기본적으로 비활성화되어 있으나, 곧 기본 활성화될 예정임. (OpenBSD 7.6 부터)
  • NAT 블록이나 프록시 뒤에서 많은 사용자가 접속하는 경우, 합법적인 트래픽이 차단될 수 있음.
  • sshd_config(5)에서 PerSourcePenalties, PerSourcePenaltyExemptList, PerSourceNetBlockSize 옵션을 조정하여 환경에 맞게 설정할 필요가 있음.

GN⁺의 의견

  • 보안 강화: 이 기능은 비정상적인 접근 시도를 효과적으로 차단하여 보안을 강화할 수 있음.
  • 관리의 편리성: 특정 클라이언트를 제재에서 제외할 수 있는 옵션이 있어 관리가 용이함.
  • NAT 환경 주의: NAT 환경에서 많은 사용자가 동일한 IP를 사용할 경우, 합법적인 사용자가 차단될 수 있어 주의가 필요함.
  • 기본 활성화: 기본 활성화 시 예상치 못한 차단이 발생할 수 있으므로, 관리자들은 미리 설정을 검토해야 함.
  • 업계 유사 기능: 다른 SSH 서버 소프트웨어에서도 유사한 보안 기능을 제공하므로, 필요에 따라 비교 검토가 필요함.
Hacker News 의견
  • SSH 서버 작성 경험: IPv4에서는 CGN 사용으로 인해 무고한 사용자가 피해를 볼 가능성이 높아짐. IPv6에서는 새로운 IP를 얻는 것이 쉬워 보호 방법이 효과적이지 않음. 대부분의 공격은 단순한 사전 공격이며, SSH 키 사용 권장.
  • SSH 비밀번호 사용 경고: 인터넷에 노출된 SSH에 비밀번호를 사용하는 것은 매우 위험함. 키 사용이 더 편리하고 안전함.
  • 설정 복잡성: 페널티 시스템이 복잡해 보이며, 기본값이 문서화되지 않음. 소스 코드를 읽어야 하지만 CVS 클라이언트를 설치하기 꺼려짐.
  • 기존 솔루션 사용: 이미 fail2ban을 사용 중이며, sshd에 더 많은 코드를 추가하는 것을 원하지 않음.
  • 내장 기능의 장점: MaxAuthTries와 fail2ban을 사용해봤으며, 내장된 기능이 개선된 점이 있음.
  • 기능 비판: 새로운 IP를 얻는 것이 쉬워 효과가 없을 수 있음. 디버깅이 어려워질 수 있으며, 많은 회사에서 문제가 발생할 수 있음.
  • 봇넷 공격 문제: 봇넷을 사용하는 공격에는 효과가 없을 수 있음.
  • 기능 필요성 의문: 기존 솔루션을 사용 중인 사람들에게 불편함을 초래할 수 있음. 유연한 스크립팅이 필요함.
  • 보안 접근 방식 비판: fail2ban과 sshd의 새로운 기능은 비원칙적인 보안 접근 방식임. 신뢰할 수 있는 네트워크에서만 로그인 허용 권장.
  • OpenBSD 호환성 의문: fail2ban이 OpenBSD에 포팅되었는지 여부를 모르는 사람들이 많음.