본문 바로가기

TIL

슬기의 TIL - 2023.05.10 (미니 프로젝트 - 트러블 슈팅)

1. RDS DB 

어제 RDS 연결을 하고 인바운드 규칙을 0.0.0.0/0(모든 IP)에 대해 허용해 두었다.

 

모든 사람이 접근하는 건 위험하지 않나?라는 생각이 들어 우리가 사용하는 탄력적 IP로 변경해 보았다.

그랬더니 DB에 접근할 수 없어 연결이 해제되었다..

 

다시 원래대로 돌려놓고 해결.

 

 

그런데 모든 사람들이 DB에 접근할 수 있어야 게시글, 댓글 등이 저장될 수 있는 건가??

실제로도 그렇게 사용하진 않을 텐데... 설정을 어떻게 하는지 궁금하다.

 

+ 선용매니저님 답변을 들었다.

회사에서는 내부 망을 두고 전용 서버를 통해 들어올 수 있도록 한다.

용어 : 바스티어

 

 

2. Jasypt 설정 문제

application.properties를 github에 올릴 때 암호화 해서 올리기 위한 작업을 했다.

 

build.gradle에 implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.4' 의존성 주입을 해주고,

 

application.properties의 암호화하고 싶은 데이터들을 아래 링크에서 암호화 해 ENC(암호화된 값)으로 넣어주었다.

https://www.devglan.com/online-tools/jasypt-online-encryption-decryption

 

 

@Value로 password값을 받아오도록 했는데, properties에서 주입해주는 게 아니라, 외부에서 입력해줄 수 있도록

Edit Configurations > VM options에 -Djasypt.encryptor.password=암호화키를 추가하고 실행해주었는데 아래와 같이 실행이 안되고 에러가 발생했다.

 

 

문제는 setPassword(System.getProperty(password));

setPassword는 사용되는 패스워드를 스트링값으로 넣어주고 있다.

System.getProperty(키) 메소드를 이용해 키에 있는 값을 가져오는 건데...

password가 외부에서 주입해주는 거라서 값을 못 찾아오는 듯 하다..(정확하지 않음. 확인 필요)

아래와 같이 수정하니까 정상 실행되었다!

setPassword(password);

 

[변경전 -> 변경후]

 

 

참고

https://www.baeldung.com/spring-boot-jasypt

http://www.jasypt.org/howtoencryptuserpasswords.html

https://mvnrepository.com/artifact/org.jasypt

https://velog.io/@iniestar/properties-encrypt

https://bepoz-study-diary.tistory.com/200