웹브라우저
웹(WWW, World Wide Web) 서비스를 이용할 수 있도록 하는 웹 클라이언트 프로그램으로, HTML(Hyper Text Markup Language)로 작성된 하이퍼텍스트를 웹 서버로부터 전송받아 보여주는 프로그램
웹 브라우저 종류 : Chrome, Firefox, Internet Explorer, Opera, Safari, Edge
웹브라우저 기능
- HTTP, HTTPS 기능 지원
- HTML, XML(eXtensible Markup Language), XHTML 지원
- GIF, PNG, JPEG 등 그래픽 파일 포맷 지원
- CSS(Cascading style sheet), 쿠키(Cookie), 자바스크립트, DHTML, 디지털 인증서, 플러그인 지원
웹브라우저 인터넷 속성
일반 : 브라우저의 기본 동작과 외관 설정
- 검색 기록 : 임시 파일(Cache File), 열어본 페이지 목록(History), 쿠키, 저장된 암호 및 웹 양식 정보 삭제
- 디자인 : 색, 언어, 글꼴, 접근성
- 탭 : 탭 사용에 관련된 옵션 변경
보안 : 보안 설정
- 보안 영역 추가와 제거 : 웹브라우저 보안을 구현할 때 사이트에 따라 서로 다른 보안 요구사항이 필요할 때가 있음. 여러 사이트를 관리하기 위해 다양한 보안 영역을 지원하고 각 영역에 대한 보안 요구사항을 사용자가 정의할 수 있게 함
- 인터넷 : 다른 세 가지 영역에 포함되지 않은 모든 웹사이트(기본 수준 : 약간 높음)
- 로컬 인트라넷 : 사용자의 인트라넷에 있는 모든 웹사이트(기본 수준 : 낮음)
- 신뢰할 수 있는 사이트 : 사용자 컴퓨터나 파일을 손상하지 않을 것으로 신뢰되는 웹사이트(기본 수준 : 보통)
- 제한된 사이트 : 사용자 컴퓨터나 데이터를 손상할 수도 있는 웹사이트(기본 수준 : 높음)
개인 정보 : 개인 정보 보호와 관련된 설정
- 설정(사이트 관리) : 웹사이트가 쿠키를 사용할 수 있도록 허용/차단
- 팝업 차단 : 팝업창 표시 차단
내용 : 웹 콘텐츠와 관련된 설정
- 인증서 : 암호화된 연결 및 ID에 인증서 사용, SSL 상태 지우기
- 자동 완성 : 이전에 입력한 내용 중에서 알맞은 내용 추천
- 피드 : 브라우저나 다른 프로그램에서 읽을 수 있는 웹사이트의 업데이트된 콘텐츠 제공
연결 : 인터넷 연결과 관련된 설정
- 전화(광대역) 연결 및 가상사설망(VPN, Virtual Private Network) 설정, 프록시(Proxy) 관리
프로그램 : 브라우저와 관련된 프로그램 설정
- 추가 기능 관리 : 사용자의 컴퓨터에 설치된 웹브라우저 추가 기능 관리
- 인터넷 프로그램 : 전자 메일과 같은 다른 인터넷 서비스에 사용할 프로그램 설정
고급 : 브라우저 세부 설정
- 액티브 콘텐츠(Active Contents) 실행 허용/차단
- 다운로드 프로그램의 서명 확인
- 발급자의 인증서 해지 확인
- 보안, 비보안 모드 전환 시 경고
- 웹브라우저 종료 시 임시 인터넷 파일 삭제
- 사이트 인증서가 유효하지 않을 때 경고
- 암호화된 페이지를 디스크에 저장하지 않음
- 프로필 관리자 사용
- SSL(Secure Socket Layer), TLS(Transport Layer Security) 기능 사용
HTTP 프로토콜
- 웹 서버와 웹 브라우저 간 통신을 위하여 사용되고, 요청과 응답의 메커니즘으로 작동하는 프로토콜
- OSI 7계층의 응용 계층 프로토콜, 기본적으로 TCP 80번 포트 사용
HTTP 버전 특징
- HTTP 0.9 : 초기 모델, read only
- HTTP 1.0 : read, input, delete
- HTTP 1.1 : 수행 성능 향상
HTTP 연결 메커니즘(Mechanism)
연결을 계속 유지하는 것이 아니라 처리가 완료되면 연결을 해제하는 방식으로 이러한 단점을 극복하기 위하여 URL Rewriting, Hidden Form Field, Cookie, Session 4가지 방법이 제공됨
HTTP 요청 방식
GET 방식
- 클라이언트에서 서버로 전송된 자료가 URL에서 모두 노출될 수 있으므로, 패스워드와 같은 보안 정보를 GET 방식으로 보내는 것은 위험
- 쿼리 스트링(Query String)인 GET 방식으로 전송할 수 있는 자료의 양은 한계가 있으므로, 많은 데이터를 전송하는 경우 일정 크기에서 잘릴 수 있음
- 정적인 HTML 파일의 경우 파일 내용을 화면에 보여줌
- 동적인 ASP(Active Server Page), JSP(Java Server Page), PHP(Personal Home Pagetool) 파일의 경우 명령을 실행하고, 그 처리결과를 요청한 웹 브라우저로 전송하여 보여줌
POST 방식
- 입력자료는 URL 뒷부분에 추가하여 전송하는 것이 아니라, HTTP 헤더 안에 포함하여 전송
- Submit 버튼을 클릭하는 순간 폼의 자료는 인코딩되어 전송되며, URL에는 보이지 않음
- 서버는 보호된 정보를 수신하게 되고 서버에서 동작하도록 요청
HTTP 상태 코드
트랜잭션 성공(Success) - 2xx
200(OK) : 요청이 성공적으로 완료
201(Created) : 요청이 POST이며, 성공적으로 완료
202(Accepted) : 요청이 서버에 전달되었으나, 처리결과를 알 수 없음
203(Non Authoritative Information) : GET 요청이 실행되었으며, 부분적인 정보를 리턴하였음
204(Not Content) : 요청이 실행되었으나, 클라이언트에게 전송할 데이터가 없음
트랜잭션 리다이렉션(Redirection) - 3xx
300(Multiple Choices) : 요청이 여러 위치에 존재하는 자원이 필요하므로 응답은 이에 대한 정보 전송
301(Moved Permanently) : 요청 데이터는 영구적으로 새로운 URL로 옮겨짐
302(Found) : 요청 데이터를 발견하였으나, 실제 다른 URL에 존재
304(Not Modified) : If Modified Since 필드를 포함한 GET 메소드를 수신했으나, 문서는 수정되지 않음
오류 메시지 Client - 4xx
400(Bad Request) : 요청 문법 오류
401(Unauthorized) : 요청이 서버에게 Authorization 필드를 사용하였으나, 값을 지정하지 않았음
403(Forbidden) : 요청이 허용되지 않은 자원 요구
404(Not Found) : 서버는 요구된 URL을 찾을 수 없음
오류 메시지 Server - 5xx
500(Internal Server Error) : 서버 내부에 오류가 발생하여 더 이상 진행할 수 없음
501(Not Implemented) : 요청은 합법적이나, 서버는 요청된 메소드를 지원하지 않음
503(Service Unavailable) : 서버 과부하로 서비스할 수 없음
504(Gateway Timeout) : 보조 서버의 응답이 너무 오래 지체되어 치리 실패
웹브라우저 보안 프로토콜
S-HTTP(Secure HTTP)
- 보안 기능이 추가된 HTTP
- 암호화되고 전자서명 포함
- 프로토콜 지시자로 ‘shttp’ 사용
- 하이퍼링크 앵커는 서버 식별, 요구되는 암호 매개변수 지시
- Certs와 Cryptopts라는 새로운 HTML 요소가 정의되어 사용
- SSL 대안 보안 프로토콜
- OSI 7계층의 응용 계층 프로토콜, 기본적으로 80번 포트 사용
- S-HTTP를 수용하는 웹 서버와 웹 브라우저 프로그램이 별도로 필요
- 기밀성, 무결성, 송신자 인증, 송신 부인방지, 접근통제 등의 보안 서비스 제공
SSL(Secure Socket Layer)
- Netscape사에서 개발한 프로토콜로, 인터넷을 통한 사용자의 메시지를 안전하게 전송하기 위한 보안 프로토콜
- 비밀키 공유를 위하여 공개키 알고리즘 사용(X.509 인증서 지원)
- 프로토콜 지시자로 ‘https’ 사용
- SOI 7계층의 전송 계층과 응용 계층 사이에서 동작, 기본적으로 TCP 443번 포트 사용
- 비밀성, 무결성, 인증 등 세 가지 보안 서비스를 제공하고, 효율성을 위하여 데이터 압축 기능 제공
'정보보안 > 시스템보안' 카테고리의 다른 글
클라이언트 보안 쿠키와 세션 (1) | 2025.02.12 |
---|---|
클라이언트 보안 메일 클라이언트 보안 (0) | 2025.02.11 |
클라이언트 보안 공개 해킹 도구 (0) | 2025.02.09 |
클라이언트 보안 악성 소프트웨어 2/2 (0) | 2025.02.08 |
클라이언트 보안 악성 소프트웨어 1/2 (0) | 2025.02.07 |