💡 내용이 틀린 부분이 있을 수 있습니다.
업무를 하면서 PNA CORS를 접하게 되어 작성하게 되었습니다.
👉 PNA CORS?
Chrome is deprecating access to private network endpoints from non-secure websites as part of the Private Network Access specification. The aim is to protect users from cross-site request forgery (CSRF) attacks targeting routers and other devices on private networks.
즉, 의역을 하면 크롬은 안전하지 않는 웹사이트에서 Private Network Access 사양으로 private network endpoints에 접근하는 것을 더 이상 사용하지 않는다,
private networks에서 라우터 그리고 다른 장치들의 목표가 되는 CSRF 공격으로 부터 사용자들을 보호하는 목적이다.
👉 CSRF(Cross Site Request Forgery) 공격 예시(참조 사이트)
3번에서 악성 사이트를 통해서 사용자 컴퓨터를 통해 요청이 발송되도록 DNS 등을 해킹 과정이 발생하기 때문에, 브라우저가 해킹 수단이 될 수 있어 막고 보안 정책으로 막고 있는 것 같다.
- 공격자가 특정 은행의 계좌에서 공격자의 계좌로 천만 원을 송금하라는 요청을 위조합니다.
- 위조한 요청은 하이퍼링크에 삽입해 이메일로 전송하거나 웹사이트 자체에 삽입합니다.
- 사용자가 공격자가 생성한 이메일 하이퍼링크나 웹사이트 링크를 클릭하면 은행에 천만 원을 송금하라는 요청이 전송됩니다.
- 요청을 받은 은행 서버는 사용자의 요청대로 송금을 진행합니다.
👉 XSS(Cross Site Scripting)
크로스 사이트 스크립팅은 공격자가 상대방의 브라우저에 스크립트가 실행되도록 해 사용자의 세션을 가로채거나, 웹사이트를 변조하거나, 악의적 콘텐츠를 삽입하거나, 피싱 공격을 진행하는 것을 말합니다.
👉 XSS와 CSRF 공격 차이점
"크로스 사이트 스크립팅"은 사용자가 특정 사이트를 신뢰한다는 사실을 이용한 공격 방식이지만, "크로스 사이트 요청 위조"는 웹 애플리케이션이 인증된 사용자의 요청을 신뢰한다는 사실을 이용한 공격 방식입니다.
👉 PNA CORS 해결 방법
크롬에서 PNA CORS 문제를 해결하기 위해 제안하고 있는 세 가지 방법이다.
- Upgrade your website to HTTPS, and if necessary the target server.
- Upgrade your website to HTTPS and use WebTransport.
- Reverse the embedding relationship.
👉 주관적인 해결 방법
브라우저를 통해 서버로 접근하는 과정에서 브라우저의 보안 정책으로 막고 있는 현상이다.
다시 생각하면 브라우저를 사용 안하면 된다!
- 가장 쉬운 방법으로 HTTPS, 공인 SSL을 적용하면 해결할 수 있다.
- 만약 HTTPS 통신을 사용 안하면, 서버 to 서버끼리 통신하여 정보를 주고 받을 수 있다.
👉 참고 사이트
- https://developer.chrome.com/blog/private-network-access-update/#both-ends-https
- https://inpa.tistory.com/entry/%F0%9F%8C%90-%ED%81%AC%EB%A1%AC-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80-PNA-%EA%B6%8C%ED%95%9C%EA%B3%BC-CORS-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0
- https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=aepkoreanet&logNo=221457283624
- https://ctdlog.tistory.com/46
- https://evan-moon.github.io/2020/05/21/about-cors/
- https://opentutorials.org/course/228/1453https://nordvpn.com/ko/blog/csrf/
'회사 업무' 카테고리의 다른 글
Role(역할)과 Authority(권한) (0) | 2024.09.13 |
---|---|
[Document] 로그 기록 - log4j / logback (0) | 2024.01.30 |
java.io.IOException: 장치에 남은 공간이 없음 (1) | 2023.10.05 |
[서버 개발] 서버 to 서버 통신 (0) | 2023.08.10 |