역프록시로 Cloudflare zero trust tunnel로 변경

오늘은 왜 바꿨는지 말씀드리겠습니다.
설정 방법은 천천히 스크린샷과 함께 작성하도록 하겠습니다.

cloudflare? zero trust? tunnel?

순서대로 설명해드리겠습니다.

cloudflare

간략히 말하면 도메인 네임서버 입니다.
근데 그냥 네임서버가 아니예요.
무려 proxy를 제공해줍니다.

일반적으로 domain.com을 요청하면 서버의 ip 주소를 반환해줍니다.
그러나 cloudflare는 proxy 모드라고 하여 조금 특별한 기능을 제공해줍니다.
서버의 ip가 아니라 cloudflare ip를 반환해주죠.

cloudflare ip를 통해 cloudflare 서버에 접속하면
cloudflare가 저의 서버에 접속하여, 제 서버의 데이터를 전달해주는 역할을 하게 됩니다.

역프록시와 비슷한 기능이죠.
frontend의 server ip로 접속하면, backend의 수많은 서비스로 연결해주는 것.

cloudflare proxy 모드의 장점

  1. 서버의 ip를 숨겨줍니다.
  2. 순간적으로 몰리는 네트워크에 대응할 수 있습니다.
  3. cloudflare를 거치지 않은 모든 ip에 대해서 차단을 함으로서 보안을 향상시킬 수 있습니다.
  4. cdn을 제공합니다.

cloudflare proxy의 단점

  1. 서버가 국외로 출국함
  2. 업로드 용량에 제한이 있음.

1번 항목에 대해 좀 더 자세히 설명하자면,
대한민국은 인터넷이 비싸서 cloudflare의 유료 계정이 아니라면 nrt(일본 나리타)나 미국 서쪽 서버를 경유하게 되어있습니다.
따라서 proxy 모드로 설정하게 되면 사용자들은 cloudflare의 nrt 서버를 경유하여 서버에 접근하게 되요.

굉장히 큰 지연이 발생할 수 밖에 없습니다.ㅠㅠ

그럼 cloudflare에 대해서는 이 정도로 줄이고 zero trust와 tunnel에 대해 알아봅시다.

zero trust

기본적으로 아무도 믿지 않는다는 의미입니다.
과거의 네트워크 모델은 승인된 기기에 한해서는 무한한(?) 신뢰를 줍니다.
DHCP로 자동 IP를 할당 받던, 회사 네트워크에서 네트워크 관리자에 의해 4시간에 걸쳐 IP를 받던,
받게 되면 내부 규정 내에서 모든 것을 할수 있습니다.
일단 규정 내에서 활동하고, 그에 대한 내역을 로그로 남길 뿐이죠.

반면 zero trust는 모든 활동에 대해서 인증을 수행하게 됩니다.
SSO와 결합되면서 꽤 유용한 보안 네트워크 모델이 되었죠.

tunnel

일부 VPN들이 채용한 모델입니다.
VPN은 VPN 서버가 있고, 그 서버에 client가 연결하게 되는데,
이 때 VPN 서버와 클라이언트가 연결하는 방법을 tunneling이라고 볼수 있습니다.

Cloudflare의 tunnel도 비슷합니다.
Cloudflare CDN 서버와 저의 서버가 tunnel을 통해 연결됩니다.
서버에 접속할 client는 warp를 통해서 Cloudflare CDN에 연결합니다.

그래서 클라이언트가 zero trust warp에 연결하면
cloudflare CDN 서버를 경유하여 tunnel로 연결된 서버에 접속할 수 있게 됩니다.

cloudflare zero trust tunnel을 적용한 이후 변경점.

proxy 모드와 달라지는 점은 다음과 같습니다.

  1. 모든 proxy 모드의 장점이 유지됩니다.
  2. 모든 ip를 다 막아버리면 됩니다.
  3. 업로드에 용량 제한이 사라집니다.
  4. ddns가 필요 없어집니다.
  5. 서버가 icn, 인천으로 돌아옵니다.

서버의 cloudflared라는 데몬이 열어둔 tunnel로 통신합니다.
외부에서 서버로 접속하는 것이 아니고, 내부에서 밖으로 나가는 통신이죠.
따라서 stateful 통신에 대해서 허용하기만 하면 됩니다.
기존의 cloudflare proxy 모드에서는 cloudflare ip는 허용해줘야 했던 반면 모든 ip 다 막아도 됩니다.

또한 VPN 연결하여 privateIP로 통신하는 것과 "비슷한" 환경이 되는 만큼
용량 제한이 사라집니다.

private IP로 통신하니 ddns도 필요 없어졌죠.

Cloudflare CDN이 ICN이 됩니다.
웹 서버가 비약적으로 빨라져요.
caddy? traefik? nginx? 어차피 4코어 24기가바이트에서는 큰 차이 안납니다.
어차피 0.2초 미만의 차이예요.
다만 일본 갔다가 오는 것과 인천 갔다가 오는것은 엄청난 차이가 나죠

현재 이 블로그도 cloudflare zero trust의 tunnel이 적용되었습니다.
이 문장이 혼란을 야기할 수 있을 것 같아서 강조합니다.

tunnel과 zero trust는 무관합니다.
tunnel은 zero trust의 특징이 아닙니다.
tunnel은 cloudflare의 ‘zero trust’라는 서비스의 기능이예요.
Cloudflare에서 tunnel을 제공하는 서비스 이름이 zero trust인것이죠.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다


Ads Blocker Image Powered by Code Help Pro

광고 차단 감지됨!

닫기를 누르면 이용하실 수 있지만, 광고 차단은 해제해주시면 좋겠습니다.
Powered By
100% Free SEO Tools - Tool Kits PRO