방화벽
신뢰할 수 없는 것을 신뢰할 수 있는 것으로 번지는 것을 막아주는 역할을 함.
외부와 내부를 단절시키고 허락된 통신만 통과시키는 역할 L3 L4 L7 방화벽이 하나씩 있음
서버에 외부인들이 들어오지 못하게 막아버리는 역할
L3, L4 방화벽
편지봉투 옆에 보내는 주소와 받는 주소만 확인함 L3 : 패킷IP 주소 확인 L4 : 포트랑 프로토콜 확인
내용을 읽지 않고 IP랑 포트만 확인 실제 안의 내용을 까지 않는다. 따라서 속도가 빠르다.
맹점
-> 오류
인바운드 / 아웃바운드
방화벽의 대표적인 예시
들어오는 규칙 (inbound) = 웹서버 불특정 다수 인원이 접속 가능ㄴ해야함. 출발지 IP 열어두고 포트 443, 80 만 열어둠
아웃바운드 : 나가는 경우 대다수는 나가는 건 다 허락함. 토스결제나 외부서버 호출시에는 나가는 길은 자유로워야 함
근데 다 아웃바운드 막으면 내응답도 막히는 거 아니야??
443 접속함 -> 방명록에 클라이언트 A가 443과 통신 시작 상태 저장
방화벽에 메모리
방화벽에 상ㅌ ㅐ저장이 안 되면 그냥 버림 그리고 방명록이 꽉차있으면 버림
방화벽은 언제 초기화 되느냐? 4way handshake를 하는지를 보고 A가 서버랑 4번 악수하면 제거
맹점
웹서버 운영하려면 80, 443 전체개방 SQL Injection 해버리면?
L7
WAF (Web Application Firewall)
겉 봉투를 뜯고 내부의 헤더 URL, 바디 데이터까지 다 검사를 함. 딥 패킷 인스펙션
- 시그니처 검사 SQL인젝션이나 해킹 패턴이 있는지를 확인함.
- 디도스 방어 비정상 행동 탐지
WAF 설정하면 막을 수 있는거다. 위치를 조정할 수 있다. 방화벽을 서버에 가까이둘 수 있지만 자원
방화벽의 딜레마
WAF가 해킹 공격을 막기 위해 내용물을 뜯고 검사한다. HTTPS
중간 암호화
- WAF 는 암호문을 어떻게 읽느냐. 중간장비들인데
- 방심위는 유해사이트를 어떻게 차단할까?
방화벽이 일을 하려면 암호화된 통신을 까봐야함. 근데 HTTPS는 필사적으로 숨겨야함
어떻게 해결하징…???