멤캐시드 센스포스트가 블랙햇에서 고더퍼를 공개한 이후 보안이 화제가 되고 있습니다.

프레젠테이션은 꽤 훌륭하고 유익했지만, 과대 광고로 인해 많은 사람들이 혼란스러워하는 것 같습니다. 프레젠테이션에서 많은 부분이 다루어졌지만 가능한 한 많은 부분을 다시 설명할 필요가 있습니다.

항상 먼저, 방화벽

이것은 실제로 시스템 관리자 배치 테스트의 일부이며 다음과 관련이 없습니다. 멤캐시드 에 대한 언급을 하고 싶지 않지만 어쨌든 언급하겠습니다.

항상 방화벽으로 시작합니다. 모든 것 를 클릭한 다음 필요한 장소로 필요한 물건만 통과하도록 허용합니다.

방화벽 사용법은 알려드리지 않겠지만, 박스와의 모든 연결을 비활성화하는 설정부터 시작하겠습니다.

웹 서버를 실행하는 경우 포트에 대한 연결을 허용합니다. 443. 비 SSL 연결도 허용하려면 포트 80. 이 서비스만 제공하는 경우 방화벽 설정이 완료된 것입니다!

다음 사항에 주목하고 싶습니다. Amazon EC2 이 작업을 수행합니다. 기본적으로하지만 방화벽이 잘못 구성되어 있어 많은 사용자에게 "전체 인터넷에서 가장 일반적으로 사용하는 포트에 액세스할 수 있는 보안 그룹이 하나 이상 있음을 알리는 양식 메일을 보내야 할 필요성을 느꼈습니다."라고 알릴 정도로 방화벽이 잘못 구성되어 있습니다. 멤캐시드 (11211)".

바인딩 확인

애플리케이션이 하나의 서버에서만 실행되는 경우(앱과 멤캐시드 를 추가하여 로컬 호스트에 바인딩할 수 있습니다.

-l 127.0.0.1

멤캐시드 플래그. 이제 다음 항목에 대한 액세스를 방화벽으로 차단했더라도 멤캐시드이 되어야 합니다. on 누군가 방화벽 설정을 위반했을 때에도 캐시에 접속할 수 있습니다.

필요한 경우 SASL 사용

최신 버전의 멤캐시드 암호화 지원 SASL 인증.

이미 방화벽을 설정했지만 멤캐시드 서비스를 끄면 클라이언트가 서비스를 사용하기 전에 강력한 인증을 수행하도록 요구할 수 있습니다.

부탁합니다, 제발 루트로 실행하지 않음

어떤 상황에서도 실행을 시도해서는 안 됩니다. 멤캐시드 루트로 하지 않습니다 루트로 실행하려고 합니다. 이를 방지하기 위해 열심히 노력합니다. 하지만 많은 사람들이 다음과 같은 '해결 방법'을 가지고 있습니다. 멤캐시드 인프라의 보안을 약화시키기 위해 루트로 시작하도록 (반복하지는 않겠습니다) 설정했습니다.

누군가 어떻게든 방화벽을 우회하여 다음에 대한 액세스를 차단하는 경우 멤캐시드 어떻게든 보안 허점을 찾아내서 멤캐시드 코드 실행을 허용하고 있습니까? 정말 루트 액세스 권한을 넘겨주고 싶으신가요?

알려진 문제는 없지만 루트로 실행해도 안전한지 확인하기 위해 코드를 감사하지는 않습니다. 하지만 책임감 있는 시스템 관리자는 매우 강력한 정당성 없이는 서비스를 루트로 실행하지 않을 것이며, 아마도 감옥 환경을 만드는 데 많은 노력을 기울일 것이기 때문에 괜찮습니다.

방화벽 설정 확인

방화벽을 설정하는 방법을 알고 있다는 것을 의심하는 것은 아니지만, 조금만 참아주세요.

Knowing

Grab nmap 또는 이와 유사한 이름을 사용하세요. 신뢰할 수 있는 시스템, 반신뢰 시스템, 완전히 신뢰할 수 없는 시스템에서 각각 전체 포트 검사를 실행하세요.

실행을 정당화할 수 없는 서비스에 대한 응답이 있는 경우 이제 이를 파악하여 수정할 수 있습니다.

그것은 멤캐시드뿐만 아니라 - 기어맨, 빈스톡드, snmpd, 메일 서버, DNS 서버, LDAP 서버 등입니다.

모든 서비스의 경우 do 를 실행하고 공개적으로 사용할 수 있는지 확인합니다. 완전히 이 서비스를 실행할 때 보안에 미치는 영향을 이해해야 합니다.

모든 것을 이해하지 못하더라도 부끄러워하지 마세요. 의도하지 않은 서비스를 운영하다가 중요한 정보를 유출하여 다음 블랙 햇에서 프레젠테이션의 모범 사례가 되는 것보다는 훨씬 낫습니다.

작성자

게시자 더스틴 살링스, 수석 아키텍트, 카우치베이스

더스틴 살링스는 카우치베이스의 수석 아키텍트입니다. Dustin은 spymemcached의 저자이자 Couchbase의 핵심 기여자입니다. 멤캐시드 프로젝트.

댓글 남기기