개발자
안녕하세요. 신입으로 일하고 있는 프론트엔드 개발자입니다. 최근에 포트폴리오 사이트를 만들고 배포 경험도 해볼 겸 리액트 프로젝트를 생성하고 배포에 성공했습니다. EC2에 아마존리눅스와 nginX를 사용했고 프로젝트는 vite로 생성한 react입니다. 첫 배포기도 하고 혼자 진행하는거다보니 보안 위협에 대한 걱정이 생기는데요. 프론트엔드에서 보안을 책임질 수 있는 방법이 뭐가있을까요? 일단 계획상으로는 포트폴리오 사이트기 때문에 백엔드 없이 프론트에서 제 이력사항을 보여주려합니다. ps. 배포를 했는데 500에러가 발생해서 검색을 해봤습니다. chmod 711 /home/ec2-user 이러한 명령어를 입력해서 본인은 읽기 쓰기 실행 권한을 얻고 다른 사용자는 실행 권한만 갖게한다고 하길래 이대로 해서 배포에 성공했습니다. 근데 이 설정에는 보안적인 문제가 없을까요? https는 아직 설정안했지만 추가할 예정입니다.
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2023년 09월 22일
프론트엔드 배포에서 중요한 보안 사항에 관해 여쭤보신 것, 고맙습니다. 프론트엔드 배포 때도 보안은 매우 중요합니다. 다음은 프론트엔드 배포 시 고려해야 할 몇 가지 보안 요소입니다. 1. HTTPS 적용: 일단, HTTPS를 사용하는 것이 좋습니다. 데이터가 클라이언트와 서버 간에 암호화되어 전송되기 때문에, 데이터 탈취를 방지할 수 있습니다. 2. 최적의 권한 설정: chmod 711 은 파일 소유자는 파일을 읽고 쓰고 실행할 수 있게 해주며, 같은 그룹의 사용자나 다른 모든 사용자는 파일을 실행하는 데 필요한 최소한의 권한만 부여하므로 일반적으로 안전하다고 볼 수 있습니다. 3. Nginx 서버 설정: Nginx 서버는 reverse proxy와 같은 역할을 하며, 클라이언트가 직접 EC2 인스턴스와 통신하지 못하게 막아줍니다. 이는 potentional attackers로부터의 보호를 제공합니다. 4. CORS 정책 실시: Cross-Origin Resource Sharing(CORS) 정책을 적용하여 특정 도메인에서 오는 요청만 허용해야 합니다. 5. 적절한 입력 유효성 검사: 클라이언트 측 JavaScript에서 폼 입력에 대한 유효성 검사를 실시하고, 사용자가 웹 사이트를 어떻게 이용할 수 있는지 제한하는 것도 중요합니다. 이 외에도 접근 로그의 정기적인 확인과 필요시 WAF(Web Application Firewall) 등의 서비스를 고려해 보는 것도 좋습니다. AWS WAF와 같은 서비스는 악의적인 요청을 차단하여 추가적인 보안 레벨을 제공합니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!