it-swarm-korea.com

SaaS 시작을 어떻게 보호합니까?

나는 이 질문

저는 스타트 업에 보안 조언을 제공하고 싶습니다.

목표 : 기업이 Yahoo! Stores와 유사한 온라인 상점을 신속하게 열 수 있도록하는 SaaS 웹 애플리케이션 구축.

프로그래밍 : 주로 나에 의해 수행됩니다. 가끔 프리랜서를 고용하여 모르는 일을 도와줍니다.

웹 애플리케이션에 CakePHP 프레임 워크를 사용합니다.

호스팅 : Amazon EC2 및 Elastic Load Balancing과 같은 기타 Amazon Web Services 사용.

시스템 관리 : Ubuntu 서버 10.04를 실행하고 있습니다.

나는 이것이 여전히 높은 수준의 질문이라는 것을 알고 있습니다. 이것을 여러 하위 영역으로 나누겠습니다.

프로그래밍, 프리랜서와의 협업

ProjectLocker에서 git 및 원격 git repo를 사용하고 있습니다. 나는 자식 전문가가 아닙니다. 내가 아는 것은 git add, git commit -a, git Push, git merge, git checkout, git pull.

프리랜서가 나를 위해 일할 때, 나는 항상 그들에게 그들의 일을 별도의 지점에서 맡기라고 말하고 나는 자신을 메인 지점으로 병합 할 것입니다.

거기에 보안 허점이 있는지 확실하지 않습니다. 알려주세요.

프로그래밍, 코드 자체

글쎄, 너희들은 코드를 볼 수 없지만 나는 CakePHP 프레임 워크를 사용하고있다.

특정 플래시 플러그인이 작동하도록 때때로 CSRF 보호를 비활성화해야한다는 점을 제외하고는 모든 작업을 올바르게 수행했다고 생각합니다.

내가 무엇을해야하는지 잘 모르겠습니다.

거기에 보안 허점이 있는지 확실하지 않습니다. 알려주세요.

배포

배포를 위해 카피 스트라 노를 사용합니다. 기본적으로 나는 think capistrano가 서버에 ssh'd하고 거기에서 원격 저장소에서 git fetch를 수행하도록 지시합니다.

기본적으로 카피 스트라 노 배포 스크립트를 어딘가에서 복사하여 붙여넣고 수정했습니다.

거기에 보안 허점이 있는지 확실하지 않습니다. 알려주세요.

사용자를위한 웹 애플리케이션

방금 SSL 인증서를 구입하고 설치했습니다. 사용자의 개별 하위 도메인에는 와일드 카드 인증서를, 가입 페이지에는 표준 SSL 인증서를 사용해야했습니다.

확장 된 유효성 검사 SSL 인증서를 구입하지 않았습니다. 내가 필요하다고 생각하지 않았습니다.

거기에 보안 허점이 있는지 확실하지 않습니다. 알려주세요.

시스템 관리자, 공동 작업, 호스팅 :

아직 라이브가 아니기 때문에 보안 업데이트로 서버를 업데이트하는 방법에 대한 프로토콜이 없습니다.

Ubuntu 초보자가 사용할 수있는 간단한 것을 감사하겠습니다.

Amazon Web Services, 시스템 관리자, 협업 :

A) Linux에 익숙하지 않음, b) Amazon Web Services에 익숙하지 않기 때문에 SSL 인증서 설치를 돕기 위해 시스템 관리자 프리랜서를 고용했습니다.

나중에 Ubuntu 또는 Amazon Web Services 문제를 해결하는 데 도움을 줄 사람을 고용 한 경우 SaaS를 위험에 빠뜨리지 않고 어떻게해야합니까?

나는 이것을 Amazon Web Services 에 대해 보았다.

사용 방법을 잘 모르겠습니다.

누군가 고용 된 프리랜서가 시스템 관리 문제를 안전한 방식으로 해결할 수 있도록 좋은 프로토콜을 제공 할 수 있습니까?

생각하지 못한 다른 영역

알려주세요.

10
Kim Stacks

좋습니다.이 답변은 큰 질문이므로 결코 완전한 것은 아니지만 여기에 몇 가지 생각이 있습니다.

