문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
web:신규서비스 [2021/12/04 19:34] kwon37xi |
web:신규서비스 [2022/01/12 10:44] kwon37xi [보안] |
||
---|---|---|---|
줄 287: | 줄 287: | ||
* 문자 필드에 어떤 문자를 사용할 수 없게 해야하는 상황일 경우에도, | * 문자 필드에 어떤 문자를 사용할 수 없게 해야하는 상황일 경우에도, | ||
* 인증 토큰(token) 은 변조가 불가하면서 애플리케이션 사용에 필요한 최소한의 데이터를 담도록 한다. [[web: | * 인증 토큰(token) 은 변조가 불가하면서 애플리케이션 사용에 필요한 최소한의 데이터를 담도록 한다. [[web: | ||
+ | * DDoS 공격 방어를 위해 WAF(Web Application Firewall, 웹방화벽) 설정을 해야한다. | ||
===== 서버 운영 ===== | ===== 서버 운영 ===== | ||
* 절대로 여러 사람이 공유하는 공용 계정으로 서버를 관리하지 말라(AWS 등 포함). 이는 치명적인 보안 사고로 이어진다. | * 절대로 여러 사람이 공유하는 공용 계정으로 서버를 관리하지 말라(AWS 등 포함). 이는 치명적인 보안 사고로 이어진다. | ||
줄 326: | 줄 327: | ||
* 이렇게 해야 '' | * 이렇게 해야 '' | ||
* 절대로 예외를 먹지 말것. 정말 특별한 경우가 아니면 항상 예외의 stacktrace까지 모두 남길것. 특별한 경우에는 왜 특별한지 주석 달 것. | * 절대로 예외를 먹지 말것. 정말 특별한 경우가 아니면 항상 예외의 stacktrace까지 모두 남길것. 특별한 경우에는 왜 특별한지 주석 달 것. | ||
+ | * UI 관점에서 사용자 행위 로그를 꼭 남기도록 하고 이를 분석하여 개선 방향을 도출할 수 있도록 한다. | ||
===== Production Server ACL ===== | ===== Production Server ACL ===== | ||
* 운영 시스템에 대한 ACL은 개발 초기부터 망 분리 등을 통해 운영시스템에서만 접속가능하도록 하고 **절대 개발자 PC, 테스트 시스템 등에서는 접속이 불가능**하도록 구성한다(여기서 말하는 접속은 서버에 대한 SSH 접속이 아니라 DB,Redis,MQ 같은 시스템, API 서버 등에 대한 접속을 뜻한다). | * 운영 시스템에 대한 ACL은 개발 초기부터 망 분리 등을 통해 운영시스템에서만 접속가능하도록 하고 **절대 개발자 PC, 테스트 시스템 등에서는 접속이 불가능**하도록 구성한다(여기서 말하는 접속은 서버에 대한 SSH 접속이 아니라 DB,Redis,MQ 같은 시스템, API 서버 등에 대한 접속을 뜻한다). | ||
줄 443: | 줄 444: | ||
* [[: | * [[: | ||
* [[java: | * [[java: | ||
+ | * 개발 시간도 아니면서 개발 시간이 부족하게 만드는 요소들(배포 복잡도로 인한 배포 시간이 너무 오래걸린다던가, | ||
* 기술 선언서를 만든다. | * 기술 선언서를 만든다. | ||
* 장애대응 방법과 태도(비난하지 말고 함께 문제를 해결한다던가) | * 장애대응 방법과 태도(비난하지 말고 함께 문제를 해결한다던가) | ||
줄 455: | 줄 457: | ||
* Test 방법 | * Test 방법 | ||
* 그리고 지속적인 회고로 기술 선언서를 개선한다. | * 그리고 지속적인 회고로 기술 선언서를 개선한다. | ||
+ | |||
+ | |||
===== 지속적인 업그레이드 ===== | ===== 지속적인 업그레이드 ===== |