일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- mom
- MessageQueue
- QueryDSL
- rabbitmq
- sqlserver
- java
- apache.poi
- jqGrid
- docker
- 스트림
- 보안
- 제이쿼리그리드
- stream api
- spring
- ORM
- ci/cd
- 자동배포
- 대용량 업로드
- 그리드
- Javascript
- JPA
- Jenkins
- DevOps
- mssql
- 엑셀 업로드
- 자바8
- Stream
- JQuery
- poi
- 자동빌드
- Today
- Total
목록보안 (7)
개발 메모장

#. 기술의 발전에 따라 시스템을 보호하는 방식이 다양해졌고, 보호해야 하는 민감 정보들에 대한 취급 및 처리하는 경우도 많아졌을 것입니다. #. 하지만 이에 따라 악용과 공격에 대한 기술도 발전했을 것입니다. #. 더군다나 이전에 만들어진 시스템의 경우 발전된 기술로 공격 또는 악용할 것이며, 이들을 대응하려면 시스템에 지속적인 보안 처리를 해줘야 하나 실상은 그렇지 못한 경우가 많을 것입니다. #. 행안부에 의해 제정된 법규와 그 기준을 간단하게나마 살펴보도록 하겠습니다. 시큐어 코딩이란??- 해킹, 사이버 공격의 원인이 될 수 있는 보안상 취약점들을 찾아 제거해 사용자와 개발자 모두 안전한 소프트웨어를 개발할 수 있게 하는 소프트웨어 개발 기법 또는 지침, 원칙이라 할 수 있습니다..

#. 업로드 파일에 대한 검증이 적절히 이뤄지지 않으면 공격자에 의해 서버가 공격당할 수 있습니다. #. 원격 침투 후 시스템 계정 탈취 및 시스템에 명령어를 실행하여 서버 자체를 마비시킬 수도 있습니다. #. 이에 따른 사전 대응 방법에 대해 알아보도록 하겠습니다. #. 대응방안 1. 파일 확장자에 대한 화이트리스트 적용 - 스크립트에서도 하겠지만 백엔드에서 처리하는 것이 가장 안전합니다. - 블랙리스트로 블록을 걸기보단 화이트리스트로 처리하는 이유는 쉽게 알 수 있듯 확장자는 변경도 가능하고 무수히 많기 때문입니다. - 따라서 허용할 확장자만 열도록 화이트리스트를 관리하는 것이 유용합니다.function checkFile(f) { const file =..

#. 기존 서비스의 Java 버전을 올리면서 운영 서비스는 정상적으로 작동하나 개발 서비스 접근이 되지 않았습니다. #. 버전 올리기 전의 개발 서비스는 HTTP 프로토콜을 사용하였고 그 포트는 8888이라고 칭하였습니다. #. 버전을 올리면서 SSL을 이용한 HTTPS 프로토콜 사용을 위해 포트 8443으로 설정했었습니다. #. 해결을 위한 여러 가지 삽질한 내용과 해결방법을 아래에 정리해 봤습니다. Try 1. HTTP 포트로 접속해 보기- 이 서비스는 HTTP 포트와 HTTPS 포트를 동시에 사용하고 있었습니다.- HTTP로 접속 시 HTTPS 포트를 리다이렉트 하여 HTTPS로 연결되게끔 설정하였습니다.- 8443 포트로 접근 시 반응이 없었고 8888 포트로 접근 시 아..