GIT :
병합을 직접 수행하는 것이 좋습니다. 모든 차이를 처리 할 수 ​​있다는 의미입니까? 그렇게하지 않을 경우 코더의 신뢰는 POF가 될 수 있지만 병합의 양에 따라 모든 차이를 직접 수행하는 데 많은 시간을 소비 할 것으로 예상됩니다.

프로그래밍/프레임 워크 :
CSRF를 비활성화 할 때주의를 기울이고 싶을 수 있습니다. 그렇게 할 때마다 플래시를 사용할 때 불쾌한 악용이 발생할 수 있습니다. 이를 방지하는 가장 좋은 방법은 세션 처리가 정말 견고하다는 것을 확인하고 사용자가 리소스에 액세스 할 때마다 확인하는 것입니다. 여기에서 일반적인 CSRF 항목에 대한 추가 정보를 찾을 수 있습니다. CSRF FAQ . 또한 이 취약점 에주의하십시오. 저는 CakePHP에 대해 잘 알지 못합니다.하지만 최선의 방법은 삭제, 가능하면 화이트리스트, ACL 사용 등을 확인하는 것입니다. 여기 는 약간의 추가 기능을 추가하는 매우 기본적인 방법입니다. CakePHP 인스턴스에 대한 보안.

서버 보안 :
저는 Capistrano에 대한 경험이 많지는 않지만 신뢰할 수있는 포크를 잡는 한 꽤 견고한 도구라고 들었습니다. 카피 스트라 노가 악용 될 가능성이 가장 높은 곳인 것처럼 보이므로 SSH 처리 자체의 취약성을 더 잘 알고있을 것입니다. 웹 서버 보안에 관해서는 Amazon이 최고의 선택 중 하나라고 생각합니다.

SSL :
나는 와일드 카드 인증서를 매우 조심할 것입니다. 하위 도메인 중 하나가 손상되면 전체 네트워크도 손상됩니다. 취약성이있는 하나의 인증 기관 만 있으면 모든 고객과 데이터가 손상됩니다. 전자 상거래를하고 있으므로 고객 데이터에 대해 최고 수준의 보안을 유지하는 것이 정말 중요합니다.

요약 :
전체적으로 현장에서 신뢰할 수 있고 귀하의 애플리케이션을 살펴본 경험이있는 웹 앱 보안 전문가를 고용하는 것이 좋습니다. 가장 민감한 유형 중 하나 인 금융 데이터를 다루게되므로 소프트웨어를 철저히 철저히 살펴 보는 것이 매우 중요합니다. 막 시작하는 것이 어렵다는 것을 알고 있지만 앱을 철저히 보호하는 데 시간을 할애하지 않으면 한 번의 익스플로잇이 전체 비즈니스를 무너 뜨릴 수 있습니다.

희망 :)

8
mrnap

1) 무엇보다도 먼저 OWASP Top 1.

2) 웹 응용 프로그램 방화벽을 설치합니다. 지불 카드 업계에서 요구하는 이유는 (PCI-DSS)입니다.

3) 잠금 PHP with PHPSecInfo.

5) 데이터베이스 잠금.

6) RIPS-PHP와 같은 정적 코드 분석을 사용하여 코드의 심각한 취약점을 추적합니다.

7) Linux, 특히 Ubuntu를 사용하십시오. AppArmor는 익스플로잇을 차단하기 때문입니다.

8) 마지막으로 코드 웹 애플리케이션의 취약점을 테스트합니다. 이것은 많은 비용을 들이지 않아도됩니다. Sitewatch 는 무료 취약점 스캔 서비스를 제공합니다.

7
rook

@Rook의 의견 외에도 인터넷에서 서버를 운영하고 있다면 OSSEC를 사용하는 것이 좋습니다. 훌륭한 무료 로그 분석/HIDS 소프트웨어. 모든 공개 키트에서 실행합니다.

5
xntrik

hosting 측면에 추가하려면 : AWS는 공유 책임 모델 을 촉진하여 그들이 다루는 부분과 고객이 취해야하는 부분을 보여줍니다. 관리 :

enter image description here

이는 특히 전송중인 애플리케이션과 데이터를 귀하가 보호해야 함을 의미합니다. 이미 언급 한 OWASP 지침 을 구현하여.

0
superuser0