특정 uri를 제외하고 접근 막기

AWS

목록 보기
15/16

문제상황

/actuator 를 호출하는 에러가 떴다.
이는 기존 앱에서 쓰는 포트 번호를 쓰지 않고 다른 포트를 쓰도록 변경해놔서 접근할수가 없고, 회사 구성원이 호출한것도 아닌데 발생했다.

판단

외부 사람이 호출했다고 판단이 되고, 이는 추후에도 발생할 수도 있고 swagger에 보이는 API의 노출은 좋지않다고 판단해서 alb에서 막기로 했다.


  1. ec2 로드밸런서에서 리스너 및 규칙 탭에 들어가면, https:443 포트가 있고, 그 안에 들어가면 리스너 규칙을 설정할 수 있다.
  2. 조건에 경로패턴을 white list 로 작성한다. (실제 호출하는 api의 패턴을 지정)

지금은 public bastion을 통해서 private ec2에 접속이 가능하다.
그래서 swagger에 접속하기 위해서는 bastion을 통해서

ssh -N -L 쓰고자하는포트번호:<연결하고자 하는 ec2 private ip 주소>:현재사용포트번호 -i <로컬에 갖고 있는 pem 파일> ec2-user@<bastion public ip 주소>

-> bastion public ip로 들어가서 bastion에 접속하는데, bastion에서 접속할 수 있는 private ec2 중에서 연결하고자 하는 ec2 private ip:현재 쓰고있는 포트번호 에서 로컬서버:쓰고자하는포트번호 로 트래픽을 가능하게 하도록 한다.

localhost:원하는포트/스웨거주소
-> 스웨거 주소가 기본설정이면 localhost:0000/swagger-ui 로 호출

로컬서버에서 위처럼 localhost에 접속하면 스웨거에 접근할 수 있게 된다!

  • 추가로, ec2 보안그룹 인바운드에
    사용자 지정 TCP -> 현재 쓰고있는 포트번호로
    bastion의 보안그룹을 추가해줘야한다.
profile
백엔드를 공부하고 있습니다.

0개의 댓글