분류 전체보기255 H2 DB 및 로그 설정 H2 DB : Java 기반의 경량화된 관계형 데이터베이스 file로 저장해서 실제 db처럼 data를 유지할 수도 있고, 메모리 db로 사용해서 실제 인스턴스가 동작하는 시점에만 유지하기도 한다. 특히, 프로젝트 초기에 개발을 많이 하는 시점에는 test db로 사용하기도 하고 프로젝트 정착 이후에 유지 보수를 진행하는 기간에는 Junit test용 db로 H2 db를 많이 사용한다. build.gradle을 살펴보면 h2 db가 설치되어있는 것을 볼 수 있다. 만약 프로젝트 만들 때 의존성 추가를 하지 않았다면, build.gradle에 의존성을 추가해주면 된다. 서버 띄우기 파일 확장자 변경 (지금은 변경 후에 만약 확장자를 바꾸려면 어떻게 하는지 보여주는 것) properties를 yml로 수정 .. 2023. 7. 18. Lombok 알아보기 JPA에서 domain class 만들기 JPA를 사용하기 위해서 앞으로 만들 Entity 객체는 기본 구조가 필드 변수와 Getter와 Setter이다. Entity 객체 필드 변수 Getter, Setter 필드 만들기 Getter, Setter 만들기 (lombok 사용 안함) 이런 Generate 창이 뜨게 되는데, 여기서 Getter and Setter를 선택해준다. 필요한 필드명 선택해주고 OK 클릭 이렇게 생성된다. lombok을 사용한 Getter, Setter lombok을 사용하면, 각각의 필드마다 Getter, Setter를 구현하지 않고 어노테이션만 추가해도 된다. 이렇게 lombok을 사용할 수 있는 이유는 이전에 프로젝트 설정에서 lombok 의존성을 추가했기 때문이다. (만약,.. 2023. 7. 17. 스프링 부트 프로젝트 생성 개발 도구 : Intellij 1) Intellij 실행 (프로젝트 생성) 프로젝트 설정 Language : Java Type : Gradle Group : project의 기본적인 베이스 패키지를 정의하는 단계 (보통은 서비스 도메인 url의 역순을 사용) Artifact : 해당 project의 이름 JDK : 1.8 버전 Java : 8 Packaging : Jar 의존성 추가 사용할 기본적인 라이브러리들을 선택하는 단계 필요한 것을 선택하고 [Create]를 누르면 기본적인 프로젝트가 생성된다. 2) build.gradle을 통한 의존성 확인 build.gradle을 통해 의존성이 추가된 것을 확인하고 External Libraries를 통해 JPA가 추가된 것을 확인할 수 있다. 3) 기본적인 .. 2023. 7. 17. Terraform 구조 및 사용 방법 이해 Overview & Concept of Terraform Position of Terraform in IaC Iac (Infrastructure as Code) : Code로 서비스 구성 인프라를 관리하고 DevOps 담당자가 모두 읽을 수 있는 코드로 작성하는 것 Terraform은 자체적인 언어인 HCL(Hashicorp Configuration Language)를 제공하여 IaC를 적용할 수 있다. IaC에서 Terraform은 Provisioning Tool의 영역에 속하는 플랫폼이라고 할 수 있다. IaC Tools Provisioning : Terraform, Cloud Formation SCM(Service Configuration Management) : Chef, Puppet, Ansib.. 2023. 7. 17. Naver Cloud 구조 및 사용법 이해 (+ Terraform) Cloud 왜 사용 하는가? 효율적인 비용 절감 사용한 만큼 지불하는 등 기회 비용 최적화 등을 통한 비용 절감 다양한 부가 상품 이용을 통한 개발 비용 절감 빠른 Deploy 기존 Legacy 인프라에 비해 빠른 인프라 구성 시간 글로벌 진출 용이 글로벌 리전 활용을 통해 글로벌 진출 시 보다 빠르고 손쉬운 인프라 구성 보안 인프라에 대한 보안은 클라우드 공급 업체에 위임 다양한 보안 상품을 이용하여 보안을 강화 네이버 클라우드의 클라우드 서비스 제공 방식 Ncloud의 공식 웹사이트로서 서비스, 요금, 가이드, 고객 지원 등 모든 메뉴로 이동할 수 있다. 인증키 확인 하기 네이버 클라우드를 사용해서 테라폼을 사용하기 위해서는 인증키가 필요하다. API를 사용할 때마다 인증키가 필요하기 때문이다. 각각.. 2023. 7. 16. 클라우드 보안 - 취약점 : 데이터 손실 CSA(Cloud Security Alliance)에서 매년 가장 심각한 보안 위협에 대해 공유하고 있다. 2019년에 발표한 대표적인 클라우드 보안 위협과 사례를 살펴보자. 데이터 손실 클라우드 서비스 제공자의 실수로 데이터가 삭제될 수 있으며, 물리적인 재해 (화재, 지진, 태풍 등)로 인한 데이터 센터의 정보 손실도 가능하다. 위협 클라우드 서비스 제공자의 가용성 관리 부족(백업, 재해대응 및 복구 프로세스의 미흡) 참고 글 2019년 클라우드 보안 위협 13가지 황치하, 양지언, 『클라우드X보안 실무 가이드』 (부천:프리렉, 2020) 책의 내용을 공부하고 정리한 글입니다. 2023. 7. 12. 클라우드 보안 - 취약점 : 악성코드 삽입 CSA(Cloud Security Alliance)에서 매년 가장 심각한 보안 위협에 대해 공유하고 있다. 2019년에 발표한 대표적인 클라우드 보안 위협과 사례를 살펴보자. 악성코드 삽입 권한 탈취 혹은 APT 공격을 통해 시스템 내부에 침입한 악의적 사용자는 랜섬웨어나 트로이 목마와 같은 악성 코드를 설치할 수 있음 리눅스 플랫폼 악성코드 클라우드 기술의 발전으로 많은 서버들이 도커 환경으로 변화하고 있으며, 자연스럽게 리눅스 환경이 활성화되고 있다. 리눅스 악성코드를 새로 제작하는 것이 기존 윈도우 악성코드를 리눅스로 포팅(다른 운영체제에서 실행하기 위해 기존의 프로그램을 변경하는 것)하여 배포하는 것이다. 참고 글 AhnLab | 보안 이슈 참고로 이 내용은 책에 나오지는 않았다. 황치하, 양지언.. 2023. 7. 12. 클라우드 보안 - 취약점 : 지능형 지속 공격 CSA(Cloud Security Alliance)에서 매년 가장 심각한 보안 위협에 대해 공유하고 있다. 2019년에 발표한 대표적인 클라우드 보안 위협과 사례를 살펴보자. 지능형 지속 공격 (APT) APT는 장기간에 걸쳐 은밀하게 시스템의 취약점을 공격하는 해킹 기법으로 클라우드 서비스의 취약점 공격 후 횡으로 이동하여 공격 범위를 확산한다. 클라우드는 기존 시스템보다 경계에 대한 통제가 약하기 때문에 APT로 인한 피해 위험이 크다. 위협 공격자가 내부시스템에 침투하여 주변의 시스템으로 피해를 확산시키는 것을 내부 전파 (Literal Movement) 라고 하며, 공격자는 기밀자료나 시스템 침해 사실 공개 등으로 협박 가능하다. Q. 횡으로 이동한다? A. 서로 다른 서브넷(ip 주소에서 네트워.. 2023. 7. 12. 클라우드 보안 - 취약점 : 내부자 위협 CSA(Cloud Security Alliance)에서 매년 가장 심각한 보안 위협에 대해 공유하고 있다. 2019년에 발표한 대표적인 클라우드 보안 위협과 사례를 살펴보자. 내부자 위협 클라우드 시스템은 일반적으로 인터넷 환경에서 접속할 수 있기 때문에 중요한 시스템 관리자의 경우 외부에서 시스템 접속 및 중요 정보의 탈취가 가능하다. 사례 회사에 불만을 품은 직원이 외부에서 클라우드에 접속하여 회사의 기밀 데이터를 유출 불만을 품은 징가(Zynga)의 직원이 회사의 기밀 비즈니스 데이터를 다운로드해 공개해버린 사례 대책 방안 DLP(Data Loss Prevention)제어를 적용하고 의심스러운 활동에 대한 인식과 보고 프로세스를 개선하기 위해 보안 및 개인정보보호 프로그램을 마련할 것을 권장한다. .. 2023. 7. 12. 클라우드 보안 - 취약점 : 계정 탈취 CSA(Cloud Security Alliance)에서 매년 가장 심각한 보안 위협에 대해 공유하고 있다. 2019년에 발표한 대표적인 클라우드 보안 위협과 사례를 살펴보자. 계정 탈취 다른 서비스와 클라우드 서비스의 계정이 동일한 경우 해커는 불법적으로 획득한 사용자 계정을 이용하여 클라우드 시스템에 접속을 시도할 수 있음 위협 사회공학이나 계정탈취 기술을 통해 클라우드 시스템에 대한 기밀성, 무결성, 가용성 훼손 가능 사례 더티 카우 (Dirty COW) APT 그룹은 약한 곳이나 소셜 엔지니어링을 통해 기존 계정을 넘겨 받음으로써 시스템의 관리자 수준 권한까지 획득할 수 있었다. Q. 더티 카우 ? A. 리눅스 커널에서 읽기 전용 메모리를 복사할 때 레이스 컨디션(공유된 자원에 대해 여러 프로세스가.. 2023. 7. 12. 배포 기능 좌측 탭 메뉴에서 카카오 클라우드 아이콘 선택 패널에 D2Hub와 Kargo 패널이 나타난다. D2Hub D2Hub에서 이미지를 빌드하고 배포하기 위해서는 레포지토리를 생성해야 한다. 이전 영상에서 git 연결을 통해 container에 github 계정이 연결되어 있는 상태라면, D2Hub 레포지토리 생성이 가능하다. [새 레포지토리] 클릭하여 레포지토리를 생성하다. 레포지토리 생성하는 법 D2Hub 레포지토리에 연결할 github 저장소 url과 git 액세스 토큰을 입력하는 창이 뜬다. 컨테이너에 github이 연결되어있다면, 2개의 값이 자동으로 입력된다. 창의 우측 하단에 생성 버튼을 눌러 github 레포지토리를 생성한다. 생성 결과 레포지토리를 생성하면 화면과 같이 레포지토리의 이름과 url.. 2023. 7. 12. 명령어 기능 명령어 기능은 스크립트를 쉽게 사용할 수 있도록 도와주는 일종의 스크립트 프리셋(자동으로 할당되는 설정이나 값) 기능이다. 원하는 스크립트로 명렁어를 추가해두면, 실행 버튼을 통해 기록 복잡한 스크립트를 매번 수동으로 입력할 필요 없이 바로 실행할 수 있다. 명령어 추가하기 좌측 탭 메뉴에서 명령어 아이콘을 클릭 실행 url, 빌드 및 실행 명령어를 설정할 수 있는 패널이 나타난다. 여기서 빌드 및 실행 명령을 선택하면, 공통, 빌드, 실행, 테스트, 배포가 나타난다. 이 5가지 목록은 명령어를 구분하여 관리할 수 있는 카테고리로써 다양한 명령어를 목적에 맞는 하위에 추가하여 관리할 수 있다. 새 명령어 추가하기 새 명령어를 추가하려면, 5가지 카테고리 중 하나를 선택하고 상단에 [+ 아이콘]을 선택한다.. 2023. 7. 12. 이전 1 ··· 8 9 10 11 12 13 14 ··· 22 다음