2009-04-27 4 views
2

인기있는 오픈 소스 웹 프레임 워크는 얼마나 안전합니까?오픈 소스 웹 프레임 워크 : 보안

저는 Rails와 DJango와 같은 인기있는 프레임 워크에 특히 관심이 있습니다.

무거운 전자 상거래를 할 사이트를 만들고 있다면 012anks와 Satchmo과 같은 프레임 워크를 사용해도 되나요?

개방형 아키텍처로 인해 보안이 손상 되었습니까?

OS가 해커에게 제대로 공개되지 않는다는 것을 의미하는 것은 아니지만 Linux는 뛰어난 인증 메커니즘을 사용하지만 웹은 다른 게임입니다.

이와 관련하여 수행 할 수있는 작업은 무엇입니까?

UPDATE : 답변들에 대한

감사합니다.

보안 전자 상거래 응용 프로그램에 적합한 호스팅 서비스를 찾아야하며 추가 보안 계층이 필요할 것이라는 점을 이해합니다.

내가 장고와 레일이 염두에두고 보안 측면을 설계되었습니다 이해, XSS와 같은 가장 일반적인 형태의 공격 등 주사 내가 보안 지도자의 의견을 기다리고 있었다

(Django bookSecurity에 채널을 가지고) . 보안 전문가 인 경우 DJango 또는 Rails를 기반으로하는 인기있는 사이트를 추천 하시겠습니까?

+0

이 질문은 미래의 서버 오류 사이트로 이동할 수있는 좋은 후보자라고 생각합니다. – Elijah

+0

"향후 서버 오류 사이트"란 무엇입니까? – trappedIntoCode

+0

장고에 대한 경험이 없기 때문에 장고에 말할 수 없습니다. 하지만 나는 레일즈를 추천 할 것이다. 당신은 확실히 많은 트래픽을 처리 할 수있는 안전한 사이트를 구축 할 수 있습니다. –

답변

3

저는 Django를 사용하는 여러 사이트와 Satchmo를 사용하는 하나의 매장을 구축했습니다. 모든 보안 관련 정보는 설치에 고유하기 때문에 폐쇄 형 및 오픈 소스 프레임 워크 간의 보안에는 차이가 없습니다.

예를 들어, 프로젝트를 시작할 때 settings.py 파일의 "비밀 코드"가 고유하게 생성됩니다. 사용자 암호를 암호화하고 암호화 키를 보호 할 수있는 최대 사용자는 과 동일하며 플랫폼은입니다.

Django에 대해 알아둬야 할 점은 기본적으로 모든 양식 입력이 검증되었으며 위생 과정을 통해 "안전하다고 표시되었습니다"라는 것입니다. 양식의 소독 된 데이터는 cleaned_data 사전을 통해 액세스 할 수 있습니다.

또한 모든 템플릿은 자동 이스케이프 처리 된 HTML이므로 주입 공격이나 교차 사이트 스크립팅의 위험이 거의 없습니다.

마지막으로, 모델은 추가 보안 계층을 제공하며 불량 데이터가 통과해야 유효성을 검사합니다.

Satchmo의 경우 Paypal, Visa 등의 전자 상거래 게이트웨이는 해당 회사에서 허용하고 API를 사용하므로 다른 결제 게이트웨이만큼 안전합니다. 당연히 신용 카드 결제를하기 위해 암호화 된 HTTPS 연결을 실행해야하지만 이는 보편적으로 필요하며 사용하는 프레임 워크와 아무 관련이 없습니다.

5

많은 사람들은 security through obscurity이 효과가 없다고 말합니다. 폐쇄 형 소스가 보안 문제를 예방할 때 오픈 소스보다 더 효과적이지 않다는 것을 증명할 수있는 증거로 Microsoft 제품, Adobe Reader 등을 인용 할 수 있습니다.

많은 오픈 소스 지지자들은 눈이 더 많다고 주장한다. 접근 방식은 보안 관련 버그를 퇴치하는 한 방법이다. 그러나 실제로는 소규모 응용 프로그램을 다루거나 상업용 또는 공개 소스가별로 인기가없는 경우가 종종 있습니다. 따라서 검은 구멍에 보안 구멍이있는 코드 스 니펫에 대한 Google 코드를 검색하는 것이 실제로 위험 할 수 있습니다.

그럼에도 불구하고, 꽤 많이 사용되는 오픈 소스 프레임 워크를 사용하고 있다면 경쟁 제품보다 다소 안전 할 것입니다. 최소한 매우 활발한 커뮤니티가있는 오픈 소스 제품의 보안 관련 버그 수정을보다 빨리 해결할 수 있습니다.

