개발자

RCE 보안공격 질문입니다!

2024년 05월 11일조회 84

안녕하세요 백엔드 취업 준비생입니다 최근 프로젝트를 진행중에 배포서버를 구성해봤습니다 aws ec2에 docker compose로 nginx, WAS, redis를 컨테이너화해 동작시키고, nginx에 의해 3개의 WAS가 로드밸런싱 된 상태입니다(WAS 는 sping boot+spring security+JPA를 사용중입니다) route 53으로 Gabia에서 구매한 도메인을 연결해둬 도메인 접근을 허용해둔 상태입니다 배포 서버가 정상적으로 동작하는지 확인하기 위해 log를 보고 있었는데 이상한 요청이 보였습니다 요청 url에 `chmod 777`이라던지 `rm -rf`가 보여서 식겁해서 일단 서버는 내려뒀습니다 알아보니 RCE라는 공격 방식 같더라고요 그래서 RCE를 막는 최선의 방법이 무엇인지 궁금합니다 또 통상적으로 알고있으면 좋은 보안 방어 기법에는 어떤것들이 있을지 궁금합니다! (가능하면 AWS 과금이 없는방법이면 더 좋을거같아요 😊 😊)

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 1

포크코딩님의 프로필 사진

최선의 방법인지 모르겠지만 권장되는 원칙은 있습니다. 총 세 가지 정도입니다. 1. 의존 라이브러리들의 패치노트를 구독하세요. RCE 취약점이 발견될 경우 즉각즉각 업데이트나 패치해줘야 합니다. 2. 웹 서버를 통과하는 모든 IO에 대해서 유효성 검사를 진행하세요.(구현은 맘대로 하면 됩니다.) 3. 돈 아깝다고 생각말고 스캐닝이나 방화벽 솔루션을 사용하세요. ## 시스템 설계 사진 보면 draw.io 같은거 쓰신거 같은데 eraser(https://www.eraser.io/) 추천드립니다.

신예찬님의 프로필 사진

신예찬

작성자

금오공과대학교 컴퓨터공학2024년 05월 14일

답변 감사합니다! AWS WAF를 고려해봐야 할거 같네요 ㅎㅎㅎ

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 05월 11일

안녕하세요. 질문주셔서 감사합니다. 1. RCE를 막는 방법: RCE, 즉 Remote Code Execution은 외부에서 코드를 실행할 수 있는 취약점을 통해 공격하는 방식을 말합니다. 이를 막기 위한 몇 가지 방법은 다음과 같습니다. - 사용자로부터의 입력값 검증와 새니타이징(sanitizing): 사용자로부터 받은 데이터는 반드시 검증하고 필요한 경우 새니타이징 작업을 할 것을 추천드립니다. JVM 기반 언어에서는 대부분의 경우 RCE 공격이 불가능하지만 여전히 SQL Injection 등 다른 공격으로 이어질 수 있습니다. - 최소 권한 원칙: 모든 시스템 및 프로세스는 필요한 최소한의 권한만을 가져야 합니다. 이 will minimize the damage in case of an attack. - 보안 패치 적용: 제품 생산자가 발표하는 보안 업데이트와 패치를 지속적으로 확인하고 적용하는 것이 중요합니다. 2. 통상적으로 알고 있으면 좋은 보안 방어 기법: - 로우렝밸링과 DDoS 보호 설정 - 인바운드 트래픽 제한 (보안 그룹 및 네트워크 ACL 사용) - 각 서비스의 최소 권한 설정 - 시스템과 응용 프로그램의 보안 업데이트를 항상 최신으로 유지 - IAM을 통한 AWS 리소스 액세스 관리 - AWS WAF 나 Shield를 통해 애플리케이션 계층에서의 공격 방어 (추가 비용 발생 가능) 마지막으로,"AWS 과금 없는 방법"에 대한 질문에 대해서는, 보안은 무료로 얻을 수 없는 것이기 때문에 매우 어려운 문제입니다. 하지만 위에서 이야기한 것들처럼 보안 그룹 설정, 필요한 서비스에 대한 최소 권한 설정 등 기본적인 보호 조치들은 추가 비용 없이 수행할 수 있습니다. 그러나 더 확실하게 보호하기 위해서는 일부 유료 서비스인 AWS WAF(웹 애플리케이션 방화벽),Shield(DDoS protection) 등을 사용하는 것도 고려해 볼 만합니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!