✅ XSS (Cross Site Scripting)
: 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입하는 공격
웹 애플리케이션이 사용자로부터 입력받은 값을 제대로 검사하지 않고 사용할 경우 나타난다.
📍 방어하는 방법
- 사용자의 입력값을 제한하여 스크립트를 삽입을 방지
- 태그 문자(: <, >, &) 등 위험한 문자 입력 시 인코딩하여 필터링하기
✅ CSRF (Cross Site Request Forgery)
: 인증된 사용자의 권한으로 원치 않는 요청을 보내는 공격
사용자가 로그인 상태일 때 악성 사이트에서 요청을 발생시켜 피해를 줄 수 있다.
📍 방어하는 방법
- 특정 관리 조작 요청에 비밀 토큰이 포함되도록 하는 비밀 토큰 유효성 검증
- 수신 HTTP 요청에서 referer 헤더의 유효성을 검증하도록 하는 리퍼러 유효성 검증
- 요청하지 않은 로그인 요청을 거부하는 요청되지 않은 인증 요청 거부
✅ SQL Injection
: 악의적인 SQL 코드를 입력하여 데이터베이스를 조작하는 공격
데이터 유출, 삭제, 수정 등이 발생할 수 있다.
📍 방어하는 방법
- 사용자의 입력을 받을 때 검증 로직을 추가하여 값이 유효한지 검증하는 입력값 검증
- 동적 SQL 쿼리를 생성하지 않도록 저장된 형식의 데이터가 아니면 쿼리가 실행되지 않도록 하는 저장 프로시저 사용
- 데이터 베이스 권한 제어
✅ 웹 캐시
: 웹 페이지나 리소스를 임시로 저장하여 재사용할 수 있도록 하는 기술
웹 서버에 해당 리소스를 매번 요청하여 다운받는 것이 아니라서, 서버의 부하를 줄이고 응답 속도를 향상시킨다.
✅ 프록시 서버
: 클라이언트와 서버 사이에 위치하여 중간자 역할을 하는 서버
클라이언트와 서버 간의 대리자 역할을 수행하는 서버이다.
네트워크에서 어디에 위치하느냐, 어느 방향으로 데이터를 제공하느냐에 따라 포워드 프록시와 리버스 프록시로 나뉜다.
- 클라이언트가 요청을 프록시 서버에 보낸다
- 프록시 서버는 요청을 분석하고, 필요한 경우 수정하거나 특정 정책을 적용한다
- 요청을 실제 서버로 전달한다
- 실제 서버에서 응답을 받으면 이를 클라이언트에게 반환한다
📍포워드 프록시
: 클라이언트가 인터넷에 접근할 때 중간에서 요청을 대신 처리하는 프록시
클라이언트 앞에 위치
포워드 프록시가 인터넷에 대신 연결
[목적]
- 사용자의 IP 주소 숨기기
- 접근 제어
📍리버스 프록시
: 서버 측에 위치하여 클라이언트의 요청을 대신 처리하는 프록시
서버의 앞 쪽에 위치
[목적]
- 로드 밸런싱
- SSL 암호화
- 서버 보안
- 캐싱
✅ L7 로드 밸런서
: 애플리케이션 레벨에서 트래픽을 분산시키는 장치
주로 HTTP 및 HTTPS 기반으로 클라이언트와 서버 간의 트래픽을 분산시키는 기능을 한다.
요청의 내용에 따라 다양한 기준으로 트래픽을 분배한다.
✅ 커넥션 타임아웃과 리드 타임아웃
📍커넥션 타임아웃
: 클라이언트와 서버 간의 연결이 설정되는 데 걸리는 최대 시간 초과
시간 내에 연결이 이루어지지 않으면 오류가 발생
[주요 요인]
- 서버가 다운
- 네트워크 문제
- 서버가 요청을 받을 준비가 되지 않았을 때
📍리드 타임아웃
: 연결이 설정된 후, 서버가 클라이언트의 요청을 기다리는 최대 시간 초과
시간 내에 요청이 오지 않으면 연결이 종료
[주요 요인]
- 데이터 처리 시간이 많이 걸림
- 서버가 과부하 상태일 때
- 네트워크 속도가 느릴 때
'⚙️ CS' 카테고리의 다른 글
[네트워크] IP 주소 & 서브넷 & 라우팅 (0) | 2025.04.10 |
---|---|
[네트워크] UDP/TCP (0) | 2025.04.03 |
[네트워크] HTTP 상태유지 기술 & SOP와 CORS & REST (2) | 2025.03.28 |
[네트워크] DNS(Domain Name System Servers) (1) | 2025.03.20 |