Back End
-
[Spring] Jacoco - 코드 커버리지 체크하기(TDD)Back End/Spring Boot 2021. 10. 15. 18:41
# 코드 커버리지(Code Coverage)란? 코드 커버리지는 소프트웨어의 테스트를 논할 때 얼마나 테스트가 충분한가를 나타내는 지표 소프트웨어 테스트를 진행했을 때 코드 자체가 얼마나 실행되었냐는 것 Jacoco를 통해 눈으로 쉽게 확인 할 수 있다....! # Jacoco 사용법 (IDLE - IntelliJ) 1. 프로젝트 폴더의 build.gradle 파일의 plugins 에 id 'jacoco' 추가 후, gradle 리셋. 2. 우측의 Gradle 을 클릭하면, 'jacocoTestReport' 와 'test' 항목을 위의 스크린샷 처럼 확인 할 수 있음 3. 'test' 를 더블클릭하면 test 가 실행되며, 프로젝트 폴더의 build -> reports 폴더가 생성됨 4. reports-..
-
Spring) Lombok annotation 간단 정리Back End/Spring Boot 2021. 9. 17. 20:22
Annotation 을 달아놓으면 컴파일시 De-lombok 과정을 거쳐 자동으로 annotation의 기능에 따라 코드를 생성함 # 주요 Lombok Annotation Annotation 사용위치 기능 @NoArgsConstructor 클래스 기본생성자 생성(필수) @AllArgsConstructor 클래스 모든 선언된 멤버변수를 매개변수로 하는 생성자 생성 @RequiredArgsConstructor 클래스 초기화 되지않은 final 필드나, @NonNull 이 붙은 필드에 대한 생성자를 생성 @Getter 클래스 Getter 생성 @Setter 클래스 Setter 생성 @ToString 클래스 오버라이딩된 toString 생성 (클래스명 + 필드명) @EqualsAndHashCode 클래스 Equ..
-
[Spring] Filter 와 Interceptor 의 차이Back End/Spring Boot 2021. 9. 17. 20:07
# Spring에서의 Request 데이터 흐름도 Interceptor 의 반환형은 boolean, True 이면 다음단계로 데이터를 전송 Summary. 필터는 WAS(웹컨테이너)에 의해 관리가 되는 영역이고 인터셉터는 DispatcherServlet(스프링의 프론트컨트롤러) 이후 영역이므로 스프링에 의해 관리되는 영역이다. 공통점은 컨트롤러 진입전 실행로직을 작성할 수 있다는 것. 차이점은 필터는 스프링이 관리하지 않으므로, Spring Context를 사용할 수 없다는 것. 이로 인해 극명히 대조될 때는 에러핸들링을 해야할 때이다. 인터셉터는 @ControllerAdvice 로 스프링의 도움을 받아 객체지향적으로 예외처리를 할 수 있지만, 필터는 직접 response에 접근하여 예외처리를 하거나, ..
-
[컴퓨터 보안] 네트워크 보안Back End/보안 2020. 11. 24. 17:04
1. 방화벽(Fire Wall) 방화벽은 일반적으로 신뢰할 수 있는 내부 네트워크와 신뢰할 수 없는 외부 네트워크(인터넷) 간의 장벽을 구성한다. 서로 다른 네트워크를 지나는 데이터를 허용하거나 거부하거나 검열, 수정하는 하드웨어 또는 소프트웨어 장치이다. 도메인 확인 : 확인된 도메인 IP로 접속하는지 점검 원격접속 확인 : 보안 접속 절차나 인증확인 등을 이용하여 원격접속 허용 자세한 내용은 아래 링크를 확인 https://ko.wikipedia.org/wiki/%EB%B0%A9%ED%99%94%EB%B2%BD_(%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%82%B9) 2. 침입 탐지 시스템(IDS : Intrusion Detection System) 적극적 방어방법 여러곳에 설치 가능하다..
-
[컴퓨터 보안] 인증(Authentication) [메세지 인증(MAC), 사용자 인증, 디지털서명]Back End/보안 2020. 11. 24. 16:00
1. 메세지 인증 MAC(Message Autentication Code)를 사용하여, Message에 MAC을 덧붙여 전송 MAC은 Message 생성때 (공유 비밀 Key+해당 Message) 기반으로 생성됨. 즉, 복호화시 같은 비밀 Key로 복호화하여 대조 송신자 인증 + 데이터 무결성 (송신자 확인 + 데이터 변조 확인) 2. 사용자 인증 합법적 사용자인지 인증하는 것 Fixed Password : 패스워드를 해시처리 후 저장 () OTP(OneTime Password) : 패스워드를 매번 인증 후 업데이트하여, 한번만 인증 유효 사용자 인증에 대한 자세한 정보는 https://peemangit.tistory.com/190 에서 확인 가능합니다. 3. 디지털 서명 (digital signatur..
-
[컴퓨터 보안] 암호화(Encryption)Back End/보안 2020. 11. 24. 15:27
# 암호화 기본개념 암호화 알고리즘으로 데이터를 암호화 한 후, 해당 알고리즘으로 복호를 한다. 현대에는 해당 알고리즘 + Key 값을 사용하여 암호화를 진행하고, 복호화도 마찬가지로 진행한다. 알고리즘이 파훼되도 Key값으로 2중보험을 들 수 있다. 1. 대칭 암호화 (Symmetric Encrpytion) A 키로 암호화하고, A 키로 복호화 하는 방법 전송자와 수신자간에 같은 키를 가져야하는 문제점이 있음 (Key Agreement Problem) 비대칭 암호화에 비해 암호화속도가 훨씬 빠르다. (통신에서 유리) 네트워크로 Key 자체를 비대칭 암호화하여 수신자에게 전송하는 방법을 사용 2. 비대칭 암호화 (Asymmetric Encrpytion) A 공개키로 암호화한 데이터는 A 비밀키로만 복호화..
-
[컴퓨터 보안] 액세스 제어Back End/보안 2020. 11. 24. 14:46
# Access Control 적절한 권한을 가진 사용자만 특정 시스템(OS, Network, DB)에 접근할 수 있도록 통제하는 것 1. 사용자 엑세스 제어 대부분의 컴퓨터 시스템 사용자는 식별과 인증을 거쳐 시스템 사용을 시작한다. 식별과 인증은 각 시스템 자원을 보호하는 첫단계이다. 식별자와 암호가 노출되면, 시스템도 쉽게 노출되므로 해당파일은 암호화 방법으로 보호한다. # Single Sign On 한번 인증받아 로그인하면, 여러 컴퓨터 시스템이나 응용프로그램에 엑세스할 수 있도록 하는것. 따라서 철저한 암호관리가 필요하다. 2. 데이터 엑세스 제어 Access Matrix, Global Table, Access Control List, 권한 리스트, Lock/Key Structure 등으로 구현..
-
[컴퓨터 보안] 보안위협 유형 & 바이러스 유형Back End/보안 2020. 11. 24. 12:46
# 보안의 요구사항 1. 기밀성 보장 Assurance of Confidentiality authorized 된 사용자만 정보 자산에 접근 가능 (ex_ 방화벽, 암호, 패스워드) 2. 무결성 보장 Integrity Protection ( 권한을 가진 사용자 + 인가된 방법 )으로만 정보 자산을 변경 3. 가용성 보장 Assurance of Availablity 정보자산을 필요한 시간에 접근하여 사용할 수 있게 4. 인증 authentication 실제 등록된 사용자인지 판단 (ex_ 로그인, 비밀번호, 비밀키) 5. 엑세스 제어 사용자가 정보를 사용할 수 있는 권한이 있는지 판단 보호가 필요한 자원에 사용자별 사용권한 부여 or 사용자에게 보안등급과 사용분야 부여 6. 권한 부여 사용자에게 권한 부여 ..