Day 68 · 5/5
🌳 고급 인프라

보안(Security)이 왜 중요한가요?

쉽게 이해하기

웹 보안은 집 보안과 비슷해요. 좋은 자물쇠(암호화)를 달고, CCTV(로그)를 설치하고, 방문자 명부(인증)를 쓰고, 정기적으로 점검(보안 업데이트)을 하는 거죠. 한 곳이라도 허술하면 침입자가 들어올 수 있어요. 웹사이트도 마찬가지예요.

핵심 정리

해커의 공격으로부터 데이터와 시스템을 지키기 위해 필수예요.

자세히 알아보기

웹 보안은 애플리케이션과 사용자 데이터를 악의적인 공격으로부터 보호하는 것이에요. 개인정보 유출, 금전적 손실, 서비스 중단 같은 심각한 피해를 막기 위해 반드시 신경 써야 해요. 가장 흔한 보안 취약점으로 OWASP Top 10이라는 목록이 있어요. SQL Injection(악의적인 SQL 쿼리 삽입), XSS(Cross-Site Scripting, 악성 스크립트 삽입), CSRF(Cross-Site Request Forgery, 위조된 요청), 인증 오류 같은 게 포함돼요. 예를 들어 SQL Injection은 로그인 폼에 `' OR '1'='1`을 입력해서 모든 사용자 정보를 빼가는 공격이에요. 이를 막으려면 사용자 입력을 항상 검증하고, Prepared Statement를 써야 해요. HTTPS는 기본 중의 기본이에요. HTTP는 데이터가 평문으로 전송되어서 중간에 누가 가로채면 다 보여요. HTTPS는 SSL/TLS 암호화를 사용해서 데이터를 안전하게 전송해요. 요즘은 Let's Encrypt 같은 서비스 덕분에 무료로 SSL 인증서를 받을 수 있어요. 또 비밀번호는 절대 평문으로 저장하면 안 돼요. bcrypt 같은 해싱 알고리즘으로 암호화해서 저장해야 해요. 환경변수에 API 키나 데이터베이스 비밀번호를 저장하고, 절대 코드에 직접 쓰면 안 돼요. GitHub에 올라간 API 키는 몇 분 안에 봇이 찾아내서 악용해요. 정기적인 보안 업데이트도 중요해요. npm audit으로 패키지 취약점을 점검하고, 서버 OS도 최신 보안 패치를 적용해야 해요. 보안은 한 번 설정하고 끝이 아니라, 지속적으로 관리해야 하는 영역이에요.