배포 과정
- AWS EC2 인스턴스 생성 및 pem 키 발급
- 보안그룹 추가 → DB, Front, Back
- Git Bash로 SSH 사용
- 각종 패키지 설치
- Docker, Git, MariaDB, NodeJS 설치
- SpringBoot war 파일, React Build 폴더 저장할 Git 레포지토리 생성 → Clone하여 사용
- SpringBoot
- 데이터베이스 관련 프로퍼티 수정
- OriginPatterns 설정
- war 파일 저장 후 git push
- 파일 업로드용 volumn 설정 및 파일 저장 경로 변경
- DockerFile 생성 후 이미지 빌드하여 컨테이너 생성 및 실행
- React
- Build 폴더 생성 후 git push
- App 실행을 위한 serve 설치 후 build 실행
배포 이슈
Cors 에러 발생
- "*"을 사용하여 모든 Origin을 허용하도록 설정했을 때, Cors 에러가 발생하였음, 보안상의 이유로 막혔을 것이라 예상
- 필요한 3000, 8080 포트만 허용하도록 설정하여 해결
AWS DB 서버 해킹

To recover your lost Database and avoid leaking it: Send us 0.06 Bitcoin (BTC) to our Bitcoin address 1BLYhUDmnmVPVjcTWgc6gFT6DCYwbVieUD and contact us by Email with your Server IP or Domain name and a Proof of Payment. If you are unsure if we have your data, contact us and we will send you a proof. Your Database is downloaded and backed up on our servers. Backups that we have right now: wefish . If we dont receive your payment in the next 10 Days, we will make your database public or use them otherwise. | 1BLYhUDmnmVPVjcTWgc6gFT6DCYwbVieUD | contact@sqldb.to
- 프로젝트 마감 당일 새벽, 팀원에게 서버가 끊겼나는 연락을 받고 확인하기 위해 bash를 열었다가 발견했다
- 데이터베이스 서버를 해킹 당해 "너의 데이터를 모두 백업 했으니, 비트코인을 보내주면 데이트 유출은 막아주겠다" 라는 내용이 남겨져 있고, 우리의 소중한 데이터는 모두 삭제되어 있었다
- 결과물을 보여주기 위한 임시 데이터만 담겨져 있었기 때문에 그나마 다행이였지만, 실제 서비스를 운영 중이였다면 정말 끔찍했을 것이다
- 해킹을 쉽게 당한 이유는 MariaDB의 유저네임과 포트번호를 디폴트 값으로 사용했으며, 매우 단순한 비밀번호를 사용했기 때문이라고 생각한다
- 팀원들과 상의하여 기존의 인스턴스를 삭제하고 새로 생성하고, 데이터 베이스의 유저네임을 변경하고 비밀번호를 강화하여 다시 배포를 하게 됨
- 데이터 백업본을 가지고 있었기 때문에 다행이라고 생각했고, DB 보안에 관심을 갖게 되는 계기가 되었다
'[Project] CafeHub' 카테고리의 다른 글
| [CafeHub] 프로젝트 총 회고 (0) | 2024.01.11 |
|---|---|
| [CafeHub] 코드 분석 및 이슈 기록 - 결제 (with. 토스 페이먼츠) (0) | 2024.01.10 |
| [CafeHub] 코드 분석 및 이슈 기록 - 회원 정보 수정 / 찜한 리뷰 리스트 / 찜한 카페 리스트 (0) | 2024.01.08 |
| [CafeHub] 코드 분석 및 이슈 기록 - 카페 정보 (with. 카카오 지도) (0) | 2024.01.08 |
| [CafeHub] 코드 분석 및 이슈 기록 - 리뷰 상세 / 리뷰 찜 / 리뷰 추천 (0) | 2024.01.05 |