2009-07-13 1 views
0

많은 Rails 앱이 세션을 저장하는 CookieStore 방법을 사용합니다. 이 방법의 보안 설정/environment.rb에 기본적으로 정의 된 세션 비밀 키의 보안에 주로 의존 :Rails 앱의 경우 저장소에 environment.rb 파일을 저장하는 것이 안전하지 않은 것 같습니다

config.action_controller.session = { 
    :session_key => '_some_name_session', 
    :secret  => 'long secret key' 
} 

대부분의 사람들은 자신이 우리의 SCM의 repo에서이 파일을 계속 포함된다. 커피 숍 (또는 개방 된 무선 연결)에서 일을하고 출처를 저 지르면 다른 사람이이 비밀을 알아 차리고 내 응용 프로그램에 대한 유효한 세션을 만들 수 있다는 것을 의미합니까? 사람들이 내가 저지른 파일을 냄새 맡을 수 없습니까? 이것은 꽤 괜찮은 보안 구멍처럼 보입니다.

답변

4

https 나 SSH 이외의 프로토콜을 사용하고 있다면, 그렇다고 생각합니다. 원격 저장소 서버를 제어하는 ​​사람이 443 대신 포트 80을 사용하고 있다면, 나는 앉아서 그들과 토론 할 것입니다.

+0

ok ... ssh는 수신자가 데이터를 해독 할 수 있도록 양방향 암호화 기능을 사용해야합니다. 그래서 스니퍼는 ssh를 통해 전송 된 데이터의 암호를 해독 할 수있을 것이라고 생각하십니까? – Tony

+0

매우 어려울 것입니다. 사용 된 키 강도에 따라 일반적으로 개인 키가 없어도 트래픽을 냄새 맡고 해독하려고 할 때가 아닙니다. HTTPS는 좀 더 쉽게 부서지기 쉽지만, 일반적으로 누군가가 세션 키를 원한다면 랩톱에서 체크 아웃 한 리포지토리에서 가져 오거나 서버를 직접 해킹하려고 시도 할 것입니다. – MattC

0

반드시 그렇지는 않습니다. Subversion과 대화하는 경우 HTTP가 아닌 HTTPS 주소를 사용하도록 선택할 수 있으며 로컬 시스템과 버전 제어 서버 간의 모든 통신은 안전합니다.

Git과 Mercurial이 같은 능력을 제공하지 않는다면 나는 놀랄 것입니다.

+0

힘내 및 Hg는 모두 HTTPS 또는 SSH와 같은 다른 보안 방법을 통한 통신을 허용합니다. – mipadi

관련 문제