그러나 전자 상거래 사이트를 구축하는 데 심각한 문제가있는 경우 여러 계층의 보호가 필요합니다. 확실히 적절한 방화벽과 침입 방지/탐지 시스템 (IPS/IDS)이 설치되어 있는지 확인하십시오. 호스팅 외에도 보안 위생 및 모니터링 서비스를 제공하는 호스팅 서비스 비용을 지불해야 할 수도 있습니다. 귀하의 사용자는 귀하의 고객임을 기억하십시오! 어떤 위반이라도 비즈니스에 파국적 일 수 있습니다.

3

내가 택한 테스트 과정에서 나는 더 많은 사람들이 테스트하고 더 많은 사람들이 개선했기 때문에 오픈 소스 소프트웨어가 더 안전하다고 항상 말했습니다.

코드 소스를 숨기는 것은 응용 프로그램을 보호하는 효과적인 방법이 아닙니다. 특정 소프트웨어에 대해서는 작동 할 수 있지만 광범위하게 확산되는 프레임 워크의 경우 결국 사람들은 어떻게 작동하는지 파악할 것입니다 (http://en.wikipedia.org/wiki/Reverse_engineering)

오픈 소스 프레임 워크를 사용하는 대규모 e- 비즈니스 웹 응용 프로그램이 있습니다. 당신은 전자 상거래 도구에 익숙하다면, 당신은 루비 온 레일즈를 사용하여 구축되는 Shopify를 알아야합니다 (http://weblog.rubyonrails.org/2006/6/5/shopify-is-open-for-business)

는 그들은 또한 ActiveMerchant 발표 :

은 활성 상인 전자 상거래 시스템에서 추출입니다 Shopify. 단순한 에 대한 Shopify의 요구 사항과 다른 다른 내부 API가있는 수십 개의 다른 지불 게이트웨이에 액세스하기위한 통합 API는 원칙을 라이브러리 설계에 포함했습니다.

활성 상인 2006 년 6 월부터 생산 사용되었습니다 지금은 금융 거래와 거래 가장 현대적인 루비 응용 프로그램에서 사용됩니다.

내 생각에 보안은 독점적 인 프레임 워크를 사용하는 것보다 Rails와 같은 프레임 워크를 사용하는 것이 좋습니다. 나는 그것을 사용하지 않았기 때문에 나는 장고에 대해서 모른다. 그러나 나는 그것도 좋다고 들었다.

물론 앱을 안전하게 유지해야하며 프레임 워크에만 의존하지 않아야합니다. 답변 중 일부는 오픈 소스 대에 대해 얘기

4

폐쇄 및 보안,하지만 당신은 특정 프레임 워크에 대해 물었을 때부터 내가 레일에 대한 지식에 대해 언급 거라고 생각했다. 액티브는 일반적으로 레일 응용 프로그램 내 데이터베이스에 액세스하는 데 권장 -

  1. SQL 인젝션 :

    간접적으로 칭찬 보안 및 명시 적으로 레일에 보안을 구현하도록 설계하는 사람들은 기능이 있습니다. 제대로 사용하면 SQL 삽입을 통한 악용으로 이어질 수있는 문자열 연결 문제를 피할 수 있습니다. 이는 웹 애플리케이션에 대한 가장 일반적인 공격 방법 중 하나입니다.

  2. XSS - 사용하기 쉬운 매크로는 사용자가 입력 한 HTML 인코딩 텍스트와 사용자가 입력 한 JavaScript를 제거하는 코드에 제공됩니다. 이들을 함께 사용하면 출입시 간 사이트 스크립팅으로부터 자신을 보호 할 수 있습니다.
  3. 쿠키 조작 - 세션 데이터를 Rails에 저장하는 기본 메커니즘은이를 최종 사용자에게 쿠키 형태로 보냅니다. 그러나 사용자는 전송하기 전에 긴 개인 키로 서명되었으므로 해당 데이터를 간단히 변경 한 다음 서버로 다시 보낼 수 없습니다. 변경된 세션 데이터는 즉시 서버에 분명합니다.
  4. CSRF - 설명하기가 복잡하지만 레일스는 들어오는 요청이 실제로 사용자에게 보낸 양식에서 오는 것인지 확인하기 위해 양식을 보안합니다.

레일스와 같은 최신 프레임 워크는 처음부터보다 안전한 웹 응용 프로그램을 만들 수 있도록 지원하는 기능을 갖추고 있습니다. 아마도 장고의 기능에 익숙한 사람도 무게를 잴 수 있습니다.

관련 문제