본문 바로가기
[Docker] 멀티호스트 환경에서 Docker 실행 환경 구축 [Docker] 멀티호스트 환경에서 Docker 실행 환경 구축 -Docker 에서 작동하는 웹 앱을 제품 환경에서 운용할 때는 앱이 사양대로 올바르게 작동할 뿐만 아니라 서비스 이용자가 항상 이용할 수 있도록 운용 관리를 해야 한다.이러한 컨테이너 기반은 보통 멀티호스트 환경으로 구축한다. 8.1. 멀티호스트 환경에서 컨테이너 관리의 개요 -웹 시스템의 실행 환경은 웹 서버, 프록시 서버, 데이터 스토어 등 역할이 다른 여러 개의 서버 기능이 연계되어 작동한다. * 멀티호스트 환경과 클러스터링 -시스템의 일부에서 장애가 발생해도 서비스가 정지되지 않도록 만드는 장치가 필요하다.이를 구현하는 기술 중 하나로 클러스터링이 있다.클러스터링은 여러 대의 서버나 하드웨어를 모아서 한 대처럼 보이게 하는 기술이다.. 2020. 3. 27.
[도서 정리] 05. 보안을 확보하기 위해 필요한 것 - 보안의 기본 05. 보안을 확보하기 위해 필요한 것 - 보안의 기본 * 먼저 ‘보호해야 할 것’을 명확히 하자. -‘무엇을 보호할지’, ‘어떤 보안을 생각할지’를 명확히 할 필요가 있다.DNS 서버의 경우 설정 내용(기밀성, 무결성)의 보호와 가동 상태(가용성)의 확보가 필요하다. * ‘보호해야 할 것’을 정했으면 다음은 리스크를 확인하자 -‘보호해야 할 것을 둘러싼 리스크’를 확인한다.리스크란 소위 ‘보호해야 할 것을 노리는 적’이다. * ‘특정된 리스크’를 어떻게 할지를 생각하고 대처하자 -특정된 리스크는 모두 대처할 수 있으면 좋겠지만 대처가 어려운 리스크가 포함되는 경우가 있다.또한 리스크가 현실이 될 확률이 현저히 낮은 경우도 있으며, 리스크가 현실이 되었다고 해도 큰 손해를 입지 않는 경우도 있다.리스크의.. 2019. 10. 6.
[도서 정리] 04. 정보 유출, 변조, 서비스 방해 04. 정보 유출, 변조, 서비스 방해 -보안의 3대 요소인 기밀성, 무결성, 가용성이 침해받으면 문제들이 발생한다.대표적인 문제로는 ‘정보 유출’, ‘변조’, ‘서비스 방해’ 가 있다. * 정보 유출 - 기밀이어야 할 정보가 외부로 새어나가는 것 -정보 유출은 주로 기밀성 침해로 나오는 보안성의 문제이다.기밀성을 확보하기 위한 기술로는 암호기술과 인증 기술 등이 있다. * 변조 - 제삼자에 의해 정보가 수정되는 것. -변조는 주로 무결성이 침해받음으로써 나오는 보안상의 문제이다.본래 수정되어서는 안 되는 정보를 수정할 자격이 없는 누군가가 수정해 버리는 경우이다.변조에 이르는 과정은 다양하지만 웹 사이트의 콘텐츠 관리 시스템의 ID 와 비밀번호를 추측하는 케이스나 사용하고 있는 소프트웨어의 취약성이 뚫.. 2019. 10. 5.
[도서 정리] 02. 보안의 3대 요소 - 보안의 기본 02. 보안의 3대 요소 - 보안의 기본 * 보안의 3대 요소란? -기밀성(Confidentiality)무결성(Integrity)가용성(Availability) 첫 글자를 따서 CIA 라고 부른다. * 기밀성이 침해받는다 = 기밀 정보 유출의 원인 -허가받은 사람만 정보에 엑세스 할 수 있다.개인정보의 유출사고를 비롯한 기밀 정보의 유출 사고 등은 기밀성 침해의 전형적 예. * 무결성이 침해받는다 = 변조의 원인 -정보가 본래 상태에서 변조되지 않았고 신뢰할 만한 상태.웹 사이트의 변조 사건 등이 무결성 침해의 전형적인 예이다. * 가용성이 침해받는다 = 서비스 방해 등 -정보에 엑세스 할 수 있는 사람은 언제든지 그 정보에 엑세스할 수 있다.DoS/DDoS 등이 가용성 침해의 대표적 예이다. 02. 보.. 2019. 10. 3.
[도서 정리] 01. 보안의 필요성 - 보안의 기본 01. 보안의 필요성 - 보안의 기본 * 보안이 필요한가? * 보안을 생각할 때의 중요 관점 - 기밀성 / 무결성 / 가용성 -'무엇을 어떻게 보호할 것인가’를 생각할 때는 기밀성, 무결성, 가용성 이라는 세 가지 요소를 생각하는 것이 좋다.이미 기밀성, 무결성, 가용성이 확보되어 있는 상태라면 그 이상의 다른 대책을 세울 필요가 없다. -기밀성 : 외부인에게 보이고 싶지 않은 것은 무엇인지 -> 외부에 노출시키지 않는다.무결성 : 마음대로 수정되면 곤란한 것은 무엇인지 -> 마음대로 수정할 수 없게 한다.가용성 : 작동하지 않게 되면 곤란한 것은 무엇인지 -> 항상 사용할 수 있다. * 기타 -DMZ : 기업이나 단체가 관리하는 네트워크 중 외부에 대해 공개하는 것을 전제로 구성된 네트워크를 DMZ(D.. 2019. 10. 2.
[Java Concurrency] 단일 연산 변수와 넌블로킹 동기화 [Java Concurrency] 단일 연산 변수와 넌블로킹 동기화 - 병렬 알고리즘과 관련한 최근의 연구 결과를 보면 대부분이 넌블로킹 알고리즘, 즉 여러 스레드가 동작하는 환경에서 데이터의 안정성을 보장하는 방법으로 락을 사용하는 대신 저수준의 하드웨어에서 제공하는 비교 후 교환(compare-and-swap) 등의 명령을 사용하는 알고리즘을 다루고 있다. - 넌블로킹 알고리즘은 운영체제나 JVM 에서 프로세스나 스레드를 스케줄링 하거나 가비지 컬렉션 작업, 그리고 락이나 기타 병렬 자료 구조를 구현하는 부분에서 굉장히 많이 사용하고 있다. - 넌블로킹 알고리즘은 락을 기반으로 하는 방법보다 설계와 구현 모두 훨씬 복잡하며, 대신 확장성과 활동성을 엄청나게 높여준다. - 넌블로킹 알고리즘은 훨씬 세밀.. 2017. 5. 9.
[Java Concurrency] 활동성 최대로 높이기 #1 [Java Concurrency] 활동성 최대로 높이기 #1 - 안정성(safety)와 활동성(liveness) 사이에는 밀고 당기는 힘이 존재하는 경우가 많다. 스레드 안전성을 확보하기 위해서 락을 사용하곤 하는데, 락이 우연찮게 일정한 순서로 동작하다 보면 락 순서에 따라 데드락이 발생하기도 한다. 시스템 자원 사용량을 적절한 수준에서 제한하고자 할 때 스레드 풀이나 세마포어를 사용하기도 하는데, 동작하는 구조를 정확하게 이해하지 못하고 있다면 더 이상 자원을 할당받지 못하는 또 다른 형태의 데드락이 발생할 수 있다. - 자바 어플리케이션은 데드락 상태에서 회복할 수 없기 때문에 항상 프로그램의 실행 구조상 데드락이 발생할 가능성이 없는지 먼저 확인해야 한다. 10.1. 데드락 - 데이터베이스 시스템.. 2017. 5. 1.
반응형