개발자 끄적끄적
인터넷 서비스 본문
<인터넷 서비스>
<FTP(File Transfer Protocol)>
- 인터넷에 연결된 시스템 간에 파일을 송,수신 하는 기능을 제공
- 사용자는 FTP 클라이언트 프로그램을 이용하여 FTP 서버에 접속한 후
파일을 송,수신 한다
<FTP 특징>
- 명령 채널과 데이터 전송 채널이 독립적으로 동작
- 클라이언트가 명령 채널을 통해 서버에 파일 전송을 요구하면 서버는
데이터 전송 채널을 통해 데이터를 전송하는 방식으로 동작
- 서버의 명령 채널은 21번 포트를 사용하고 데이터 전송 채널은 20번 포트를 사용
<FTP 종류>
1. FTP
- iD 및 Password 인증을 수행하고 TCP 프로토콜을 사용하여 사용자의
데이터를 송수신
2. tFTP
- 인증과정 없이 UDP기반으로 데이터를 빠르게 송수신함
- 69번 포트 사용
3. sFTP
- 전송구간에 암호화 기법을 사용하여 기밀성을 제공
<FTP 명령어>
- ABOR : 현재 전송 중인 파일 전송 중단
- DELE : 원격지 파일 삭제
- CWD(Change Working Directory) : 작업 디렉토리 변경
- LIST : 원격지 파일 목록보기
- MDTM : 파일 수정 시간보기
- MODE : 전송모드 변경
- NOOP : 아무 작업을 하지 않음
- PASV : Passive 모드로 전환
- QUIT : 연결종료
- RMD(Remote Directory) : 원격지 디렉토리 제거
- STOR : 원격지 파일 전송
- MKD(Make Directory) : 원격 디렉토리 생성
- NLST : 원격 디렉토리 목록보기
- PASS : 패스워드 전송
- PORT : 데이터 포트 오픈
- RETR : 원격지 파일 가지고 오기
- SIZE : 파일 사이즈 리턴
- USER : 사용자명 전송
<DNS(Domain Name Service)>
- URL에 대해서 이름을 해석하는 서버
- DNS Query를 통해서 URL의 이름을 해석한다
- DNS와 보조 DNS라는 2대를 운영하는데 주 DNS에는 이름해석을 위한
Zome 정보를 유지한다
- Zone 정보는 DNS Zone Transfer를 통해서 주 DNS와 보조 DNS간에
동기화를 수행한다
<DNS(Domain Name Service)>
- 인터넷 네트워크상에서 컴퓨터의 이름을 IP주소로 변환하거나 해석하는 데
사용되는 분산 네이밍 시스템
<DNS 구조>
- root domain(.) : 모든 도메인의 근본이 되는 최상 Root level Domain
- Top Level Domain : .com, org, kr 등의 국가, 지역을 나타냄
- Second Level : 사용자가 도메인명을 신청해서 등록할 수 있는 영역
<DNS 서비스 절차>
1. URL 입력
- 사용자는 URL을 브라우저 입력 창에 입력
2. DNS 서버 요청
- DNS 서버의 클라이언트로 설정되어 있어서 DNS 서버에 요청
- 즉, 재귀적 쿼리(Recursive Query)라고 한다
- IP주소를 반환하거나 에러를 반환한다
3. DNS Cache
- DNS Cache를 확인해서 없으면 다른 DNS 서버에 질의를 요청,
이러한 것은 반복적 쿼리(Iterative Query)
4. IP 응답
- (3)의 과정을 반복하여 최종적으로 IP주소로 응답함
<SMTP(Simple Mail Transfer Protocol)>
- 인터넷 전자 우편 표준 프로토콜
- Store-and-Forward 방식으로 메시지를 전달
- TCP 25번 포트를 사용
<SMTP 기본동작 방식>
- 송신자가 보낸 편지가 송신자 측의 전자우편을 관리하는 메일서버에 전달
- 메일 서버는 수신자의 전자우편 주소를 분석하고 최단경로를 찾아
근접한 메일 서버에 편지를 전달
- 최종 수신자 측 메일 서버에 도착하기까지 연속적으로 전달하는 중계작업 수행
<IMAP 및 IMAP4의 특징>
- 온라인 및 오프라인에서도 유효하다
- 오프라인 작업 MUA(Mail User Agent)측에서 트랜잭션을 저장하고 서버에 연결되면
Commit 한 것으로 반영한다
- 메일은 메일 서버에 항상 저장되고 Local 복사본을 검색한 시점에서 서버에서
제거할 수도 있다
- 메일상태를 중앙에서 관리할 수 있고 여러 단말을 통해서 동일한 E-Mail을 읽을 수도 있다
- 메일 소프트웨어에 관계없이 메일을 관리할 수 있으며, 메일의 헤더만 검색해서
텍스트 부분만 가져오기 등의 작업이 가능하다
- IMAP4는 프로토콜의 복잡성과 보안문제를 개선
<Telnet>
- 네트워크를 통하여 원격으로 시스템을 접속하기 위한 네트워크 프로토콜
- 기본적으로 TCP 프로토콜을 사용하여 신뢰성 있게 데이터를 송수신하지만,
평문으로 송수신을 하기 때문에 보안에 취약한 문제점
- TCP 23번 포트를 사용
- 암호화를 수행하지 않아서 도청이 가능
<SSH(Secure Shell)>
- 암호화를 사용해서 원격지 시스템에 접근하여 메시지를 안정적으로 송수신 할 수
있는 프로그램
- 송신 및 수신되는 모든 메시지를 암호화한다
- TCP 22번 포트(Port)를 사용한다
- Telnet 프로그램의 보안 취약점을 해결한다
<ssh 옵션>
-a : 인증 에이전트의 전송을 불가능하게 함
-c : 세션을 암호화할 때 사용할 암호화 해독기 선택
-e : 세션에 대한 이스케이프 문자 설정
-f : 인증 및 전송이 설정된 이후에 백그라운드에서 ssh를 설정
-i : RSA 인증 위한 비밀키를 읽어 올 식별자 파일 선택
-k : Kerberos 티켓 전송을 불가능하게 함
-l : 원격 시스템에서 사용할 로그인 이름 설정
-n : 백그라운드에서 실행될 때 /dev/nulls에서 stdin을 재지정
-o : 구성파일의 형식을 사용자 정의 옵션 사용
-p : 원격 호스트에 있는 연결 포트 설정
-q : 치명적인 오류를 제외한 메시지를 제한
-P : 특권이 부여되지 않은 포트 사용
-C : 모든 데이터 압축
-L : 원격 호스트와 포트에 전송할 로컬 포트 지정
-R : 로컬 호스트와 지정된 포트로 전송될 원격 포트 지정
<웹(WWW)>
- 인터넷 브라우저를 사용해서 서버에 있는 웹 서버(Web Server)에 연결하여
인터넷 서비스를 사용할 수 있는 서비스
- HTTP : 80번 포트 사용