분류 전체보기
-
[NCP, MongoDB] 인스턴스 랜섬웨어 감염🩸 삽질의 추억 2024. 5. 14. 13:32
목차상황사건의 발단구체적인 상황들추측해결그 외 트러블슈팅상황: 사건의 발단팀원들로부터 디비 밀었냐는 연락을 받음 --> 안밀었는데?스택오버플로우 검색해보니 index에 expireDate 설정하는게 있다고함 --> 그런거 안했는데?이상하군. 하고 디비랑 컬렉션 다시 만듦몇시간 뒤에 들어가보니까 또 없어져있음Gui 로 접속해보니 못보던 디비 발견비트코인 내노란다..랜섬웨어다.. 구체적인 상황1-1. 해당 서버 접속할 땐 공유 와이파이 사용 한 번도x 계속 집 와이파이로만 개발. 1-2. private team repo 에서 작업1-3. 나 포함 모든 팀원이 ssh pem 키나 비밀번호를 어디 유출하거나 올린적이 없음.1-4. 여러 인스턴스가 있고 여러 스프링부트프로젝트와 몽고디비, mysql, red..
-
[CaffeineCache] caffeineCacheManager iter, .toMap() 안됨🩸 삽질의 추억 2024. 5. 11. 13:25
상황:caffeineCacheManager 로 구현한 캐시를 순회할 일이 있는데 순회를 못함. 애초에 .toMap() 으로 접근이 안됨. 해결:caffeineCacheManager 가 아닌 직접 Cache 로 CaffeineCache 를 구현한다. 설명CaffeineCacheManager은 스프링의 CacheManager 인터페이스를 통해 캐시를 관리한다이 인터페이스는 Cache 인터페이스를 통해 제공되는 표준 기능들을 사용할 수 있지만 Caffeine의 asMap() 메서드와 같은 구체적인 메서드에 접근할 수 없다. 이는 CacheManager와 Cache 인터페이스가 캐시의 구현 세부 사항을 추상화하고 일반화하여 다양한 캐시 구현체와 호환될 수 있도록 설계되었기 때문이다. 따라서 직접 Caffein..
-
[NCP, Spring Boot] NCP 로 HTTPS, SSL, 서브도메인 적용하기🩸 삽질의 추억 2024. 5. 7. 01:18
이 글의 목표:스프링부트 프로젝트에 https 를 적용한다.NCP 로 ~+ 서브도메인 적용 상황도메인은 이미 있었다. 그리고 다른 서비스에서 www.blahblah.com 을 사용하고 있었고,내 서비스에도 https 적용이 필요했다.(웹소켓) 따라서 서브도메인을 적용하기로 했다. 1. Certificate List 인증서 발급 버튼 을 누른다.Certificate 이름은 내가 부를 이름, 도메인 이름은 내가 사용할 이름이다. 나는 채팅서비스였고, 서브도메인이라 chat.blahbla.com 을 썼다.검증 방식은 DNS 방식으로 한다. 신청완료를 하면 아직 상태가 노란색이다. 나는 이미 발급받았으니까 초록색인겨여기서 Record Name 과 Record Value 를 복붙한다.그리고 나서 GLOBAL ..
-
[Spring Boot] Multiple DataBases 를 사용하는 환경에서 table이 자동으로 생성되지 않음(ddl-auto)🩸 삽질의 추억 2024. 4. 20. 14:54
상황: - Spring boot 3.2.x 사용 - MySQL DB 두개 사용. 다중 데이터베이스 환경 - application.yml 에 작성한 내용: hibernate: ddl-auto: create (update, create-drop 모두 안됨) - 각 DBConfig 마다 적은 내용의 일부 @Bean public LocalContainerEntityManagerFactoryBean bankCoreEntityManager() { LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean(); entityManagerFactoryBean.setDataSource(b..
-
[보안] HTTPS/SSL/MAC/전자서명 - 헷갈렸던 개념 한줄 씩 정리🩸 삽질의 추억 2024. 4. 20. 00:55
키 1. 보안에 필요한 키는 데이터 전송이 있기 전, 사전에 교환한다. 2. 대칭 키 방식은 키를 교환하는 과정에서 중간자가 이를 탈취하면 이후 모든 데이터를 도청 가능. 3. https 프로토콜에서 사용되는 '키'는 개발자가 직접 사용하는 것이 아니라, 데이터 통신 과정에서 SSL/TSL 계층이 이를 담당하여 암호화 복호화할 때 알아서 사용함. 4. https 통신에서 사용되는 대칭키 == 세션키. 통신이 끝나면 폐기 되기때문에 세션키라고도 불림. 5. https 에서 사용되는 '키' 와 MAC(HMAC) 에서 사용 되는 '비밀 공유 키' 는 다른 개념이다. 후자는 송신자와 수신자가 데이터 해싱에 직접 사용하는 키(=비밀값) 이다. 6. 디지털 서명에서 사용되는 키는 애플리케이션 단(=직접 사용)에서 ..
-
[JPA SQL (JPQL)] @Query 작성했더니 빈 값 리턴🩸 삽질의 추억 2024. 4. 18. 16:09
상황 spring boot 3.2.x 사용, @Query 로 SQL 직접 작성한 메소드 실행 시에 빈값이 리턴 됨. 어노테이션 없는 기본 메소드는 잘 실행되는데? @Query("SELECT t FROM TransactionHistory t " + "WHERE t.senderAccountId = :accountId OR t.receiverAccountId = :accountId ORDER BY t.createdAt DESC") List findByAccountId(@Param("accountId") String accountId); - String type 의 Param 을 넘김, - Controller 에서 다음과 같이 작성 @RequestBody String 해결 swagger 상에서 "따옴표" 없이 ..
-
[Spring Boot] swagger 로 테스트 중, body를 넘기는데 null 값이 들어왔다고 함🩸 삽질의 추억 2024. 4. 17. 19:57
상황 swagger 로 테스트 함. body 를 모.두. 작성해서 넘겼는데 null 값이 들어왔다고 에러가 뜸 ㅡㅡ 해결 import org.springframework.web.bind.annotation.RequestBody; 어노테이션 Import 를 제대로 했는지 확인할 것. springframework 에서 import 했는지.. 삽질한 이유 import io.swagger.v3.oas.annotations.parameters.RequestBody; swagger 의 RequestBody 를 import 함 ㅡㅡ 참고 https://stackoverflow.com/questions/38935912/requestbody-is-getting-null-values @RequestBody is getti..