보안(KDN)

Size: px
Start display at page:

Download "보안(KDN)"

Transcription

1 정보보호보충자료 DNS 와 DNS 체계구축

2 목차 1. DNS 기본개념 2. ISC의 BIND 3. IPv6와 DNSv6 4. DNS 보안강화 2

3 1. DNS 기본개념 DNS 탄생배경 DNS 구성요소와구조 DNS 프로토콜 도메인 (domain) 과존 (zone) 자원레코드 (Resource Record) 도메인위임관련 RR : SOA & NS 호스트주소관련 RR : A & AAAA 전자우편서비스관련 RR : MX 일반적인 DNS 도메인위임설정 보안이강화된 DNS 도메인위임설정 DNS ZONE 관련확장 기존방법 (AXFR) DNS ZONE 관련확장 NOTIFY DNS ZONE 관련확장 IXFR DNS ZONE 관련확장 Dynamic Update DNS 확장 - EDNS0 3

4 DNS 탄생배경 DNS(Domain Name System) : 도메인이름 네트워크주소 Name system 중하나 (URI, IRI, ) 역사적배경 초기에숫자형식의네트워크주소직접사용 호스트수가늘어나면서기억하기쉬운니모닉 ( 호스트이름 ) 이용 1970 년대초반 23 개호스트 1970 년대중반이후 111 개호스트 : hosts.txt 파일을 ftp 로다운받아이용 1983 년 562 개호스트 : 위스콘신대학에서 DNS 제안 DNS = 체계적인도메인이름체계 + 분산구조형계층적도메인데이터베이스체계 4

5 DNS 구성요소와구조 (1) 구성요소 도메인이름공간 (Domain Name Space) 및자원레코드 (Resource Record) 네임서버 (Name Server) 리졸버 (Resolver) Domain name space Resource Records application Name Server DNS protocol udp 53 or tcp 53 Resolver cache 5

6 DNS 구성요소와구조 (2) 도메인이름공간 : 도메인이름의계층적구조공간 도메인이름의할당과분배는전세계적으로, 체계적으로관리 국내관리기관 : 한국인터넷진흥원 (KISA : 과거 KrNIC) 국제 : InterNIC, APNIC(Asia-pacific NIC) 등 자원레코드 : 도메인이름에대해필요한인터넷자원정보를매핑하는수단을제공 예 : IN A 새로운타입의자원레코드가계속정의중 네임서버 : 도메인트리의일부분에해당하는정보를지니고전체인터넷도메인트리의한부분을구성 iterative DNS 서버 : 특정질의에대해자신이소유한도메인존의정보만그응답으로제공하는동작을하는 DNS 서버 recursive DNS 서버 : authoritative DNS 서버 : 도메인네임공간상의특정영역에대해관리권한이위임된서버 6

7 DNS 구성요소와구조 (3) 리졸버 : 응용프로그램과 DNS 간의인터페이스역할로서도메인데이터베이스를검색하는기능 전체도메인데이터베이스를검색할수있도록도메인네임시스템검색의시작점이되는루트네임서버 (root name server) 의 IP 주소정보를자신의환경구성파일에저장 동일한 DNS 질의를짧은시간내에빈번하게반복하는것을방지하기위해캐쉬 (cache) 을내부에구현 대부분의호스트에는전체리졸버기능이아닌스터브리졸버 (Stub Resolver) 형태로구현 스터브리졸버 : 호스트내의응용프로그램에프로그래밍인터페이스를제공하고응용프로그램의질의요청이있는경우, 시스템에지정된리졸버 (Resolver) 역할의네임서버 (name server) 로 DNS 질의를요청 스터브리졸버의설정파일내에는리졸버네임서버의주소만저장 (Windows XP 에서설정하는네임서버의주소, UNIX 계열호스트의 /etc/resolv.conf 에저장되는주소 ) 물리적구현요소 : 네임서버, 리졸버, 스터브리졸버 7

8 DNS 프로토콜 네트워크를통해 DNS 구현요소간 DNS 질의 (DNS query) 와응답 (DNS response) 를수행하기위한서버 - 클라이언트모델의응용계층프로토콜 네임서버와리졸버간, 리졸버와스터브리졸버간에사용 TCP 및 UDP 포트번호 53 번사용 일반적으로 UDP 포트 53 을사용하여질의와응답이이루어지나, DNS 메시지영역의길이가 512 바이트를초과하는경우, TCP 53 번포트를사용하는 TCP 연결을통한 DNS 질의응답이이루어지는메커니즘이존재 일반적으로 TCP 를이용하는경우는영역전체의데이터를전송하는 zone transfer 8

9 도메인 (domain) 과존 (zone) (1) 도메인네임공간 인터넷상에존재하는리소스에대한네임체계를어떻게체계화할것인가에대한구성방안 계층적인도메인네임구조 루트도메인 (root domain) 으로부터시작하여각서브도메인으로위임 (delegation) 하는구조로형성 루트도메인은특수한도메인으로모든도메인의부모도메인 도메인네임표현 도메인네임은. (dot) 로구분된레이블로구조화된이름으로표시 레이블은 0~63 옥텟의크기를가지는숫자 / 문자의조합으로부여 루트도메인의레이블은널레이블로그길이가 0 인특수한레이블로정의 루트가아닌다른노드들은 1~63 옥텟크기의레이블을부여 ASCII 코드중 a 에서 z 까지 ( 또는 A 에서 Z 까지 ) 의문자, 그리고 0 에서 9 까지의숫자, 그리고기호문자중 - ( 하이픈 ) 만을사용 첫문자에는 - 이사용할수없음 9

10 도메인 (domain) 과존 (zone) (2) 10

11 도메인 (domain) 과존 (zone) (3) FQDN(Fully Qualified Domain Name) : 도메인네임을루트도메인으로부터시작하는전체이름의표기를사용한것 최대 255 옥텟의길이 PQDN(Partially Qualified Domain Name) 상위도메인네임이생략된도메인네임 으로잘못된해석 최상위도메인 (TLD, Top Level Domain) 루트노드다음계위의노드 예 : com, org, net, kr, jp, int 등 범용도메인은 gtld(generic TLD) 국가별도메인은 cctld(country code TLD) 인터넷인프라도메인 : 특수한도메인으로 ARPA 도메인을지칭 164.arpa, in-addr.arpa, ip6.arpa, uri.arpa, urn.arpa 등의하위도메인존재 2단계도메인 (SLD, Second Level Domain) 최상위도메인으로부터분기된다음계위 (level) 의노드 예 : co.kr, or.kr, ne.kr 등 11

12 도메인 (domain) 과존 (zone) (4) 도메인존 (domain zone) 도메인트리구조에서특정노드와그하위노드를포함하는일정한영역을지칭 단일관리자에의해관리되는도메인네임영역 example.co.kr example.co.kr 이라는도메인등록절차를마침으로써해당도메인에대한권한위임 관리자는해당도메인에속한노드에필요에따라원하는레이블을부여하여새로운도메인네임을생성 웹서버에대해서는 www, 메일서버에대해서는 mail, 도메인의 DNS 서버에대해서는 ns1 과 ns2" 의레이블을갖는노드를생성, 설정.co.kr 도메인 example.co.kr 도메인을포함하는도메인 co.kr 도메인존은 example.co.kr 에대한위임설정관리만을수행 example.co.kr 도메인이가지고있는도메인네임에대한관리는안함 12

13 자원레코드 (Resource Record) (1) 도메인네임과인터넷자원정보를매핑하여하나의분산구조형데이터베이스를구성하기위한수단 13

14 자원레코드 (Resource Record) (2) 도메인네임이갖는속성을표현 하나의도메인네임이다수의자원레코드를가질수있음 자원레코드는다양한인터넷자원정보를표시하는체계로서추가확장정의될수있는유연한구조 일반적구조 <Name><TTL><Class> <Type><RDATA> <RDATA> 는각타입마다다른형식인데일반적으로 <RDLength><RRData> 형태 <Name> : 도메인네임을의미하며데이터를검색하기위한키인덱스역할 <TTL> : Time To Live 리졸버의캐쉬테이블에얼마나오래존속할것인지를결정하는초단위의값 0~ <Class> : 의미가없어진필드로 IN(Internet) 만이용 <Type> : 각자원레코드의유형을지정하는필드 A RR : 1 NS RR : 2 SOA RR : 6 등 14

15 자원레코드 (Resource Record) (3) TYPE CODE 의미 비고 A 1 A host address 32bit IPv4 주소 NS 2 An authoritative name server 네임서버도메인네임지정 MD 3 A mail destination(obsolete-usemx) 폐지 MF 4 A mail forwarder(obsolete-use MX) 폐지 CNAME 5 The canonical name for an alias Alias 도메인네임설정원래도메인네임을매핑 SOA 6 Marks the start of a zone of authority Zone의속성정보지정 MB 7 A mailbox domain name(experimental) 실험적구현 MG 8 A mail group member(experimental) 실험적구현 MR 9 A mail rename domain name(experimental) 실험적구현 NULL 10 A null RR(EXPERIMENTAL) 실험적구현 WKS 11 A well known service description PTR 12 A domain name pointer 호스트의특정 IP 주소및해당 IP 주소를통해제공하는 TCP/ UDP 서비스포트정보지정 도메인네임을매핑함주로 IP 주소의도메인네임지정에사용 HINFO 13 Host information 호스트의 CPU 와 OS 정보 MINFO 14 Mailbox or mail list information (EXPERIMENTAL) 실험적구현 MX 15 Mail exchange 메일서버의도메인네임지정 TXT 16 Text strings 문자열정보를지정 RP 17 For Responsible Person 도메인네임별담당자정보 AFSDB 18 For AFS DataBase location AFS DB 위치정보 X For X.25 PSDN address 도메인네임의 X.25 주소정보

16 자원레코드 (Resource Record) (4) TYPE CODE 의미 비고 ISDN 20 For ISDN address 도메인네임의 ISDN 주소정보 RT 21 For Route Through NSAP 22 For NSAP address NSAP 주소정보 NSAP-PTR 23 SIG 24 For security signature 보안서명을저장 KEY 25 For security key 보안키를저장 PX 26 X.400 mail mapping information GPOS 27 Geographical Position 도메인네임의지리적위치정보위도, 경도, 고도 AAAA 28 IP6 Address 128 bit IPv6 주소정보 LOC 29 Location Information NXT 30 Next Domain EID 31 Endpoint Identifier NIMLOC 32 Nimrod Locator SRV 33 Server Selection ATMA 34 ATM Address NAPTR 35 Naming Authority Pointer KX 36 Key Exchanger CERT 37 CERT A6 38 A6 (IPv6 Address) IPv6 Prefix 및주소정보 - 폐지 DNAME 39 DNAME A6 과함께사용하는도메인매핑정보 - 폐지 SINK 40 SINK 16

17 자원레코드 (Resource Record) (5) TYPE CODE 의미 비고 OPT 41 OPT APL 42 APL SSHFP 44 SSH Key Finger print UINFO 100 UID 101 GID 102 UNSPEC 103 TKEY 249 Transaction Key DNS 질의에만사용 TSIG 250 Transaction Signature DNS 질의에만사용 IXFR 251 Incremental transfer DNS 질의에만사용 AXFR 252 Transfer of an entire zone DNS 질의에만사용 MAILB 253 mailbox-related RRs (MB, MG or MR) DNS 질의에만사용 MAILA 254 Mailagent RRs (Obsolete - see MX) DNS 질의에만사용 * 255 A request for all records DNS 질의에만사용 17

18 도메인위임관련 RR : SOA & NS (1) SOA(Start of a zone Of Authority) 도메인존에대한정보를표시 <Name><TTL><Class><Type=SOA><RDATA> RDATA : <MNAME><RNAME><SERIAL><REFRESH><RETRY><EXPIRE><MINI MUM> <MNAME> : 해당존의최상위마스터네임서버 (primary master name server) 도메인네임을지정하는필드 해당존에대한전적인관리권한을지닌마스터네임서버 DNS UPDATE 와같은도메인네임및자원레코드의동적갱신이나존데이터전송메커니즘에있어중요한역할 반드시 FQDN 으로표기 <RNAME> : 해당존을관리하는담당자의이메일주소를표기하는필드 <SERIAL> : 해당존의변경에따른버전번호정보필드 존내부의데이터가변경될때마다 <SERIAL> 필드의버전번호는하나이상증가 해당존의변경여부를파악할수있는중요한정보를제공 수작업으로변경작업을하는경우에는일반적으로 YYYYMMDDnn 의형식으로버전번호를관리 YYYY= 년도, MM= 월, DD= 일, nn= 일련번호 18

19 도메인위임관련 RR : SOA & NS (2) <REFRESH>, <RETRY>, <EXPIRE> : 존에대한정보를갱신하는메커니즘에있어서의타이머시간정보를지정 <REFRESH> : 슬레이브네임서버가해당존에대한변경여부를확인하는주기 슬레이브네임서버는 <REFRESH> 에지정된주기로마스터네임서버에대하여대상존 (zone) 의 SOA 리소스레코드를질의하여 <SERIAL> 버전이자신이알고있는 <SERIAL> 버전을기준으로갱신여부를확인 <RETRY> : <REFRESH> 에의한갱신시도가실패한경우, 다시존에대한갱신을시도하는타이머시간 <RETRY> 값은 <REFRESH> 값보다는작은값 <EXPIRE> : 슬레이브네임서버가최상위마스터네임서버로대상존에대한갱신여부확인에실패한경우, 슬레이브에존재하는동일존의복사본을어느정도시간만큼유효한것으로유지할것인가에대한설정값 <RETRY> 나 <MINIMUM> 값보다큰값으로설정하며일반적으로권장하는설정값은 2 주 ~4 주정도 <MINIMUM> : 존에속한모든자원레코드의디폴트 TTL(default TTL) 값을지정 리졸버의캐쉬에리소스레코드를저장, 존속시키는기간으로사용 약 1~5 일의기간설정권장 하나의존에반드시하나의 SOA 레코드지정 19

20 도메인위임관련 RR : SOA & NS (3) NS(authoritative Name Server) 특정도메인존이어느네임서버에위임되어설정되어있는지를표시 <Name><TTL><Class><Type=NS><RDATA> RDATA : <NSDNAME> <NSDNAME> : NS 레코드를소유한 <Name> 의도메인존을가지고있는네임서버의도메인네임을지정 FQDN 의도메인네임을설정 NS 레코드는해당존이실제로위치한네임서버를도메인네임으로지정 NS RR 의 2 가지용도 상위도메인존에서위임되는도메인존의네임서버지정 NS RR 과네트워크주소를알려주는 A RR 을같이저장 해당존의 SOA 레코드와함께해당존의네임서버지정 SOA 의 <MNAME> 에저장된것이마스터서버이고나머지는슬레이브서버 존관리동작 ( 동적갱신, 갱신통보 (NOTIFY), 존데이터전송등 ) 에이용 20

21 도메인위임관련 RR : SOA & NS co.kr (4) <Name=example.co.kr.><TTL><Class><Type=NS><NSDNAME=ns1.example.co.kr.> <Name=example.co.kr.><TTL><Class><Type=NS><NSDNAME=ns2.example.co.kr.> <Name=ns1.example.co.kr.><TTL><Class><Type=A><ADDRESS= > <Name=ns1.example.co.kr.><TTL><Class><Type=A><ADDRESS= > 위임 example.co.kr <Name=example.co.kr.><TTL><Class><Type=SOA><MNAME=ns1.example.co.kr.> <RNAME><SERIAL><REFRESH><RETRY><EXPIRE><MINIMUM> <Name=example.co.kr.><TTL><Class><Type=NS><NSDNAME=ns1.example.co.kr.> <Name=example.co.kr.><TTL><Class><Type=NS><NSDNAME=ns2.example.co.kr.> <Name=ns1.example.co.kr.><TTL><Class><Type=A><ADDRESS= > <Name=ns2.example.co.kr.><TTL><Class><Type=A><ADDRESS= > 21

22 호스트주소관련 RR : A & AAAA A RR : IPv4 주소정보 <Name><TTL><Class=IN><Type=A><RDATA> <RDATA> : <Address> 32 비트 IPv4 주소 AAAA RR : IPv6 주소정보 <Name><TTL><Class=IN><Type=AAAA><RDATA> <RDATA> : <Address> 128 비트 IPv6 주소 특정도메인네임에대한 A 타입의질의는해당도메인이소유한 A RR 만응답하고, AAAA 타입의질의에대해서는해당도메인네임이소유한 AAAA RR 정보만응답 임의의도메인네임이 IPv4 또는 IPv6 주소를갖고있는지의여부는 A 타입의질의와 AAAA 타입의질의를모두수행하여파악 22

23 전자우편서비스관련 RR : MX 메일교환 (Mail Exchange) 을의미하며메일서버의정보 <Name><TTL><Class><Type=MX><RDATA> <RDATA> : <PREFERENCE><EXCHANGE> <PREFERENCE> : 우선순위를지정하는필드로뒤에지정되는메일서버에대한선호도를지정 외부에서메일을전송하는메일서버는가장값이적은 <PREFERENCE> 필드값을갖는자원레코드의메일서버도메인네임을선택 다수의메일서버를운영하면서우선순위설정이가능 <EXCHANGE> : 메일서버의도메인네임을지정 MX 레코드에대한질의는 MX 레코드와 MX 레코드에지정된메일서버도메인네임의 IP 주소를추가정보로응답 example.co.kr <Name=example.co.kr.><TTL><Class><Type=MX><PREFERENCE=10> <EXCHANGE=mail.example.co.kr.> <Name=mail.example.co.kr.><TTL><Class=IN><Type=A><ADDRESS= > 23

24 일반적인 DNS 도메인위임설정 (1) co.kr zone co.kr. Name server Kr Resolution 방향 example.co.kr. example.co.kr. NS ns1.example.co.kr. NS ns2.example.co.kr. co recursive Name server example.co.kr. NS ns3.example.co.kr. 위임 Name Server 재시 위임 example.co.kr. zone example.co.kr. SOA ns1.example.co.kr.. Name server ns1.example.co.kr. Master Name Server example Name server ns2.example.co.kr. DNS 질의 example.co.kr. example.co.kr. example.co.kr. NS ns1.example.co.kr. NS ns2.example.co.kr. NS ns3.example.co.kr. Master name server Slave name server Slave name server Slave Name Server example Name server ns3.example.co.kr. ZONE TRANSFER Slave Name Server example 24

25 일반적인 DNS 도메인위임설정 (2) 도메인 co.kr. example 노드를생성하고이노드의도메인네임에대해 NS RR 설정 현재 example.co.kr. 에서는 3 개의네임서버를사용중이며, 각각을 NS RR 로설정 도메인 example.co.kr. SOA 리소스레코드의 <MNAME> 필드로해당도메인존의최상위마스터네임서버의정보를지정 현재 example.co.kr. 에서는 3 개의네임서버를사용중이며, 각각을 NS RR 로설정 NS1 이마스터서버로동작하며, 나머지서버는슬레이브로동작하여 Dynamic Update, Notify, Zone Transfer 등구현 25

26 보안이강화된 DNS 도메인 co.kr zone 위임설정 (1) co.kr. Name server Kr Resolution 방향 example.co.kr. NS ns2.example.co.kr. example.co.kr. NS ns3.example.co.kr. 위임 example.co.kr. zone example.co.kr. SOA ns1.example.co.kr.. 위임 Name Server 재시 Name server ns1.example.co.kr. Master Name Server co example Name server ns2.example.co.kr. recursive Name server DNS 질의 example.co.kr. example.co.kr. example.co.kr. NS ns1.example.co.kr. NS ns2.example.co.kr. NS ns3.example.co.kr. Master name server Slave name server Slave name server Slave Name Server ZONE TRANSFER example Name server ns3.example.co.kr. Slave Name Server example 26

27 보안이강화된 DNS 도메인 위임설정 (2) 도메인존 example.co.kr. 의최상위마스터네임서버가상위도메인 co.kr. 에서 NS 레코드로지정되어있지않은구성 리졸버에의한통상적인리졸루션절차에있어서는 ns2.example.co.kr. 서버와 ns3.example.co.kr. 서버를참조 도메인존의관리측면에있어서는 ns1.example.co.kr. 서버에서관리가이루어지며나머지네임서버 ns2.example.co.kr. 과 ns3.example.co.kr. 서버가 ns1.example.co.kr. 의마스터존의내용을복사하여 DNS 서비스를제공 최상위마스터네임서버가방화벽내부에존재하고외부인터넷으로부터의접근이보안적측면에서차단되도록설정하는경우에해당 Dynamic Update 메커니즘에서마스터네임서버에직접접근이불가능하므로슬레이브네임서버로 DNS Dynamic Update 요청을하고해당슬레이브네임서버는마스터네임서버로요청을전달하는방식으로동작 27

28 DNS ZONE 관련확장 기존 방법 (AXFR) (1) 도메인존을 2 개이상의네임서버로마스터존과이마스터존의복사본인슬레이브존을설정하는구성이가능 슬레이브네임서버가마스터네임서버로접근하여마스터존이갱신되었는지의여부를확인하는절차를주기적으로수행 (SOA RR 에서 <REFRESH> 정의 ) 마스터존의 SOA 레코드 <SERIAL> 필드버전번호가슬레이브존의 <SERIAL> 번호보다증가한것을확인한경우, 마스터네임서버에대해존전송 (zone transfer) 요청 AXFR ZONE TRANSFER : TCP 53 번포트를사용하여해당도메인존의모든내용을전송 28 MCC Laboratory

29 DNS ZONE 관련확장 기존 name server ns1.example.co.kr. 방법 (AXFR) (2) name server ns2.example.co.kr. name server ns3.example.co.kr. example example example Master Name Server Slave Name Server Slave Name Server UDP 53 UDP 53 TCP 53 DNS Query Example.co.kr.SOA? DNS Query Response Example.co.kr.SOA <SERIAL>. DNS Query Response example.co.kr. AXFR <RR List> Example.co.kr.zone SOARR <REFRESH> expire SOARR <SERIAL> check zone 의모든 RR 전송 TCP 53 example.co.kr. zone update 29 UDP 53 DNS Query example.co.kr. SOA? example.co.kr. zone SOA RR<REFRESH > expire

30 DNS ZONE 관련확장 NOTIFY (1) 기존방법에서는마스터존의갱신이있은후최대 <REFRESH> 시간의지연이발생 마스터네임서버가마스터존에대한수정및갱신이발생한경우, 그존의 <SERIAL> 버전번호를증가시킨후 SOA 레코드정보를모든슬레이브네임서버로 NOTIFY 메시지로통보 모든슬레이브네임서버는마스터존에대한갱신이발생한시점에마스터존의 SOA 레코드 <SERIAL> 버전번호를체크 도메인존에대한갱신이모든슬레이브네임서버로신속한전파와반영이가능 30

31 DNS ZONE 관련확장 NOTIFY name server ns1.example.co.kr. (2) name server ns2.example.co.kr. name server ns3.example.co.kr. example example example Master Name Server example.co.kr. zone RR DATA update SOA RR <SERIAL> UDP 53 UDP 53 UDP 53 UDP 53 TCP 53 TCP 53 DNS Query (NOTIFY) example.co.kr SOA <SOA RR> Slave Name Server DNS Query Response (NOTIFY) example.co.kr SOA DNS Query example.co.kr SOA? DNS Query example.co.kr SOA RR Data DNS Zone Transfer (AXFR/IXFR) UDP 53 UDP 53 DNS Query example.co.kr SOA? Slave Name Server DNS Query Response example.co.kr SOA RR Data example.co.kr. zone update DNS Zone Transfer (AXFR/IXFR) UDP 53 UDP 53 example.co.kr. zone update

32 DNS ZONE 관련확장 IXFR (1) 슬레이브네임서버의요청으로모든내용을전송하는 AXFR 과는달리마스터네임서버에서마스터존의변경된요소부분만전송하는메커니즘 (NOTIFY 와같이이용 ) 전송 DNS 메시지에서 <SOA 레코드 >< 변경된리소스레코드 ><SOA 레코드 > 의구조로변경내역데이터만전송하여슬레이브네임서버가해당레코드의변경내역만반영 UDP 포트 53 번 / TCP 포트 53 번포트를선택적으로이용 IXFR 존전송요청을슬레이브네임서버가지원하지못하는경우에는슬레이브네임서버에서동일한존에대해 AXFR 존전송요청 32

33 DNS ZONE 관련확장 IXFR (2) name server ns1.example.co.kr. name server ns2.example.co.kr. name server ns3.example.co.kr. example example example Master Name Server example.co.kr. zone RR DATA update SOA RR <SERIAL> UDP 53 UDP 53 TCP 53 TCP 53 TCP 53 TCP 53 Slave Name Server DNS NOTIFY DNS Query & Response zone SOA? DNS Query example.co.kr. IXFR slave name server <SOA RR> DNS Query Response example.co.kr. IXFR <RR DATA Updated Liists> UDP 53 example.co.kr. zone update DNS Query example.co.kr. IXFR slave name server <SOA RR> DNS Query Response example.co.kr. IXFR <RR DATA Updated Lists> Slave Name Server 갱신된 RR 리스트만전송함 SLAVE 서버의 SOA <SERIAL> 을참조하여해당 <SERIAL> 버전까지의갱신 RR 리스트전송 UDP 53 UDP 53 example.co.kr. zone update

34 DNS ZONE 관련확장 Dynamic Update (1) 네임서버에대해원하는도메인네임에대한자원레코드의생성, 삭제요청을함으로써도메인존에대한동적갱신이가능 진행과정 대상도메인존이설정되어있는마스터네임서버의위치를파악하기위한절차 변경대상도메인네임에대해 SOA 타입질의 변경대상도메인네임과자원레코드에대한변경절차 DNS 질의메시지헤더플래그의동작코드 (operation code) 를 Dynamic Update (5) 로설정하고존섹션 (zone section) 과업데이트섹션 (update section) 에각각수정대상도메인존 (zone), 수정자원레코드내용으로채워해당존의마스터네임서버로전달 마스터네임서버에직접접근이불가능한경우 슬레이브네임서버에게 dynamic update 요구전달 슬레이브네임서버에서마스터네임서버에게전달 반영결과가슬레이브네임서버를통해제공 보안에대한고려필요 34

35 DNS ZONE 관련확장 Dynamic kr Update (2) co.kr. name server 위임 name server ns1.example.co.kr. co recursive name server (1) DNS Query new.example.co.kr SOA? DNS Query Response <example.co.kr SOA RR> Host Master Name Server 35 ZONE TRANSFER example name server ns2.example.co.kr. Slave Name Server example name server ns3.example.co.kr. Slave Name Server (2) DNS DYNAMIC UPDATE new.example.co.kr. 180 IN A DNS Dynamic Update new.example.co.kr. 생성의경우. 반드시 primary master name server 에 update. <new.example.co.kr. 180 IN A > RR 을 example.co.kr. zone 의 master zone 에 update. example DNS Dynamic Update 에의한변경사항은 Zone Transfer 에의해각 name server 에반영.

36 DNS 확장 - EDNS0 DNS 의한계를극복하기위해확장된옵션 RR 하나의예로서, DNS 는 UDP 메시지로질의응답할때, DNS 메시지크기가 512 바이트를초과할수없다는한계 네임서버에서 DNS 응답을할때, 512 바이트를초과하는 DNS 메시지가생성되었다면, 네임서버는 DNS Header flag 중 TC(Truncation) 플래그를 1 로세팅하여응답 TC 플래그가세팅된 DNS 응답메시지를받은호스트는이응답메시지를폐기하고동일한내용의 DNS 질의를 TCP 53 을사용하여재질의 EDNS0 의각필드중 buffer size 를지정하는필드가있으며, buffer size 를 512 바이트이상의값, 즉 1024 byte, 2048 byte 등으로지정하는경우, 512 바이트이상의 DNS 응답메시지를 UDP 로수신가능 36

37 2. ISC 의 BIND ISC 소개 초기화면 OARC 소개 OARC.ISC.ORG 초기화면 Bind 8.x Bind 9.x Bind 설치과정 Bind 설정하기 db.domain 파일설정 db.addr 파일설정 Bind 환경설정파일 영역데이터파일에서의축약사용 Bind 운영 Bind 관련 FAQ dig 사용법 37

38 ISC 소개 양질의핵심소프트웨어, 프로토콜, 운영절차를개발하고유지함으로써인터넷의하부구조를지원하기위한비영리공익집단 현재 ISC 가지원하고있는소프트웨어 BIND DHCP INN OpenReg Operations Analysis and Research Center (OARC) DNS 를지원하기위해 2003 년 10 월결성 주기적으로 ISC Internet Domain Survey 를발표 BIND 는전세계 DNS 서버의 70% 이상점유 (2004 년기준 ) 설치대수 2 위 Microsoft DNS Server 21.7% 38

39 39 초기화면

40 OARC 소개 (1) 설립목적과배경 역할 루트네임서버운영자들과선도연구자들이모여신뢰할수있는플랫폼을구축하는것이목적 DNS 의신뢰성있는운영은인터넷의지속적인운영을위한중요한요구사항이며, DNS 가중단되면인터넷또한중단되는중요한상황임에도불구하고, DNS 를계속적으로작동하게하는어떠한공식적인메커니즘이존재하지않다는인식에서출발 정보의공유와분석을위한포럼과플랫폼제공 글로벌 DNS 에대한공격또는위기상황이나타나면이에대한정보공유를위한중립적메커니즘제공 구성원들간의글로벌 DNS 의운영의이해를위한정보공유 더욱안전하고신뢰성있는글로벌하부구조제공 40

41 OARC 소개 (2) OARC 의기능 DNS 와관련된공격이나치명적인사건에대한정보를 DNS 운영자집단에게신속히전파하고공유할수있는신뢰할수있는플랫폼제공 ISC 로부터의여과된채널을통해조기경고, 공격, 글로벌 DNS 의다른고장에대한지속적인분석제공 입력데이터를분석하여사고상황과이에대한가능한해결방법 (solution) 에대한전문가의견제공 주요네임서버의부하와성능을측정발표 DNS 구현이나망요소들의테스트 DNS 성능에대한장기적인분석 최종사용자나개발업체들에게관련중요정보를제공하는교육홍보기능 주요참여자 루트, TLD, 혹은상용 DNS 서버의운영자 DNS 소프트웨어나망장비개발자 주요정부및법관련기관 DNS 에관심이많거나전세계의 DNS 정보흐름과상태에관심이많은연구자 41

42 dig 사용법 (1) dig (Domain Information Groper) 개요 BIND DNS 배포패키지에기본적으로포함된 DNS 진단용유틸리티 DNS lookup 유틸리티의일종 널리사용되어왔던 nslookup 을대체 nslookup 에비해 dig 이 DNS 의추가표준사항을충실히반영한진단도구 DNS 네임서버구성과도메인설정이완료된후, 인터넷일반사용자의입장에서설정한도메인네임에대한 DNS 질의응답이정상적으로이루어지는지확인점검 ISP 네트워크관리자가 ADSL/VDSL 가입자의장애현상에대한원인파악을위해 DNS 네임서버문제여부진단 Unix 나 Linux 계열 OS 에는 dig 이포함, OS 설치시에기본적설치 Windows 계열 OS 경우, BIND DNS 설치패키지를다운로드후설치필요 42

43 dig 사용법 (2) 도메인네임에대한질의 형식 : dig [@server] [name] [type] server DNS 질의를할대상네임서버 네임서버의도메인네임 (domain name) 또는 IP 주소지정 IP 주소지정의경우 IPv4 주소또는 IPv6 주소지정가능 name 질의대상도메인네임 지정하지않은경우 : 루트도메인 (.) 에대해서질의 type 질의타입 지정하지않은경우 name 이지정되지않은경우 : 루트도메인 (.) 의 NS 타입질의 name 이지정된경우 : 지정된도메인네임의 A 타입질의 43

44 dig 사용법 (3) 사용예 : [root@lily 13u1]# dig mmu.ac.kr A ; <<>> DiG P1-RedHat P1.fc16 <<>> mmu.ac.kr A ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;mmu.ac.kr. IN A ;; ANSWER SECTION: mmu.ac.kr IN A ;; Query time: 0 msec ;; SERVER: #53( ) ;; WHEN: Mon Apr 29 10:28: ;; MSG SIZE rcvd: 43 44

45 dig 사용법 (4) IP 주소 (IPv4, IPv6) 에대한역변환질의 형식 : dig [@server] -x ip_address -x ip_address 역변환질의대상 IP 주소지정 IPv4의경우 : in-addr.arpa. 도메인네임으로변환후질의 IPv6의경우 : ip6.arpa. 도메인네임으로변환후질의 45

46 dig 사용법 (5) 사용예 : IPv4 주소역변환 # dig -x ; <<>> DiG P1-RedHat P1.fc16 <<>> -x ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4037 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ; in-addr.arpa. IN PTR ;; ANSWER SECTION: in-addr.arpa IN PTR lily.mmu.ac.kr. ;; Query time: 0 msec ;; SERVER: #53( ) ;; WHEN: Mon Apr 29 10:29: ;; MSG SIZE rcvd: 74 46

47 dig 사용법 (6) 사용예 : IPv6 주소역변환 # dig -x 2001:6b0:1:ea:a00:20ff:fe8f:708f ; <<>> DiG P1-RedHat P1.fc16 <<>> -x 2001:6b0:1:ea:a00:20ff:fe8f:708f ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;f f.8.e.f.f.f a.0.a.e b ip6.arpa. IN PTR ;; ANSWER SECTION: f f.8.e.f.f.f a.0.a.e b ip6.arpa IN PTR renskav.stacken.kth.se. ;; AUTHORITY SECTION: a.e b ip6.arpa IN NS ns.stacken.kth.se. ;; ADDITIONAL SECTION: ns.stacken.kth.se IN A ns.stacken.kth.se IN AAAA 2001:6b0:1:ea::100 ;; Query time: 1232 msec ;; SERVER: #53( ) ;; WHEN: Mon Apr 29 10:30: ;; MSG SIZE rcvd:

48 dig 사용법 (7) dig 질의결과출력내용분석 dig 출력내용은 DNS 메시지의 Header, Question Section, Answer Section, Authority Section, Addition Section 의구조에맞추어출력 끝부분에 dig 이첨가하는부가적인정보로써 DNS 응답소요시간, DNS 응답서버정보, DNS 메시지사이즈정보등을출력 ; <<>> DiG <<>> A ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 opcode: DNS 응답메시지의 operation code QUERY : Standard Query IQUERY : Inverse Query ( 현재는사용않음 ) STATUS : Server Status Request NOTIFY : DNS Notify Message UPDATE : DNS Dynamic Update Message 48

49 dig 사용법 (8) status: DNS 응답메시지의 RCODE(Response Code) 표시 NOERROR : No Error [Standard Query] FORMERR : Format Error [Standard Query] SERVFAIL : Server Failure [Standard Query] NXDOMAIN : Non-Existent Domain [Standard Query] NOTIMP : Not Implemented [Standard Query] REFUSED : Query Refused [Standard Query] YXDOMAIN : Name Exists when it should not [DNS UPDATE] YXRRSET : RR Set Exists when it should not [DNS UPDATE] NXRRSET : RR Set that should exist does not [DNS UPDATE] NOTAUTH : Server Not Authoritative for zone [DNS UPDATE] NOTZONE : Name not contained in zone [DNS UPDATE] BADVERS : Bad OPT Version [EDNS0] id: DNS transaction ID 를표시 flags: DNS Header Section 의 flag 필드값표시 qr : Query/Response bit (set = Response) rd : Recursion Desired (set = Recursion Desired) ra : Recursion Available (set = Recursion Available, Server) tc : Truncation (set = Message is truncated) aa : Authoritative Answer (set = Authoritative Answer) ad : 확장 flag, Authentic Data cd : 확장 flag, Checking Disabled 49

50 dig 사용법 (9) QUERY: DNS Query Section의 RR 개수 ( 항상 1) ANSWER: DNS Answer Section의 RR 개수 AUTHORITY: DNS Authority Section의 RR 개수 ADDITIONAL: DNS Additional Section의 RR 개수 ;; QUESTION SECTION: ; IN A ;; ANSWER SECTION: IN A ;; AUTHORITY SECTION: nic.or.kr IN NS ns2.nic.or.kr. nic.or.kr IN NS ns1.nic.or.kr. ;; ADDITIONAL SECTION: ns1.nic.or.kr IN A ns2.nic.or.kr IN A

51 dig 사용법 (10) ;; QUESTION SECTION: DNS 질의내용을표시 ;; ANSWER SECTION: DNS 질의사항에대한 DNS 응답 RR 을표시 ;; AUTHORITY SECTION: DNS 응답 RR 이속한도메인존의 NS RR 정보 ;; ADDITIONAL SECTION: 부가적인 RR 정보를표시 ;; Query time: 100 msec ;; SERVER: #53( ) ;; WHEN: Wed Jun 23 19:18: ;; MSG SIZE rcvd: 115 ;; Query time: DNS 질의메시지발송시점에서응답시점까지의소요시간 ;; SERVER: DNS 응답메시지를보내온질의응답네임서버 ;; WHEN: DNS 응답메시지를받은시점의 date & time ;; MSG SIZE rcvd: 응답받은 DNS 메시지의 size 표시 (byte 단위 ) 51

52 3. IPv6 와 DNSv6 IPv6 개요 DNSv6 개요 IPv6 DNS 시스템구성을위한사전검토사항 IPv6 DNS 설치및구동 IPv6 DNS FAQ IPv6 Socket Programming IPv6 DNS 이용 Programming 예제 Dual stack IPv6 server 의서비스제공 UNIX 계열에서수신된 IPv4/IPv6 데이터그램처리 UNIX 계열에서요청된 IPv4/IPv6 데이터그램처리 52

53 IPv6 개요 (1) IPv6 탄생배경 1980 년대후반주소고갈문제예상 초기에는주소필드의확장만논의했으나, 아무리사소한수정이라도전체망구조에큰영향을미친다는사실을깨닫고근본적인수정에착수 IPv6 주소는 IPv4 주소길이의 4 배인 128 비트로 43 억 43 억 43 억 43 억개의주소제공이가능. ( 지구상의모든인간이 10 억개의노드로이루어진개인망을가질때, 이러한지구와같은행성 50 억 50 억개를연결가능 ) IPv6 의개선분야 확장된주소 간소한헤더형식 개선된확장과옵션지원 흐름라벨링 인증과비밀성제공 53 MCC Laboratory

54 IPv6 개요 (2) HLEN TOS 헤더길이 IPv4 Header = Header Length = Type of Service = 20 octets(bytes) + options 32 bit 4 bit 4 bit 8 bit 16 bit Ver HELN TOS Total Length Identification flags Fragment Offset TTL Protocol Header checksum Source IP Address Destination IP Address IPv6 Header Ver Traffic Class Flow Level Payload Length Next Header Hop Limit Source IP Address 헤더길이 = 40 octets(bytes) Destination IP Address 54

55 DNSv6 개요 (1) IPv6 를지원하기위한변화와문제점 ip6.arpa. 도메인추가 각레이블은 8 bit 단위의 16 진수표기단위이용 예 : 2001:2b8:3b:1::100 의경우 b b ip6.arpa. IPv6 주소를지정할수있는신규 RR 정의 : AAAA RR 존파일 (zone file) 표기 IN A IN AAAA 2001::2b8:3b::100 A 리소스레크드포맷 Name Type Class TTL Data Length Address AAAA 리소스레크드포맷 32 bit Name Type Class TTL Data Length Address 128 bit 55

56 DNSv6 개요 (2) 리졸버에의한비재귀적질의 (iterative query) 에대해네임서버 NS RR 과 glue RR 응답시 IPv4 주소의 A RR 과 IPv6 주소의 AAAA RR 을모두포함하여응답 특정도메인네임의 IP 주소를파악하기위해서 A 타입 DNS 질의와 AAAA 타입 DNS 질의를각각수행하여응답을파악 하나의도메인네임에대한 A 타입 DNS 질의는 A RR 만응답 하나의도메인네임에대한 AAAA 타입 DNS 질의는 AAAA RR 만응답 각호스트가 IPv4/IPv6 듀얼스택호스트로서비스하고있는경우다수의 A RR 과 AAAA RR 이네임에지정됨으로써 DNS 응답메시지의길이가 512 바이트를초과하는경우발생 TCP 를사용한 DNS 질의절차로전환하는메커니즘을유발 DNS 질의상의지연과네임서버시스템부하증가문제 리졸버의캐쉬관리에서 IPv6 주소의 AAAA RR 로인해소요되는메모리증가 IPv6 Socket API 사용필요 56

57 DNSv6 개요 (3) IPv6 의도입에따른 DNS 변화 도메인데이터베이스의확장 AAAA RR 도입 리졸버의입장에서는 IPv4 주소와 IPv6 주소가공존하는도메인데이터베이스에서임의의도메인네임에대한네트워크주소정보를파악하기위해서는 A 타입리소스레코드에대한 DNS 질의와 AAAA 타입리소스레코드에대한 DNS 질의를각각수행 IPv6 의도입으로인해 IPv6 주소를갖는네임서버가존재하게되며네임서버로의위임설정이 IPv6 주소로설정되는경우가존재 상위도메인에는위임되는도메인에대한글루레코드 (glue record) 정보로써필요한네임서버의 IPv4 주소와 IPv6 주소를각각 A 타입레코드와 AAAA 타입레코드로설정 DNS 의기반네트워크환경에 IPv6 네트워크적용 상당한기간동안 IPv4 와 IPv6 가공존하는상태의네트워크환경에서 DNS 가설치, 운영될예정 기존의 IPv4 와새로운 IPv6 영역모두에게보편적으로동일한 DNS 서비스를제공하여야하는요구사항 DNS 도메인네임공간이 IPv4 와 IPv6 영역에의해분할되는일이발생하지않도록하는문제가가장중요 DNS 네임서버에존재하는도메인데이터베이스의트리구조상에상호연결성이파괴될위험상존 57

58 DNSv6 개요 (4) IPv4 -> IPv6 전환단계에서의주요이슈 58

59 DNSv6 개요 (5) DNS 도메인네임공간의연속성유지문제 59

60 DNSv6 개요 (6) IPv6 only 리커시브네임서버의리졸루션불능문제 60

61 DNSv6 개요 (7) IPv4 only 리커시브네임서버의리졸루션불능문제 61

62 DNSv6 개요 (8) IPv4 및 IPv6 환경에서의 DNS 체계구성방안 62

63 DNSv6 개요 (9) EDNS0 도입 루트도메인의 IPv6 주소를지정한위임설정은 512 바이트로제한된 DNS 메시지크기제한에의해기술적문제발생 이에대한해결책중하나가 EDNS0 DNS 프로토콜의확장을지정하는필드중에는 UDP 전송가능크기를 512 바이트이상으로지정하여 1024 바이트또는 2048 바이트등으로지정 현실적으로는전세계모든리졸버와네임서버가 EDNS 기능을지원하지는않고있다는점이문제점 IPv6 프로토콜변환방식으로인한문제 DNS 서버시스템과는직접적으로무관 DNS 질의에대한변환기능을사용하는전환기술이존재하고이에 DNS 메커니즘을활용하기때문에관련된사항 NAT-PT 네트워크나 RTR 네트워크를구성하는경우이에대한사항을시스템 OS 별로사전에확인할필요성존재 63

64 IPv6 DNS 시스템구성을위한 사전검토사항 네트워크 IPv6 네트워크구성여부결정 IPv6 연동방식결정 IPv6 주소확보방식결정 DNS 서버시스템 IPv6 지원플랫폼확인 IPv6 주소설정방식검토 IPv6 tunnel 지원항목확인 DNS Software IPv6 인터페이스지원여부확인 IPv6 확장 DNS 구현여부확인 기타 IPv6 관련제한사항확인 IPv6 전환기술 Pv6 전환기술사용여부결정 DNS-ALG 적용필요여부결정 64

65 IPv6 DNS 설치및구동 (1) IPv6 인터페이스에대해 DNS 서비스를제공해야하므로이에대한설정을 named.conf 파일에추가 options { directory "/var/named/"; pid-file "/var/run/named.pid"; listen-on-v6 { any;}; }; zone " in-addr.arpa" { type master; file "named.local"; }; zone " ip6.arpa" { type master; file "localhost.ipv6.zone"; }; zone "." { type hint; file "root.cache"; }; zone "example.co.kr" { type master; file "example.co.kr.zone"; }; 65

66 IPv6 DNS 설치및구동 (2) IPv6 루프백주소 '::1/128' 에대한리버스 (reverse) 도메인존 파일설정 파일명 : ip6.arpa $ORIGIN ip6.int. $TTL IN SOA localhost. root.localhost. ( ;Serial ;Refresh ( 6 hours) 1800 ;Retry (30 minutes) ;Expire (14 days) 86400) ;Minimum ( 1 day) IN NS rootdns.dnsv6.or.kr. 66 IN PTR localhost.

67 IPv6 DNS 설치및구동 (3) IPv6 DNS 도메인구성 IPv6 주소가포함된 example.co.kr. 존파일 $ORIGIN example.co.kr. $TTL IN SOA ns1.example.co.kr. admin.example.co.kr. ( ; serial ; Refresh (6 hours) 1800 ; Retry (30 min) ; expire (14 days) ; mininum (1 day) ) IN NS ns1 IN NS ns2 IN MX 10 mail ns1 IN A ns1 IN AAAA 2001:3b8:2a::100 ns2 IN A ns2 IN AAAA 2001:3b8:2a::200 www IN A www IN A www IN AAAA 2001:2b8:2a:1:a00:20ff:fed1:3e21 mail IN A

68 IPv6 DNS 설치및구동 (4) IPv6 주소가포함된 example.co.kr. 의리버스존파일 $ORIGIN a b ip6.arpa. $TTL IN SOA ns1.example.co.kr. admin.example.co.kr. ( ;Serial ;Refresh ( 6 hours) 1800 ;Retry (30 minutes) ;Expire (14 days) 86400) ;Minimum ( 1 day) IN NS ns1.example.co.kr. IN NS ns2.example.co.kr. $ORIGIN a b ip6.arpa IN PTR ns1.example.co.kr IN PTR ns2.example.co.kr. $ORIGIN a b ip6.arpa. 1.2.e.3.1.d.e.f.f.f a.0 IN PTR 68

69 IPv6 DNS 설치및구동 (5) 리버스존파일 named.conf 에반영 zone "a b ip6.arpa." { type master; file "2001.2b8.2a.ip6.rev.zone"; }; 69

70 IPv6 DNS FAQ (1) IPv6 인터페이스를가지고있는호스트를추가하려면? 영역파일에 AAAA RR을이용하여매핑정보입력예 : host-v6.example.co.kr. IN AAAA 124:4567:89ab:cdef:123:4567:89ab:cdef 리버스존파일 (f.e.d.c.b.a ip6.arpa) 에 PTR RR 추가 네임서버가 IPv6 인터페이스를통해들어온질의를처리하도록하려면? named.conf 파일설정예 : options { directory "/var/named" listen-on-v6 { any; }; } 포트번호설정예 : options { directory "/var/named" listen-on-v6 port 1053 { any; }; } 70

71 IPv6 DNS FAQ (2) 특정 IPv6 주소로부터질의를보내도록네임서버를설정하려면? 질의를보낼때이용할 IPv6 주소와포트설정가능 예 : options { } directory "/var/named" query-source-v6 address 222:10:2521:1:210:4bff:fe01:d32; 예 : options { } directory "/var/named" query-source-v6 address 222:10:2521:1:210:4bff:fe01:d32 port 5555; 71

72 IPv6 Socket Programming (1) Socket Address 구조체의변화 일반적인 Socket 구조체 struct sockaddr { uint8_t sa_len; sa_family_t sa_family; /* address family : AF_xxx */ char sa_data[14]; /* protocol specific address */ }; IPv4 Socket 구조체 struct in_addr { in_addr_t s_addr; }; struct sockaddr_in { uint8_t sin_len; /* length of structure */ sa_family_t sin_family; /* AF_INET */ in_port_t sin_port; /* 16-bit TCP or UDP port number */ struct in_addr sin_addr; /* 32-bit IPv4 address */ char sin_zero[8]; /* unused */ }; 72

73 IPv6 Socket Programming (2) IPv6 Socket 구조체 struct in6_addr { uint8_t s6_addr[16]; /* IPv6 address */ }; struct sockaddr_in6 { /* 4.3BSD-based system */ sa_family_t sin6_family; /* AF_INET6 */ in_port_t sin6_port; /* transport layer port # */ uint32_t sin6_flowinfo; /* IPv6 flow information */ struct in6_addr sin6_addr; /* IPv6 address */ uint32_t sin6_scope_id; /* set of interfaces for a scope */ }; struct sockaddr_in6 { /* 4.4BSD-based system */ uint8_t sin6_len; /* length of this struct */ sa_family_t sin6_family; /* AF_INET6 */ in_port_t sin6_port; /* transport layer port # */ uint32_t sin6_flowinfo; /* IPv6 flow information */ struct in6_addr sin6_addr; /* IPv6 address */ uint32_t sin6_scope_id; /* set of interfaces for a scope */ }; 73

74 IPv6 Socket Programming (3) IPv4 와 IPv6 소켓구조체비교 74

75 IPv6 Socket Programming (4) 소켓주소호환을위한새로운자료구조 struct sockaddr_storage : 특정 IP 버전에종속되지않는프로그램작성을위하여 sockaddr_storage 의사용이권고 /* * Desired design of maximum size and alignment */ #define _SS_MAXSIZE 128 /* Implementation specific max size */ #define _SS_ALIGNSIZE (sizeof (int64_t)) /* Implementation specific desired alignment */ 75

76 IPv6 Socket Programming (5) /* * Definitions used for sockaddr_storage structure paddings design. */ #define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof (sa_family_t)) #define _SS_PAD2SIZE (_SS_MAXSIZE - (sizeof (sa_family_t) + _SS_PAD1SIZE + _SS_ALIGNSIZE)) struct sockaddr_storage { sa_family_t ss_family; /* address family */ /* Following fields are implementation specific */ char ss_pad1[_ss_pad1size]; /* 6 byte pad, this is to make implementation /* specific pad up to alignment field that */ /* follows explicit in the data structure */ int64_t ss_align; /* field to force desired structure */ /* storage alignment */ char ss_pad2[_ss_pad2size]; /* 112 byte pad to achieve desired size, */ /* _SS_MAXSIZE value minus size of ss_family */ /* ss_pad1, ss_align fields is 112 */ }; 76

77 IPv6 Socket Programming (6) /* * Definitions used for sockaddr_storage structure paddings design. */ #define _SS_PAD1SIZE (_SS_ALIGNSIZE - (sizeof (uint8_t) + sizeof (sa_family_t)) #define _SS_PAD2SIZE (_SS_MAXSIZE - (sizeof (uint8_t) + sizeof (sa_family_t) + _SS_PAD1SIZE + _SS_ALIGNSIZE)) struct sockaddr_storage { uint8_t ss_len; /* address length */ sa_family_t ss_family; /* address family */ /* Following fields are implementation specific */ char ss_pad1[_ss_pad1size]; /* 6 byte pad, this is to make implementation /* specific pad up to alignment field that */ /* follows explicit in the data structure */ int64_t ss_align; /* field to force desired structure */ /* storage alignment */ char ss_pad2[_ss_pad2size]; /* 112 byte pad to achieve desired size, */ /* _SS_MAXSIZE value minus size of ss_len, */ /* ss_family, ss_pad1, ss_align fields is 112 */ }; 77

78 IPv6 Socket Programming (7) Socket 주소관련 API 변화 기존의 Socket 주소관련함수 #include <arpa/inet.h> in_addr_t inet_addr(const char *strptr); int inet_aton(const char *strptr, struct in_addr *addrptr); char *inet_ntoa(struct in_addr inaddr); 호스트이름들을얻기위한함수 #include <netdb.h> struct hostent *gethostbyname (const char *hostname); struct hostent { char *h_name; char **h_aliases; int h_addrtype; int h_length; char **h_addr_list; }; #define h_addr h_addr_list[0] 78

79 IPv6 Socket Programming (8) hostent 구조체 79

80 IPv6 Socket Programming (9) 추가된소켓주소관련함수 #include <sys/socket.h> #include <netdb.h> int getaddrinfo (const char *nodename, const char *servname, const struct addrinfo *hints, struct addrinfo **res); void freeaddrinfo(struct addrinfo *ai); char *gai_strerror(int error); struct addrinfo { int ai_flags; /* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST,.. */ int ai_family; /* AF_xxx */ int ai_socktype; /* SOCK_xxx */ int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ socklen_t ai_addrlen; /* length of ai_addr */ char *ai_canonname; /* canonical name for nodename */ struct sockaddr *ai_addr; /* binary address */ struct addrinfo *ai_next; /* next structure in linked list */ }; int getnameinfo (const struct sockaddr *sa, socklen_t salen, char *node, socklen_t nodelen, char *service, socklen_t servicelen, int flags); 80

81 IPv6 Socket Programming (10) addr_info 구조체 81

82 IPv6 Socket Programming (11) getaddrinfo( ) : 호스트이름과서비스이름을받아소켓주소와그와연관된정보들반환 freeaddrinfo( ) : getaddrinfo 함수가돌려주는 addrinfo 구조체를해제시키기위해추가 getnameinfo( ) : 소켓주소를받아노드이름과서비스이름반환 IPv4 의 inet_addr( ), inet_ntoa( ) 함수에대응하는두개의함수 inet_pton( ), inet_ntop( ) 추가 #include <arpa/inet.h> int inet_pton(int af, const char *src, void *dst); const char *inet_ntop(int af, const void *src, char *dst, socklen_t size); #define INET_ADDRSTRLEN 16 #define INET6_ADDRSTRLEN 46 82

83 IPv6 Socket Programming (12) 추가된 socket 주소테스트매크로 #include <netinet/in.h> int IN6_IS_ADDR_UNSPECIFIED (const struct in6_addr *); int IN6_IS_ADDR_LOOPBACK (const struct in6_addr *); int IN6_IS_ADDR_MULTICAST (const struct in6_addr *); int IN6_IS_ADDR_LINKLOCAL (const struct in6_addr *); int IN6_IS_ADDR_SITELOCAL (const struct in6_addr *); int IN6_IS_ADDR_V4MAPPED (const struct in6_addr *); int IN6_IS_ADDR_V4COMPAT (const struct in6_addr *); int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *); int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *); int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *); int IN6_IS_ADDR_MC_ORGLOCAL (const struct in6_addr *); int IN6_IS_ADDR_MC_GLOBAL (const struct in6_addr *); 83

84 IPv6 Socket Programming (13) IPv6 TCP Program header file sample6.h #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #define SERV_TCP_PORT 6000 #define SERV_HOST_ADDR "fe80::250:8bff:fe94:bf13" #define LOOPBACK_ADDR "::1" 84

85 IPv6 Socket Programming (14) IPv6 TCP Client Program Sample #include "sample6.h" main(int argc, char *argv[]) { int sockfd; struct sockaddr_in6 serv_addr; bzero((char *) &serv_addr, sizeof(serv_addr)); serv_addr.sin6_family = AF_INET6; inet_pton(af_inet6,serv_host_addr, &serv_addr.sin6_addr); /* inet_pton(af_inet6,loopback_addr, &serv_addr.sin6_addr); */ /* IPv6 loopback */ serv_addr.sin6_port = htons(serv_tcp_port); if ( (sockfd = socket(af_inet6, SOCK_STREAM, 0)) < 0) fprintf(stderr, "client: can't open stream socket"); /* 이하생략 */ 85

86 IPv6 Socket Programming (15) IPv6 TCP Server Program Sample #include "sample6.h" main(int argc, char *argv[]) { int sockfd, newsockfd, clilen, childpid; struct sockaddr_in6 cli_addr, serv_addr; if ( (sockfd = socket(af_inet6, SOCK_STREAM, 0)) < 0) fprintf(stderr,"server: can't open stream socket"); bzero((char *) &serv_addr, sizeof(serv_addr)); serv_addr.sin6_family = AF_INET6; serv_addr.sin6_addr = in6addr_any; serv_addr.sin6_port = htons(serv_tcp_port); if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) fprintf(stderr,"server: can't bind local address"); listen(sockfd, 5); /* 이하생략 */ 86

87 IPv6 Socket Programming (16) UNIX 계열에서 getaddrinfo() 이용예제 #include <ctype.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> main(int argc, char *argv[]) { struct addrinfo hints, *result; struct addrinfo *tmp; int err_code; if (argc < 3) { fprintf(stderr, "usage : %s hostname service [6 4]\n", argv[0]); exit(1); } 87

88 IPv6 Socket Programming (17) memset(&hints, 0, sizeof(hints)); hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = IPPROTO_TCP; if (isalpha(argv[1][0])) { hints.ai_flags = AI_CANONNAME; } else { hints.ai_flags = AI_NUMERICHOST; } if (argc > 3) { if (strcmp(argv[3], "6") == 0) { hints.ai_family = AF_INET6; } else { hints.ai_family = AF_INET; } } else { hints.ai_family = AF_UNSPEC; } 88

89 IPv6 Socket Programming (18) if (err_code = getaddrinfo(argv[1], argv[2], &hints, &result)) { fprintf(stderr, "error in getaddrinfo() : %s\n", gai_strerror(err_code)); exit(2); } if (result->ai_canonname) { printf("canonnical name : %s\n", result->ai_canonname); } for(tmp = result->ai_next; tmp; tmp = tmp->ai_next) { printf("canonnical name : %s\n", result->ai_next->ai_canonname); } freeaddrinfo(result); } 89

90 IPv6 Socket Programming (19) IP 버전에독립적인 UNIX TCP 클라이언트 #include <stdio.h> #include <ctype.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> #define MAXLINE 1024 int main(int argc, char *argv[]) { struct addrinfo hints, *result; struct addrinfo *tmp; int err_code; int sockfd; char buf[maxline]; int n; 90

91 IPv6 Socket Programming (20) if (argc < 3) { fprintf(stderr, "usage : %s hostname port_no\n", argv[0]); exit(1); } memset(&hints, 0, sizeof(hints)); hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = IPPROTO_TCP; if (isalpha(argv[1][0])) { hints.ai_flags = AI_CANONNAME; } else { hints.ai_flags = AI_NUMERICHOST; } hints.ai_family = AF_UNSPEC; if (err_code = getaddrinfo(argv[1], argv[2], &hints, &result)) { fprintf(stderr, "error in getaddrinfo() : %s\n", gai_strerror(err_code)); 91

92 IPv6 Socket Programming (21) exit(2); } print_addr_info(result); for (tmp = result; tmp; tmp = tmp->ai_next) { if ((sockfd = socket(tmp->ai_family, tmp->ai_socktype, tmp->ai_protocol)) <= 0) { fprintf(stderr, "error in socket()\n"); } else { err_code = connect(sockfd, tmp->ai_addr, tmp->ai_addrlen); if (err_code < 0) { fprintf(stderr, "error in connect()\n"); } else { /* client process */ /* 키보드입력을소켓을통해서버로전달 */ /* 소켓으로온서버응답을화면에출력 */ 92

93 IPv6 Socket Programming (22) while(fgets(buf, MAXLINE, stdin)) { write(sockfd, buf, strlen(buf)); n = read(sockfd, buf, MAXLINE); if (n <= 0) { fprintf(stderr, "end of connection or read error\n"); break; } else { buf[n] = '\0'; fputs(buf, stdout); } } } break; /* 정상적인연결이므로반복탈출 */ } /* 연결이안된경우다음주소로다시시도 */ } freeaddrinfo(result); close(sockfd); } 93

94 Dual stack IPv6 server 의서비스 제공 94

95 UNIX 계열에서수신된 IPv4/IPv6 데이터그램처리 95

96 UNIX 계열에서요청된 IPv4/IPv6 데이터그램처리 96

97 4. DNS 보안강화 DNS 보안위협분석 DNSSEC 관련주요용어정의 DNSSEC 구성요소및기본구조 기존 Security-Oblivious DNS 와의공존체계 DNSSEC 과 EDNS0 의 UDP payload size NSEC RR 관련문제 DNSSEC 에서의서명및검증 DNSSEC RR 포맷및기능 도메인에대한 DNSSEC 적용 DNSSEC 응답사례에대한분석 현시점에서 DNSSEC 도입시문제점 TSIG, SIG(0) 97

98 DNS 보안위협분석 (1) 배경 1993 년 28th IETF 회의에서처음논의 28th IETF 회의합의사항 일부참여자가 DNS 데이터가권한이없는사용자에게도공개되는문제를방어하기를제안했으나 DNS 데이터자체가 public 이므로이에대한대책은강구하지않기로결정 일부참여자가접근제한에기반을둔 DNS 클라이언트와서버의인증에관심을보였으나이것도 DNSSEC 의영역밖으로합의 DNSSEC 에서제공하고자하는보안서비스 데이터무결성 (integrity) 데이터근원지인증 (authentication) 앞서언급한서비스는디지털서명으로가능하리라고결론 채널보안을지원하는 TKEY, TSIG 메커니즘은 DNSSEC 과는별도로추진 98

99 DNS 보안위협분석 (2) 알려진위협 패킷가로채기 (Packet Interception) 가장간단한공격유형으로, monkey-in-the-middle 공격등이대표적 원인 : DNS 가전체질의 / 응답메시지를주고받을때, 전혀암호화되지않은 UDP 패킷을사용하기때문 TSIG 나 IPSec 과같은채널보안메커니즘을이용할수있으나 DNS 메시지당처리비용이커지고홉마다이를확인하려면전체비용이급격히커지는문제 : 종단간데이터무결성을확인하는 DNSSEC 을적용하면적절한비용에가능 DNSSEC 을적용해도 DNS 메시지헤더의수정에취약하므로다음방법적용고려 DNSSEC 서명확인작업수행 TSIG 이용패킷마다재서명 ID 추측과질의예측 (ID Guessing and Query Prediction) DNS 헤더의 ID 필드는 16 비트로구성되고 DNS 서비스가잘알려진포트를이용하므로, 대입법 (Brute force search) 을통해서값추측가능 ID 외에도 QNAME 과 QTYPE 을같이추측해야공격이가능 서버에대한인증메커니즘으로방어가능 99

100 DNS 보안위협분석 (3) 이름체인 (Name Chaining) 캐쉬오염 (cache poisoning) 공격이라고부르는이름기반공격의일부 공격자가피공격자의캐쉬에특정 RRs 를위 변조하여악의적인데이터를공급함으로써잠재적으로 DNS 이름을기반으로하는뒤이은오퍼레이션들에대한잘못된판단을유발 신뢰받는서버로위장 (Betrayal By Trusted Server) 패킷가로채기공격의변형 신뢰받는서버가사고나혹은의도된조작으로인해리졸버나다른서버로부터신뢰를상실하게되는것 서비스거부 (Denial of Service) 일반적인네트워크서비스와동일하게 DoS 에취약 도메인이름에대한인증된거부 (Authenticated Denial of Domain Names) 지속적으로잘못입력되는이름에대한 RR 을캐쉬 (Neg Cache) 하는경우악의적인목적에의해존재하는도메인이름에대해서속임수의의미를갖는 NULL 응답은캐쉬오염등의추가적취약성까지발생 와일드카드 (Wildcards) 와일드카드를이용하는도메인이름에대한데이터무결성과근원지인증문제 100

101 DNS 보안위협분석 (4) DNSSEC 의약점 구현하기에복잡하고매우조심스럽게코딩해야하는어려운경우들이존재 DNS 응답패킷의크기증가 -> DoS 공격의증폭기역할을할가능성이큼 DNSSEC 응답의확인과정은리졸버의작업부하를증가 DNSSEC 의신뢰모델도계층적구조 : 루트와해당도메인네임사이의어느한존에서문제가발생하면결국전체의신뢰가깨짐 루트에서의키갱신설정 (rollover) 이어려움 DNSSEC 서명생성과이를이용한확인작업사이에는느슨한시간동기메커니즘이필요 존에서의와일드카드 RR 존재는인증을더욱복잡하게함 DNSSEC 을적용하더라도신뢰받는서버로위장하는공격등에는취약 101

102 DNSSEC 관련주요용어정의 (1) 네임서버, 리졸버관련용어 Security-Oblivious Name Server : DNSSEC 을인식하지못하는일반 name server Security-Aware Name Server : DNSSEC 표준사항을인식하는 name server 구현요건 : DNS 질의수신 ( 기본 DNS 기능 ) DNS 응답송출 ( 기본 DNS 기능 ) EDNS0 메시지크기확장옵션지원 DO bit 지원 DNSSEC RR 및메시지헤더 bit 지원 Authoritative name server 만을의미하는것이아니라, Recursive name server 의 name server 기능부분도포함 Security-Oblivious Resolver : DNSSEC 을인식하지못하는일반 resolver 102

103 DNSSEC 관련주요용어정의 (2) Security-Aware Resolver : DNSSEC 표준사항을인식하는 resolver 구현요건 : DNS 질의송출 ( 기본 DNS 기능 ) DNS 응답수신 ( 기본 DNS 기능 ) EDNS0 메시지크기확장옵션지원 DO bit 지원 DNSSEC RR 및메시지헤더 bit 지원 stub-resolver 포함 Security-Aware Stub Resolver : DNSSEC 표준사항을인식하는 stub-resolver Non-Validating Security-Aware Stub Resolver : Security-Aware Stub Resolver 중에서자신스스로서명검증 (validation) 을수행하지않고, Security-Aware Recursive 네임서버에서명검증을의존하는 stub-resolver. 구현요건 : DNS 질의송출 ( 기본 DNS 기능 ) DNS 응답수신 ( 기본 DNS 기능 ) Security-aware Recursive 네임서버와적절한 secured channel 설정가능 103

104 DNSSEC 관련주요용어정의 (3) Validating Security-Aware Stub Resolver : Security-Aware Stub Resolver 중에서자신스스로서명검증 (validation) 을수행하는 stub-resolver. 용어 "Validating Stub Resolver" 와동일 Recursive Name Server : Name Server 기능 과 Resolver" 기능이결합된요소 사용자단말의 DNS 질의를수신하는포트 53 에 binding 되어있는 name server' 기능과 name server 가참조하는 cache 를관리하고업데이트하는 resolver' 기능으로구성 사용자단말의 stub-resolver 와통신하는기능은 Recursive Name Server 의 name server' 기능 Security-Oblivious Recursive Name Server : DNSSEC 을인식하지못하는일반 recursive name server Security-Aware Recursive Name Server : Security-Aware Name Server 와 Security-Aware Resolver 기능으로구성된 DNS 요소 a Security-Aware Name Server that offers recursive service 라고도표기 104

105 DNSSEC 관련주요용어정의 (4) Zone 및위임포인트관련용어 Unsigned Zone : DNSSEC 을적용하지않은일반도메인존 Signed Zone : 도메인존내의 RR set 들이서명되고, DNSKEY, RRSIG, NSEC RR 과경우에따라 DS RR 을가지고있는, DNSSEC 이적용된도메인존 Zone Apex : 자식존 (child zone) 에서의존도메인네임 (zone domain name) 자식존입장에서의 'zone cut' 예 : or.kr 존에서 nida.or.kr 존으로위임받는경우, nida.or.kr 존에 SOA RR 로설정된 nida.or.kr 도메인네임이 Zone Apex Delegation Point : 부모존에서자식존으로위임하는자식존의존도메인네임 (zone domain name) 부모존입장에서의 zone cut 예 : or.kr 존에서 nida.or.kr 존으로위임하는경우, or.kr 존에설정된 nida.or.kr 도메인네임이 Delegation Point 105

106 DNSSEC 관련주요용어정의 (5) Authoritative RRset : 특정존 (zone) 내에서, 그도메인네임이 Zone Apex 이하, 그리고자식존으로위임되는 zone cut 이상의영역에속하는경우, 이도메인네임의 RR set 을 authoritative RR set 이라고함 DNSSEC Public Key 관련용어 Authentication Key : Security-Aware Resolver 가검증 (verification) 한 Public Key 로써 Resolver 가 DNS 데이터인증 (authentication) 에사용하게되는 Public Key Authentication Key 에는다음의 2 가지가있음 Zone Signing Key (ZSK) Key Signing Key (KSK) Zone Signing Key (ZSK) : 존 (zone) 을서명한 Private Key 에대응하는 Authentication Key (Public Key) ZSK 의대응 Private Key 는도메인존이 소유하는 모든도메인네임의 RR set 을대상으로서명 도메인존이소유하지않는, Delegation Point 에해당하는자식도메인네임의 NS RR set 은서명하지않음 106

107 DNSSEC 관련주요용어정의 (6) Key Signing Key (KSK) : 대상존 (zone) 의하나또는여러개의 Authentication Key 를서명한 Private Key 에대응하는 Authentication Key (Public Key) KSK 의대응 Private Key 는도메인존의 ZSK 데이터를갖는 DNSKEY RR set 을서명 Trust Anchor : Resolver 에설정되는 DNSKEY RR 또는 DNSKEY RR 의 DS RR 해쉬 (hash) 데이터 Validating Secure-Aware Resolver 는이 Public Key(DNSKEY RR 의 KSK) 또는 hash(ds RR 의 hash data) 를 DNS 응답메시지의서명된데이터에대한인증체인 (authentiacation chain) 을구축하는출발점 (starting point) 으로사용 Validating Resolver 는이 Trust Anchor 의초기값을 DNS 프로토콜을사용하지않고, 별도의보안적용된방식을사용하여설정해야함 Authentication Chain : DNS Public Key(DNSKEY RR) RR set 과 Delegation Signer (DS) RR set 이교대로순서지어형성하는서명된데이터의체인 (chain) 으로써, 각체인은다음체인을보증하는역할을함 107

108 DNSSEC 구성요소및기본구조 Security-Oblivious Recursive Name Server Security-Oblivious Name Server Port 53 Security-Oblivious Resolver Security-Oblivious Name Server Port 53 Security-Oblivious Stub Resolver Security-Aware Name Server Port 53 DNSSEC 적용 Security-Aware Recursive Name Server Security-Aware Resolver Security-Aware Name Server Port 53 Security-Aware Stub Resolver Validating Security-Aware Stub Resolver Security-Aware Stub Resolver Non-Validating Security-Aware Stub Resolver 108

109 기존 Security-Oblivious DNS 와의 공존체계 (1) 기존 Security-Oblivious DNS 와 Security- Aware DNS 는공존가능 Security-Aware DNS 구성요소는 Security- Oblivious DNS 구성요소를인지하고이들과통신하는경우, Security-Oblivious DNS 질의응답절차에따라동작 Resolver 의 DNS 질의메시지에 EDNS0 "DNSSEC OK" flag bit(do bit) 의세팅여부에의해 Security-Aware Resolver 여부를판별하고응답방식결정, 처리 109

110 기존 Security-Oblivious DNS 와의 Security-Oblivious Name Server Port 53 공존체계 (2) Security-Oblivious Recursive Name Server Security-Oblivious Resolver Security-Oblivious Name Server Port 53 Security-Oblivious Stub Resolver Security-Aware Name Server Port 53 Security-Aware Recursive Name Server Security-Aware Resolver Security-Aware Name Server Port 53 Security-Aware Stub Resolver Validating Security-Aware Stub Resolver Security-Aware Stub Resolver Non-Validating Security-Aware Stub Resolver 110

111 기존 Security-Oblivious DNS 와의 공존체계 (3) DNSSEC OK bit 설정질의응답예 : C:\>dig +multi +dnssec a ; <<>> DiG <<>> +multi +dnssec a ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1085 ;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags: do; udp: 4096 ;; QUESTION SECTION: ; IN A ;; AUTHORITY SECTION: nic.se IN NS ns.nic.se. nic.se IN NS ns2.nic.se. nic.se IN NSEC nic-demo.se. NS RRSIG NSEC nic.se IN RRSIG NSEC ( se. irf19flxxdhnmkd0qhj37cn/vjkvx/5wc7j8afz581td LKngu+fhNAiPcTNYhTr2cmWanVgEy0OHXr6gRPIYVgVe 6ufSoAg46509f1OoKu6FZC+i31GSNzxpFQxWpLvimnug 2TiK3EigvF0GPhTktDsZ3JUmEg+8DmY/tEfMI/w= ) 111

112 기존 Security-Oblivious DNS 와의 공존체계 (4) DNSSEC OK bit 설정하지않은질의응답예 : 일반 DNS 질의응답 C:\>dig +multi a ; <<>> DiG <<>> +multi a ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1483 ;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ; IN A ;; AUTHORITY SECTION: nic.se IN NS ns2.nic.se. nic.se IN NS ns.nic.se. ;; ADDITIONAL SECTION: ns.nic.se IN A ns2.nic.se IN A ;; Query time: 390 msec ;; SERVER: #53( ) ;; WHEN: Mon Jun 26 11:54: ;; MSG SIZE rcvd:

113 DNSSEC 과 EDNS0 의 UDP payload size (1) EDNS0 의 sender's UDP payload size 필드 CLASS 필드해당필드에 The sender's UDP payload size 값설정 설정값범위 : 0 ~ 65,535 Resolver 와 Name Server 가각각자신이수신할수있는 UDP payload size 값표시 DNSSEC 에서의 sender's UDP payload size 필드값설정규정 Security-Aware Resolver 와 Security-Aware Name Server 최소한 1220 octets 의메시지사이즈를반드시 (MUST) 지원해야 4000 octets 의메시지사이즈지원이가능해야함 (SHOULD) sender's UDP payload size 값에따른응답 DNS 메시지 충분히크게설정한경우, 네임서버는 IP Fragment 메커니즘을사용, 다수의 UDP 패킷에걸쳐전체응답메시지전달 113

114 DNSSEC 과 EDNS0 의 UDP payload size (2) Answer Section 과 Authority Section 에충분한 RR 정보를설정하여응답하지못할정도의작은값일경우, Truncation bit 설정, Resolver 에서 TCP 연결을통한 DNS 재질의발생 UDP payload size 가 Answer Section 과 Authority Section 에충분한 RR 정보를설정할수있으나, Additional Section 에모든 RR 을설정할수없는경우에는 Additional Section 의일부 RR 를생략하여지정된값에근접한크기의 DNS 응답메시지전달 sender's UDP payload size 값에따른존파일설정고려사항 UDP payload size 는최소 1220 octets 에서약 4000 octet 까지지원하도록규정되므로, 네임서버에서의응답메시지가 Additional Section 을제외하여가능한한 1220 octet 이내의 size 를갖도록존파일설정필요 114

115 NSEC RR 관련문제 NSEC walking problem NSEC RR 에의해존재하는도메인과존재하지않는도메인정보를 Recursive 네임서버에제공할수있는데, 이를통해해당도메인존 (domain zone) 에설정된모든도메인네임정보를용이하게파악할수있음 ("DNSWalk 문제 ) 도메인네임정보보호를위해 AXFR/IXFR 질의를차단하는설정을하는것이일반적인데, DNSSEC 을적용하면 NSEC RR 을질의를통해도메인존 (zone) 의전체도메인네임을파악할수있게되어오히려보안이더취약해짐 EU 에서는 DNSSEC 적용이 EU 의 Privacy 정책에위배되는지검토 (2003 년 ) RFC4033, RFC4034, RFC4035 문서의 NSEC RR 규정을수정또는새로운 RR 을정의하려문제를해결하려하고있음. ( 수정방식 : RFC4470, 새로운 RR 방식 : NSEC3) RFC4034 에서는 NSEC RR 을도메인존전체에대해적용하도록규정되어있으나, RFC4470 은이를변경하여, authoritative 네임서버가필요시 NSEC RR 을생성, 서명하여응답하는방식을사용하여 NSEC RR 조회를통한전체도메인조회를용이하지않게하는방식제시 115

116 DNSSEC 에서의서명및검증 (1) DNSSEC 의공개키암호방식의적용방식 키생성및관리주체 : 도메인관리자 / 관리기관 상위부모도메인관리자가자식도메인에대한키를생성하거나관리하는일이없음 각도메인단위로키관리가독립적으로이루어짐 공개키 (public key) 배포방식 : DNSSEC 의 DNSKEY RR 에포함공개배포 DNSKEY RR 의 RDATA 필드중에서 Public Key" 필드에공개키 (public key) 저장 공개키에는 2 가지종류가있음 : ZSK 와 KSK DNSSEC 도메인구성상, 2 쌍의키를생성, 적용함 ZSK : Zone Signing Key, 도메인존데이터의서명을검증하기위해사용되는 Public Key KSK : ZSK 를포함하는 DNSKEY RR 에대한서명을검증하기위해사용되는 Public Key (ZSK 에대한서명검증목적 ) 비밀키 (private key) : 도메인관리자 / 관리기관이보안관리 비밀키는외부에노출되거나, 전송되는경우가없어야함 116

117 DNSSEC 에서의서명및검증 (2) 서명데이터 : DNSSEC 의 RRSIG RR 에포함 RRSIG RR 의 RDATA 중 Signature" 필드에해당서명 (signature) 저장 도메인 Public Key 에대한인증 (Certificate) : 부모도메인 DS RR 의 digest 값설정 도메인의 Public Key 는다시상위부모도메인에서인증 (Certificate) 제공 DS(Delegation Signer) RR 의 RDATA 필드중 Digest" 필드에자식도메인의 DNSSKEY RR 의 owner name 과 RDATA 에대한 digest 값설정 DS RR 은다시부모도메인에의해존서명을위한비밀키 (private key) 로서명됨 DNSSEC 에서의키생성 DNSSEC 에서는보통 2 개의 Key Pair 을생성 ZSK 를위한 Key Pair KSK 를위한 Key Pair ZSK 를위한 Key Pair 중비밀키 (private key) 는 Zone 의모든 RR set 데이터에대해서명 KSK 를위한 Kay Pair 중비밀키 (private key) 는 Zone 의 DNSKEY RR set 에대해서만서명 117

118 DNSSEC 에서의서명및검증 (3) DNSSEC 에서의키생성절차 118

119 DNSSEC 에서의서명및검증 (4) DNSSEC 에서의 RR set 에대한서명 (Signing) 개요 서명은서명대상 <RR set> 단위로서명수행 서명대상데이터는단순히 <RR set> 에한정하는것이아니라, <Signature 필드를제외한 RRSIG RDATA> 와 <RR set> 데이터를합한데이터를대상으로함 서명을수행하기이전에 RRSIG RR 각필드값을채운후에서명절차수행 서명데이터는 RRSIG RR 의 RDATA 필드 "Signature" 에설정 하나의 <RR set> 에대하여하나의 RRSIG RR 생성, 설정 119

120 DNSSEC 에서의서명및검증 (5) RR SIG RDATA 및서명생성절차 120

121 DNSSEC 에서의서명및검증 (6) DNSSEC 에서의 RRSIG RR 서명에대한검증 (Verification) Resolver 에서 RRSIG RR 의서명에대한검증수행 서명대상 RRSIG RR 의 Signature 필드제외부분과 <RR set> 을합한서명대상데이터를추출하고, 이데이터에대해 Hash 알고리듬을적용하여 digest 값을추출 RRSIG RR 의 Signature 필드에설정된서명데이터에대해 Zone 의 DNSKEY RR 의 "Public Key" 필드에지정된 ZSK 값으로암호해독 (Decryption) 수행, digest 값복구 <RRSIG RR 의 RDATA(Signature 제외 > 와 <RR set> 에서직접계산한 digest 값과 RRSIG RR 의 Signature 를암호해독하여얻은 digest 값을상호비교, 일치여부확인 두개의값이일치하는경우, 서명이검증된것임 121

122 DNSSEC 에서의서명및검증 (7) RRSIG RR 서명검증절차 122

123 DNSSEC 에서의서명및검증 (8) DNSSEC 에서의 DS RR 설정 도메인존의상위부모도메인에 DS RR 을설정함으로써인증체인 ( Authentication Chain) 구성 자식도메인의 KSK 를포함하는 DNSKEY RR 에대해부모도메인에서 digest 값을제공, 자식도메인의 DNSKEY RR(KSK) 에대한인증 (Certificate) 효과제공 자식도메인의 DNSKEY RR(KSK) 의 <"owner name" 필드 > 와 <RDATA 필드전체 > 를합하여처리대상데이터를만들고이에대하여 Hash 알고리즘을적용, Digest 값을산출, 산출된 digest 값을 DS RR 에설정 DS RR 은부모도메인의 ZSK 를위한 Key Pair 중비밀키 (private key) 에의해서명되어 DS RR 에대한 RRSIG RR 을생성, 설정함 DS RR 에대한서명이이루어짐으로써, 자식도메인 DNSKEY RR(KSK) 에대한부모도메인에서의서명이 RRSIG RR 에의해제공됨 123

124 DNSSEC 에서의서명및검증 (9) 인증체인구성절차 124

125 DNSSEC RR 포맷및기능 (1) RRSIG RR 도메인데이터에대한서명 (signature) 을 Signature" 필드에저장제공 도메인내각도메인네임의 RR set 단위로서명하고, 서명을해당도메인네임에대한 RRSIG RR 로생성하여제공 각도메인네임의 RR set 에대해 private key 로서명하여생성되는하나의 RRSIG RR 생성 Zone Apex 네임에대한 DNSKEY RR set 에대해서는 2 개이상의 RRSIG RR 존재가능 ZSK 대응 private key 에의해서명된서명을갖는 RRSIG RR KSK 대응 private key 에의해서명된서명을갖는 RRSIG RR 서명대상도메인데이터 : 도메인존이소유하는도메인데이터 자식존에대한위임설정을표시하는자식존의 delegation point 에대한 NS RR set 에대해서는부모존의 private key 로서명하지않음 125

126 DNSSEC RR 포맷및기능 (2) DNSSEC 위임설정예 : RIPE.NET 도메인존파일내용 : 자식도메인 ris.ripe.net 에대한위임설정부분 ris.ripe.net IN NS sec1.apnic.net. ris.ripe.net IN NS ns-pri.ripe.net. ris.ripe.net IN NSEC ris-install.ripe.net. NS DS RRSIG NSEC ris.ripe.net IN RRSIG NSEC ( ripe.net. WtTRoocV6c/fe2HejFcMjrKAJTBifsFJ7bjKcOfL0inO tpjnqv9gd2entxzxdclb7vjkpgij9fciu12qybibrnkg dtgvth+hj8t3oiniqfjwwngkdisbpi5hmum6/gpi2ult UaGXbQzJSFLoi0ixR3t51UUDjOjfiGTAhx+R0dwGGfPs Xf4/F6hcX7Z22rSxG2Je2iBC ) ris.ripe.net. 0 IN DS ( 8F4ECC B9CA87B62A3F33FADD3502ED907 ) ris.ripe.net. 0 IN RRSIG DS ( ripe.net. dkorbvjzs93furlf1tkbm17t3polnltonfvvwpy39q8n lxmqafydwefsbfrwbsj6btm0l5pf6uelldnsvhbx5ndf sf0kslgiikdd1d3lwzz0tjqhcybyfwzzl1cieknxjd9f bkachnzna4rx2kklhkj56cc6z0+jibwnq9qbqmzhmbif DdgOyQZkiZgw0Hd6YPTJIOEj ) 126

127 DNSSEC RR 포맷및기능 (3) RRSIG RR 형식 127

128 DNSSEC RR 포맷및기능 (4) RRSIG RR 데이터예 C:\Bin>dig +dnssec +cd a ; <<>> DiG <<>> +dnssec +cd a ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 654 ;; flags: qr rd ra cd; QUERY: 1, ANSWER: 4, AUTHORITY: 6, ADDITIONAL: 13 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags: do; udp: 4096 ;; QUESTION SECTION: ; IN A ;; ANSWER SECTION: IN CNAME kite IN RRSIG CNAME ( ripe.net. LG6vItgoN9hwb3b+3WoFcFBvbsOfyDe+nx9BCcexJlPE BbmJeD/Wyzrp47sSmrlQ/RZRF3/FqkVXuvZ0BXjnOod9 DMP8BO+69Afv+9rIjZTGNnA4CVsCZw3Lep3b26Y5nVtH VVqs1lAdeltCimR76RDX0MYwy2gAzxFuggwk4EhXch4z ZFpzHJhiA1qAxgpFNXYn//gy ) 128

129 DNSSEC RR 포맷및기능 (5) kite- 의 A RR set 에대한 RRSIG RR 필드분석 129

130 DNSSEC RR 포맷및기능 (6) RRSIG RR 의필드데이터를사용한서명검증 RRSIG RR 의필드중서명검증에사용할 ZSK 를가진 DNSKEY RR 을파악하는데결정적인역할을하는필드는 Key Tag" 필드 Signer's Name 에의해 Zone Apex 도메인네임을확인하여그 DNSKEY RR Set 을파악 Key Tag" 필드의값과일치하는 "Key Tag" 값을가지는 DNSKEY RR 이서명검증에적용될 DNSKEY RR DNSKEY RR 의 Flags 필드값은서명검증을위한 DNSKEY RR 을파악하는데에이용되는기준이될수없음 존서명 (Zone Signing) 절차에서참조하기위한필드 130

131 DNSSEC RR 포맷및기능 (7) RRSIG RR 과 DNSKEY RR 관계 131

132 DNSSEC RR 포맷및기능 (8) DNSKEY RR DNSKEY RR 포맷 132

133 DNSSEC RR 포맷및기능 (9) ripe.net 의 DNSKEY RR 필드분석 ripe.net" 의경우와같이, DNSKEY RR 이 KSK 에대해서 1 개 RR, ZSK 에대해서 2 개 RR 이존재하는경우가가능 이경우에도 DNS 데이터의서명검증을위해사용될수있는 ZSK 의 DNSKEY RR 은오직 1 개 다른 DNSKEY RR 은향후의 ZSK Roll-over 동작을대비하여설정해둔예비 DNSKEY RR ripe.net 의 DNSKEY RR 예 133

134 DNSSEC RR 포맷및기능 (10) 134

135 DNSSEC RR 포맷및기능 (11) Zone Apex DNSKEY RR Set 에대한서명및 RRSIG RR 생성 서명에사용된 private key 개수만큼 RRSIG RR 이존재 DNSKEY RR Set 은존데이터의하나이므로, ZSK 대응 private key 에의해서명되어 RRSIG RR 이하나생성 KSK 대응 private key 에의해 DNSKEY RR Set 이서명되어다시 RRSIG RR 이하나더생성되어적용 이두개의 private key 에의해서명된각각의 RRSIG RR 을서로구분하기위해서는 RRSIG RR 의 "Key Tag" 필드값에지정된 Key Tag(Key ID)" 값에일치하는 DNSKEY RR 을매칭함으로써가능 RR SIG 구별예 135

136 DNSSEC RR 포맷및기능 (12) 136

137 DNSSEC RR 포맷및기능 (13) DS RR DS RR 포맷 137

138 DNSSEC RR 포맷및기능 (14) DS RR 예 부모도메인 (ripe.net) 에서응답하는자식도메인 (ris.ripe.net) 에대한 DS RR 138

139 DNSSEC RR 포맷및기능 (15) 자식도메인 (ris.ripe.net) 에서의 Zone Apex DNSKEY RR 139

140 DNSSEC RR 포맷및기능 (16) DS RR 필드분석예 140

141 DNSSEC RR 포맷및기능 (17) NSEC RR NSEC RR 포맷 141

142 DNSSEC RR 포맷및기능 (18) NSEC RR 예 : 존재하지않는도메인네임에대한질의, 존재하지않는타입에대한질의 142

143 DNSSEC RR 포맷및기능 (19) NSEC RR 필드분석예 143

144 도메인에대한 DNSSEC 적용 (1) 도메인에대한 DNSSEC 설정절차 원본도메인존파일작성 해당도메인존의 Apex Zone Name 에대한 Key Pair 생성 (ZSK 와 KSK 해당 Key Pair) Key Pair 중 Public Key 해당 DNSKEY RR 데이터를도메인존파일에반영 해당도메인존파일에대한존서명 (Zone Signing) DNS 서버에서명된도메인존반영 만일, 해당도메인이 DNSSEC 영역의 Top Domain 이라면, 도메인의 DNSKEY RR 데이터를 Trust Anchor 데이터로배포, Recursive 네임서버에설정 만일, 해당도메인이 DNSSEC 영역의 Top Domain 이아니라면, DS RR 데이터를상위부모도메인존파일에반영하고, 상위부모도메인에대한존서명 (Zone Signing) 후에 DNS 에반영 144

145 도메인에대한 DNSSEC 적용 (2) 145

146 도메인에대한 DNSSEC 적용 (3) DNSSEC 적용절차에따른사용 Tool 도메인존파일작성 존파일수작업작성, 또는도메인존파일자동생성기 named-checkzone : 존파일문법오류체크 Key Pair 생성 dnssec-keygen : Key Pair 생성 tool 산출파일 : K<name>+<alg>+<id>.key : 공개키 K<name>+<alg>+<id>.private : 비밀키 Public Key(DNSKEY) 의존파일반영 수작업작성또는도메인존파일자동생성기 존파일에서 $INCLUDE 문을사용, K<name>+<alg>+<id>.key 파일을 include 시킴 존서명 (Zone Signing) dnssec-signzone : 존파일서명 tool 입력파일 : 산출파일 : Zone File K<name>+<alg>+<id>.key (ZSK 해당 ) K<name>+<alg>+<id>.key (KSK 해당 ) < 원본존파일명 >.signed : 서명된존파일 dsset-<name> : DS RR 파일 (KSK DNSKEY 대응 ) keyset-<name> : DNSKEY RR 파일 (KSK DNSKEY) 146

147 도메인에대한 DNSSEC 적용 (4) DNS 서버에서명된존반영 수작업반영, 또는자동반영처리기 매스터 DNS 서버의 named.conf 파일에서 zone file 옵션에서명된존파일명으로지정 DNS 서버에대해해당 configuration 파일을다시읽어반영토록명령 rndc reconfig Recursive 네임서버의 Trust Anchor 설정 Recursive 네임서버의 named.conf 파일에 "trusted-key" 옵션사용 Trust Anchor 설정 부모존의 DS RR 반영 부모존파일 ( 원본존파일 ) 에 $INCLUDE 문을사용, DS RR 에대한파일 (dsset-<name>) 을반영하도록작성 부모존파일 ( 원본존파일 ) 에대한존서명 (Zone Signing) DNS 서버에해당존을 reload 반영처리 147

148 도메인에대한 DNSSEC 적용 (5) Key Pair 생성절차 dnssec-keygen 사용개요 Usage: dnssec-keygen -a alg -b bits -n type [options] name Version: Required options: -a algorithm: RSA RSAMD5 DH DSA RSASHA1 HMAC-MD5 -b key size, in bits: RSAMD5: [ ] RSASHA1: [ ] DH: [ ] DSA: [ ] and divisible by 64 HMAC-MD5: [1..512] -n nametype: ZONE HOST ENTITY USER OTHER name: owner of the key Other options: -c <class> (default: IN) -e use large exponent (RSAMD5/RSASHA1 only) -f keyflag: KSK -g <generator> use specified generator (DH only) -t <type>: AUTHCONF NOAUTHCONF NOAUTH NOCONF (default: AUTHCONF) -p <protocol>: default: 3 [dnssec] -s <strength> strength value this key signs DNS records with (default: 0) -r <randomdev>: a file containing random data -v <verbose level> -k : generate a TYPE=KEY key Output: K<name>+<alg>+<id>.key, K<name>+<alg>+<id>.private 148

149 도메인에대한 DNSSEC 적용 (6) dnssec-keygen 유틸리티의 DNSSEC 키생성을위한사용방법개요 "-a algorithm" : DNSSEC 에사용하는 Key 의알고리즘지정 ( 필수 ) DNSKEY RR 의 "Algorithm" 필드및 RRSIG 의 "Algorithm" 필드와관련 (RSASHA1 의경우 "Algorithm" 값은 5) DS RR 의 Digest Type" 필드값과관련 (RSASHA1 인경우, Digest Type = 1 (SHA-1)) "-b key_size" : 생성키의 bit 단위사이즈지정 ( 필수 ) 각 Algorithm 별지정가능한 key size 가다름 (RSASHA1 인경우 512~4096) "-n name_type" : 생성키를소유하는주체유형을지정 ( 필수 ) dnssec-keygen 이생성하는 Key 종류는다양하며, 이중하나에존서명을위한 Key 가있음 "-n name_type" 에의해생성되는 Key 가귀속되는주체가무엇인지를지정 ZONE 인경우, 서명이적용되는도메인존이 Key 의소유주체가됨 TSIG 을위한공유키생성의경우에는생성되는 Key 의소유주체가 HOST 가됨 DNSSEC 도메인을위한존서명용 Key 를생성하는경우 -n ZONE" 으로지정 149

150 도메인에대한 DNSSEC 적용 (7) "-f keyflag" : DNSKEY RR 의 "Flags" 에서 Bit 15 (SEP bit) 설정지정 ( 옵션 ) 생성되는 Public Key 가 DNSKEY RR 의형태로산출되는경우, 필드 Flag 의 bit 15 의 SEP bit 를세팅할것인지여부를지정하는옵션 KSK 에대한 Key Pair 를생성하는경우에만 -f KSK" 옵션을지정함 -f KSK 옵션을지정하지않는경우에는 DNSKEY RR 의필드 Flags" 는 bit 7 만세팅되어 ZSK 의 DNSKEY RR 로생성 "-r <randomdev>" : 키생성을위한 random 입력데이터 ( 옵션이지만지정필수 ) Linux 인경우, 또는 Solaris 9 이상인경우에는 "/dev/random" 디바이스를지정 /dev/random 을지원하지않는플랫폼인경우, 임의의 random 값을갖는바이너리파일을지정가능 "name" : owner of the key. 생성된 Key 를소유하는주체의네임 -n ZONE" 옵션을지정한경우, name" 은서명될도메인존의 Apex Zone Name 을지정 150

151 도메인에대한 DNSSEC 적용 (8) dnssec-keygen 이산출하는파일 K<name>+<alg>+<id>.key 파일 : Public Key 파일 (DNSKEY RR 데이터 ) <name> : -n ZONE" 을지정하면서동시에지정한 "name". 서명될도메인존의 Apex Zone Name <alg> : "-a algorithm" 에서지정한 Algorithm의코드값 (RSASHA1 : 5) <id> : -n ZONE" 을지정한경우, DNSKEY RR의 Public Key" 필드에설정되는 Public Key의 Key Tag 값 K<name>+<alg>+<id>.private 파일 : Private Key 파일 Key Pair 생성예 : 파일명의 <name>, <alg>, <id> 는 K<name>+<alg>+<id>.key 파일의경우와동일 [root@isp-localdns named]# dnssec-keygen -a RSASHA1 -b n ZONE -r /dev/random good.sec.kr Kgood.sec.kr [root@isp-localdns named]# dnssec-keygen -a RSASHA1 -b n ZONE -f KSK -r /dev/random good.sec.kr Kgood.sec.kr KSK 해당 Key Pair : Kgood.sec.kr key : Public Key (DNSKEY RR) Kgood.sec.kr private : Private Key ZSK 해당 Key Pair : Kgood.sec.kr key : Public Key (DNSKEY RR) Kgood.sec.kr private : Private Key 151

152 도메인에대한 DNSSEC 적용 (9) Public Key(DNSKEY) 의존파일반영 존서명 (Zone Signing) 이전에존파일에 DNSKEY RR 설정필요 DNSKEY RR 역시도메인존의 DNS 데이터임 서명절차중에 DNSKEY RR 에대한 RRSIG RR 생성 NSEC RR 은존서명 (Zone Signing) 과정에서도메인네임을정렬 (sorting) 하여자동생성 반영방법및절차 도메인존에대한 DNSKEY RR 데이터는 Key 생성절차에의해산출된 Public Key 파일에존재 K<name>+<alg>+<id>.key 파일을내용의변경없이그대로존파일에반영할수있음 주의사항 : K<name>+<alg>+<id>.key 파일에는 TTL 이지정되어있지않음 따라서, K<name>+<alg>+<id>.key 파일을그대로존파일에반영하는경우, $TTL 에지정된 TTL 값이적용되거나, 존파일에 $TTL 이명시적으로지정되지않은경우, 도메인존의 SOA RR 의 Minimum TTL 값으로자동설정됨 반영예 : 존파일에다음 2 줄추가 $INCLUDE Kgood.sec.kr key ; ZSK $INCLUDE Kgood.sec.kr key ; KSK 152

153 도메인에대한 DNSSEC 적용 (10) 존 (zone) 서명 (signing) 존파일서명도구 dnssec-signzone 사용개요 named]# dnssec-signzone Usage: dnssec-signzone [options] zonefile [keys] Version: Options: (default value in parenthesis) -c class (IN) -d directory directory to find keyset files (.) -g: generate DS records from keyset files -s [YYYYMMDDHHMMSS +offset]: RRSIG start time - absolute offset (now - 1 hour) -e [YYYYMMDDHHMMSS +offset "now"+offset]: RRSIG end time - absolute from start from now (now + 30 days) -i interval: cycle interval - resign if < interval from end ( (end-start)/4 ) -v debuglevel (0) -o origin: zone origin (name of zonefile) -f outfile: file the signed zone is written in (zonefile +.signed) -r randomdev: a file containing random data -a: verify generated signatures -p: use pseudorandom data (faster but less secure) -t: print statistics -n ncpus (number of cpus present) -k key_signing_key -l lookasidezone -z: ignore KSK flag in DNSKEYs Signing Keys: (default: all zone keys that have private keys) keyfile (Kname+alg+tag) 153

154 도메인에대한 DNSSEC 적용 (11) dnssec-signzone 유틸리티를사용한 Zone 서명방법개요 "-o origin" : 서명대상존의 Zone Apex 네임지정 서명대상존파일 SOA RR 의도메인네임과일치필요 "-r <randomdev>" : 존서명을위한 random 입력데이터 ( 옵션이지만지정필수 ) Linux 인경우, 또는 Solaris 9 이상인경우에는 "/dev/random" 디바이스를지정 /dev/random 을지원하지않는플랫폼인경우, 임의의 random 값을갖는바이너리파일을지정가능 "-a" : 존서명후생성된서명데이터를검증하도록추가동작지정 "-t" : 존서명과정에서명처리소요시간등통계정보추가출력 "-k key_signing_key" : KSK 대응 private key 를명시적으로지정 key_signing_key 는 K<name>+<alg>+<id> 의형태로지정 "zonefile" : 서명대상원본존파일명지정 "keys" : ZSK 대응 Key 를지정 key 는 K<name>+<alg>+<id> 의형태로지정 154 MCC Laboratory

155 도메인에대한 DNSSEC 적용 (12) dnssec-signzone 이산출하는파일 dsset-<name> 파일 : DS RR 데이터의파일 <name> : "-o origin" 으로지정한 Zone Apex 도메인네임 keyset-<name> 파일 : DNSKEY RR 데이터의파일 <name> : "-o origin" 으로지정한 Zone Apex 도메인네임 <zone_file_name>.signed : 원본존파일에대한서명된존파일 <zone_file_name> : 원본존파일명 존서명 (Zone Signing) 수행을위한최소한의 dnssec-signzone 명령 dnssec-signzone -o <origin_name> -r <randomdev> <zonefile_name> 존서명 (Zone Signing) 시서명 Key 를명시하는 dnssec-signzone 명령 dnssec-signzone -o <origin_name> -k K<name>+<alg>+<id> -r <randomdev> <zonefile_name> K<name>+<alg>+<id> 주의 ZSK 대응키를서명키로지정하는경우, 옵션 -k" 를사용한 KSK 대응키지정을반드시해야함 만일 ZSK 대응키만지정하고, -k" 옵션을누락하는경우, ZSK 대응키에의한서명만수행함 서명키를명시해야하는경우 서명수행디렉토리내에서명대상존의 Key 가여러개존재하는경우 (KSK 대응키와 ZSK 대응키 ) 155

156 도메인에대한 DNSSEC 적용 (13) Recursive 네임서버의 Trust Anchor 설정 서명된존이 DNSSEC 보안적용영역의 Top Domain 인경우 해당존의 DNSKEY RR 데이터를외부에배포하여 recursive 네임서버에서 Trust Anchor 로설정할수있도록함 Trusted-Keys 설정구문 (BIND 9 Configuration) trusted-keys { string number number number string ; string number number number string ;... }; 첫번째구문 (string) : DNSSEC 적용영역중 Top Domain 의 Zone Apex 네임을 string" 으로지정 (Trust Anchor 설정을위해배포된 KSK DNSKEY RR 의 owner name) 두번째구문 (number) : KSK DNSKEY RR 의 RDATA 첫번째필드인 Flags" 값을숫자로설정 세번째구문 (number) : KSK DNSKEY RR 의 RDATA 두번째필드인 Protocol" 값을숫자로설정 네번째구문 (number) : KSK DNSKEY RR 의 RDATA 두번째필드인 Algorithm" 값을숫자로설정 다섯번째구문 (string) : KSK DNSKEY RR 의 RDATA 세번째필드인 Public Key" 데이터를 Base64 코딩문자열형태그대로문자열로지정 156

157 도메인에대한 DNSSEC 적용 (14) 부모존에서의 DS RR 반영 서명된존이 DNSSEC 보안적용영역의 Top Domain 이아닌경우 상위서명된부모존으로 DS RR 데이터를전송하여부모존에반영 부모존에 DS RR 을반영하여적용함으로써부모존의인증체인 (Authentication Chain) 에연결구성 반영예 : good.sec.kr 존의 DS RR 을 sec.kr 존파일에반영 ( 다음줄추가 ) good.sec.kr. IN DS D79FDE16C0542EDAC6F DD26D3FA150C SEC.KR 존의 Serial Number 증가수정 SEC.KR zone 에대한서명및 DNS 서버에존변경사항반영 디렉토리에존재하는유일한 KSK 대응키와 ZSK 대응키로서명하도록 dnssec-signzone 수행 [krdns-slave:/usr/local/bind/var/named]# dnssec-signzone -o sec.kr -r /usr/local/bin/snmpwalk sec.zone dnssec-signzone: warning: Ksec.kr key:1: using RFC 1035 TTL semantics sec.zone.signed name server(bind 9.3.2) 에서 SEC.KR 존을 reload 하여반영 [krdns-slave:/usr/local/bind/var/named]# rndc reload sec.kr. zone reload queued 157

158 DNSSEC 응답사례에대한분석 (1) 158

159 DNSSEC 응답사례에대한분석 (2) 159

160 DNSSEC 응답사례에대한분석 (3) 160

161 DNSSEC 응답사례에대한분석 (4) 161

DNS Áø´Üµµ±¸ - dig È°¿ë¹æ¹ý °¡À̵å(U0625).hwp

DNS Áø´Üµµ±¸ - dig È°¿ë¹æ¹ý °¡À̵å(U0625).hwp dig 활용방법가이드 2004. 6. IP 주소관리팀 한국인터넷정보센터 - 목차 - 1. dig 3 dig (Domain Information Groper) 3 dig? 3 nslookup dig? 3 dig? 3 2. dig 4 4 IP (IPv4, IPv6) 5 dig 7 IPv6 DNS 10 3. dig 13 dig 13 dig DNS TCP/UDP 2

More information

KISA-GD

KISA-GD KISA-GD-2011-0002 2011.9 1) RD(Recursive Desired) 플래그 : 리커시브네임서버로하여금재귀적 (recursive) 질의 ( 항목 1.3. 참고 ) 요청을표시함. RD 플레그값이 0 이면반복적 (iterative) 질의를요청 2) AA 플래그 : Authoritative Answer 의약자로써, 네임서버가해당응답데이터를자신이보유하고있는지유무를표시

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 03 장 도메인네임시스템과주소 패밀리 (IPv4-IPv6 서비스 ) 1 목차 제 3 장도메인네임시스템과주소패밀리 3.1 도메인네임주소를숫자주소로매핑하기 3.2 IP 버전에무관한주소-범용코드의작성 3.3 숫자주소에서도메인네임주소획득하기 2 getaddrinfo() 를활용한주소 범용 (Generic) 코드 주소범용 (Generic) 코드란? 주소버전

More information

vi 사용법

vi 사용법 네트워크프로그래밍 6 장과제샘플코드 - 1:1 채팅 (udp 버전 ) 과제 서버에서먼저 bind 하고그포트를다른사람에게알려줄것 클라이언트에서알려준포트로접속 서로간에키보드입력을받아상대방에게메시지전송 2 Makefile 1 SRC_DIR =../../common 2 COM_OBJS = $(SRC_DIR)/addressUtility.o $(SRC_DIR)/dieWithMessage.o

More information

제20회_해킹방지워크샵_(이재석)

제20회_해킹방지워크샵_(이재석) IoT DDoS DNS (jaeseog@sherpain.net) (www.sherpain.net) DDoS DNS DDoS / DDoS(Distributed DoS)? B Asia Broadband B Bots connect to a C&C to create an overlay network (botnet) C&C Provider JP Corp. Bye Bye!

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 Chap 3. Of Names and Address Families Chap. 3 Of Names and Address Families 3.1 도메인네임주소를숫자주소로매핑하기 3.2 IP 버전에무관한주소 - 범용코드의작성 3.3 숫자주소에서도메인네임주소획득하기 기존 IPv4 전용, IPv6 전용코드의취약성

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 03 장 도메인네임시스템과주소 패밀리 (IPv4-IPv6 서비스 ) 1 목포해양대해양컴퓨터공학과 목차 제 3 장도메인네임시스템과주소패밀리 3.1 도메인네임주소를숫자주소로매핑하기 3.2 IP 버전에무관한주소-범용코드의작성 3.3 숫자주소에서도메인네임주소획득하기 2 목포해양대해양컴퓨터공학과 기존 IPv4 전용, IPv6 전용코드의 취약성 전용주소코드

More information

IPv6 적용

IPv6 적용 IPv6 적용 1 IPv6 기본규격 2 IPv6 Basic header 3 IPv6 - Extension Headers (1) Hop-by-Hop Options (0) RSVP, PIM/MLD, etc. Routing (43) Source Routing, MIPv6 Fragment (44) Encapsulating Security Payload (50) IPsec

More information

Microsoft PowerPoint - 13 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 2.ppt

Microsoft PowerPoint - 13 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 2.ppt 13 장소켓을이용한통신 (2) 소켓을이용한통신 (2) 함수 - recvfrom - sendto - uname - gethostname - gethostbyname - gethostbyaddr 1 1. 서론 소켓을사용하여비연결형모델로통신을하기위한함수와그외의함수 함수 의미 recvfrom 비연결형모델에서소켓을통해메시지를수신한다. sendto 비연결형모델에서소켓을통해메시지를송신한다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Network Programming Jo, Heeseung Network 실습 네트워크프로그래밍 멀리떨어져있는호스트들이서로데이터를주고받을수있도록프로그램을구현하는것 파일과는달리데이터를주고받을대상이멀리떨어져있기때문에소프트웨어차원에서호스트들간에연결을해주는장치가필요 이러한기능을해주는장치로소켓이라는인터페이스를많이사용 소켓프로그래밍이란용어와네트워크프로그래밍이랑용어가같은의미로사용

More information

Microsoft PowerPoint - 12 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 1.ppt

Microsoft PowerPoint - 12 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 1.ppt 12 장 소켓을이용한통신 (1) 함수 - inet_addr - inet_ntoa - socket - bind - listen - accept - connect - recv -send 1 서론 파이프를사용하여통신을하기위한시스템호출 / 표준라이브러리함수 함수 의미 inet_addr 문자열형태의인터넷주소를바이너리형태로변환한다. inet_ntoa 바이너리형태의인터넷주소를문자열형태로변환한다.

More information

2009년 상반기 사업계획

2009년 상반기 사업계획 소켓프로그래밍활용 IT CookBook, 유닉스시스템프로그래밍 학습목표 소켓인터페이스를활용한다양한프로그램을작성할수있다. 2/23 목차 TCP 기반프로그래밍 반복서버 동시동작서버 동시동작서버-exec함수사용하기 동시동작서버-명령행인자로소켓기술자전달하기 UDP 프로그래밍 3/23 TCP 기반프로그래밍 반복서버 데몬프로세스가직접모든클라이언트의요청을차례로처리 동시동작서버

More information

bn2019_2

bn2019_2 arp -a Packet Logging/Editing Decode Buffer Capture Driver Logging: permanent storage of packets for offline analysis Decode: packets must be decoded to human readable form. Buffer: packets must temporarily

More information

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트워크주소와 브로드캐스트주소를설명할수있다. 학습내용 1 : IP 헤더필드구성 1. Network Layer Fields 2. IP 헤더필드의구성 1)

More information

Microsoft Word doc

Microsoft Word doc TCP/IP 구조 1. I.P 구조설명 2. ARP 구조설명 3. TCP 구조설명 4. UDT 구조설명 5. RIP 구조설명 6. BOOTP 구조설명 7. TFTP 구조설명 destination addr source addr type data CRC 6 6 2 46-1500 4 type 0X0800 IP datagram 2 46-1500 type 0X0806

More information

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode] TCP Server/Client Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 TCP Server Program Procedure TCP Server socket() bind() 소켓생성 소켓번호와소켓주소의결합 listen() accept() read() 서비스처리, write()

More information

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾ P a 02 r t Chapter 4 TCP Chapter 5 Chapter 6 UDP Chapter 7 Chapter 8 GUI C h a p t e r 04 TCP 1 3 1 2 3 TCP TCP TCP [ 4 2] listen connect send accept recv send recv [ 4 1] PC Internet Explorer HTTP HTTP

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 4 장 UDP 소켓 제 4 장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송싞및수싞 4.4 UDP 소켓의연결 UDP 소켓의특징 UDP 소켓의특성 싞뢰할수없는데이터젂송방식 목적지에정확하게젂송된다는보장이없음. 별도의처리필요 비연결지향적, 순서바뀌는것이가능 흐름제어 (flow

More information

<C2F7BCBCB4EBC0CEC5CDB3DDC1D6BCD2C0DABFF8B1E2BCFAB5BFC7E2BAB8B0EDBCAD BFACB0A3BAB8B0EDBCAD292E687770>

<C2F7BCBCB4EBC0CEC5CDB3DDC1D6BCD2C0DABFF8B1E2BCFAB5BFC7E2BAB8B0EDBCAD BFACB0A3BAB8B0EDBCAD292E687770> 차세대인터넷주소자원기술동향보고서 차세대인터넷주소자원기술동향보고서 User PC D. IP = 10.10.10.100 S. IP = 10.10.10.1 10.1.0.2 DNS Server Unicast = 10.5.2.10 Anycast = 10.10.10.100 Anycast Site DNS Server 10.0.0.1 DNS Server Anycast

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 1 목포해양대해양컴퓨터공학과 UDP 소켓 네트워크프로그램설계 4 장 2 목포해양대해양컴퓨터공학과 목차 제 4장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송신및수신 4.4 UDP 소켓의연결 3 목포해양대해양컴퓨터공학과 UDP 소켓의특징 UDP 소켓의특성 신뢰할수없는데이터전송방식 목적지에정확하게전송된다는보장이없음.

More information

개요 Windows 클라이언트와서버를위한이름풀이 (Name Resolution) DNS 서버설치와관리 DNS 영역 (Zones) 관리

개요 Windows 클라이언트와서버를위한이름풀이 (Name Resolution) DNS 서버설치와관리 DNS 영역 (Zones) 관리 Module 7 DNS 구현 개요 Windows 클라이언트와서버를위한이름풀이 (Name Resolution) DNS 서버설치와관리 DNS 영역 (Zones) 관리 Lesson 1: Windows 클라이언트와서버를위한이름풀이 (Name Resolution) 컴퓨터이름이란? DNS 란? DNS 영역과레코드 인터넷 DNS 이름이풀이되는방법 Link-Local Multicast

More information

<444E53BCADB9F6BFEEBFB5C1F6C4A7BCAD D30382D E687770>

<444E53BCADB9F6BFEEBFB5C1F6C4A7BCAD D30382D E687770> 2006. 8 한국인터넷진흥원 < 목차 > 1 장 DNS 일반 1.1 DNS 개요... 1 1.2 DNS 구조... 4 1.3 도메인(Domain) 과존(Zone) 개요... 9 1.4 DNS 리소스레코드개요... 14 1.5 DNS 네임서버및리졸버개요... 28 1.6 DNS 도메인위임설정개요... 31 1.7 도메인네임리졸루션(resolution)...

More information

슬라이드 1

슬라이드 1 Computer Networks Practice Socket 1 DK Han Junghwan Song dkhan@mmlab.snu.ac.kr jhsong@mmlab.snu.ac.kr 2012-3-26 Multimedia and Mobile communications Laboratory Introduction Client / Server model Server

More information

TCP.IP.ppt

TCP.IP.ppt TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP Internet Protocol _ IP Address Internet Protocol _ Subnet Mask Internet Protocol _ ARP(Address Resolution Protocol) Internet Protocol _ RARP(Reverse Address Resolution

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 13 장소켓 2 13.1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.

More information

SYN flooding

SYN flooding Hacking & Security Frontier SecurityFirst SYN flooding - SYN flooding 공격의원리와코드그리고대응 by amur, myusgun, leemeca 2008. 09. myusgun Agenda 개요...3 원리...3 위협...4 잠깐! - 문서에관하여...4 이문서는...4 Code...4 대응방안...4 소스코드...5

More information

Microsoft PowerPoint - 16_Linux_DNS_Server

Microsoft PowerPoint - 16_Linux_DNS_Server DNS 서버구축및운용 BIND (Berkeley Internet Name Domain) Doo-ok Seo clickseo@kw.ac.kr http:// Contents 도메인이란? DNS 서버설치및설정 2 도메인이란? 도메인이란? 도메인이름원칙 도메인이름체계 DNS 역할및작동과정 DNS 서버설치및설정 3 도메인이란? 도메인 (Domain) IP 주소를대신하는문자화된별칭

More information

Microsoft PowerPoint - Supplement-02-Socket Overview.ppt [호환 모드]

Microsoft PowerPoint - Supplement-02-Socket Overview.ppt [호환 모드] 소켓개요 참고문헌 : 컴퓨터네트워크프로그래밍, 김화종, 홍릉과학출판사 Socket 정의 Socket 은 Transport 계층 (TCP 나 UDP) 을이용하는 API 1982 년 BSD 유닉스 41 에서처음소개 윈도우즈의경우 Winsock 제공 JAVA 또한 Socket 프로그래밍을위한클래스제공 Socket Interface 의위치 5-7 (Ses, Pre,

More information

Microsoft Word - NAT_1_.doc

Microsoft Word - NAT_1_.doc NAT(Network Address Translation) 1. NAT 개요 1 패킷의 IP 헤더의수신지주소, 발신지주소또는그주소를다른주소로변경하는과정 2 NAT기능을갖는장치를 NAT-BOX라함 ( 시스코라우터, 유닉스시스템, 윈도우의호스트혹은몇개의다른시스템일수있기때문에이렇게지칭하기도함 ) 3 NAT 기능을갖는장치는일반적으로스텁도메인 (Stub-domain)

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 네트워크프로그래밍 02 장 TCP 소켓 (1) 1 목차 제 2장 TCP 소켓 1. IPv4 TCP 클라이언트 2. IPv4 TCP 서버 3. 소켓의생성과해지 4. 주소지정 5. 소켓에연결 6. 소켓을주소에바인딩하기 7. 클라이언트의연결요청처리 8. 데이터주고받기 9. IPv6의사용 2 소켓통신과정 간략화한소켓통신과정 소켓생성 TCP or UDP 소켓에주소정보할당

More information

SMB_ICMP_UDP(huichang).PDF

SMB_ICMP_UDP(huichang).PDF SMB(Server Message Block) UDP(User Datagram Protocol) ICMP(Internet Control Message Protocol) SMB (Server Message Block) SMB? : Microsoft IBM, Intel,. Unix NFS. SMB client/server. Client server request

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 소켓 2 1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

Subnet Address Internet Network G Network Network class B networ

Subnet Address Internet Network G Network Network class B networ Structure of TCP/IP Internet Internet gateway (router) Internet Address Class A Class B Class C 0 8 31 0 netid hostid 0 16 31 1 0 netid hostid 0 24 31 1 1 0 netid hostid Network Address : (A) 1 ~ 127,

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

Network seminar.key

Network seminar.key Intro to Network .. 2 4 ( ) ( ). ?!? ~! This is ~ ( ) /,,,???? TCP/IP Application Layer Transfer Layer Internet Layer Data Link Layer Physical Layer OSI 7 TCP/IP Application Layer Transfer Layer 3 4 Network

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Socket Programming 1 Jo, Heeseung 학습목표 TCP/IP 프로토콜의기본개념 IP 주소와포트번호의개념소켓관련구조체와함수소켓을이용한통신프로그램을작성 2 TCP/IP 개요 TCP/IP 인터넷의표준프로토콜 5계층 (4계층) 으로구성 TCP 와 UDP 의차이 3 IP 주소와호스트명 IP 주소와호스트명 IP 주소 : 인터넷을이용할때사용하는주소로점

More information

Ⅰ. 서론 FOCUS 우리는매일컴퓨터와스마트폰의웹브라우저를통해웹사이트를접속하여뉴스를보고필요한정보를검색하거나인터넷쇼핑과뱅킹등을하고있다. 이같이웹사이트를가기위해서우리는웹브라우저주소창에도메인이름 ( 예. kisa.or.kr) 을입력한다. 그렇게되면우리의눈앞에우리가원하는웹사이

Ⅰ. 서론 FOCUS 우리는매일컴퓨터와스마트폰의웹브라우저를통해웹사이트를접속하여뉴스를보고필요한정보를검색하거나인터넷쇼핑과뱅킹등을하고있다. 이같이웹사이트를가기위해서우리는웹브라우저주소창에도메인이름 ( 예. kisa.or.kr) 을입력한다. 그렇게되면우리의눈앞에우리가원하는웹사이 FOCUS FOCUS 1 인터넷이용의기반 DNS 의 이해와 DNS 보안 김도원 인터넷을이용하면서도인터넷이용의기반인도메인이름체계 ( 이하 DNS ) 1) 를알고이해하는사람은그리많지않을것이다. 그러나 DNS 는인터넷이용의첫관문과도같은, 중요한역할을한다. 따라서 DNS 에보안상취약점이있다면인터넷이용자가입을수있는피해는클것이다. 하지만 DNS 는악의적인해커에의해정보가위

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

VPN제안서

VPN제안서 DNS 운영과실무 IDC 운영팀정해상 Tel : 02-3149-4822 E-mail : hsjung@elim.net 목차 1. DNS 개념이해 2. DNS 관련용어정리 3. DNS 질의 / 응답경로이해 4. DNS의기본Zone File 이해 (BIND Zone File 기준 ) 5. WINDOWS SERVER DNS 설치 6. WINDOWS SERVER DNS

More information

chap7.key

chap7.key 1 7 C 2 7.1 C (System Calls) Unix UNIX man Section 2 C. C (Library Functions) C 1975 Dennis Ritchie ANSI C Standard Library 3 (system call). 4 C?... 5 C (text file), C. (binary file). 6 C 1. : fopen( )

More information

슬라이드 제목 없음

슬라이드 제목 없음 2006-09-27 경북대학교컴퓨터공학과 1 제 5 장서브넷팅과슈퍼넷팅 서브넷팅 (subnetting) 슈퍼넷팅 (Supernetting) 2006-09-27 경북대학교컴퓨터공학과 2 서브넷팅과슈퍼넷팅 서브넷팅 (subnetting) 하나의네트워크를여러개의서브넷 (subnet) 으로분할 슈퍼넷팅 (supernetting) 여러개의서브넷주소를결합 The idea

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 1 목포해양대해양컴퓨터공학과 2 장. TCP 소켓 네트워크프로그램설계 2 목포해양대해양컴퓨터공학과 목차 제 2장 TCP 소켓 1. IPv4 TCP 클라이언트 2. IPv4 TCP 서버 3. 소켓의생성과해지 4. 주소지정 5. 소켓에연결 6. 소켓을주소에바인딩하기 7. 클라이언트의연결요청처리 8. 데이터주고받기 9. IPv6의사용 3 목포해양대해양컴퓨터공학과

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 (Host) set up : Linux Backend RS-232, Ethernet, parallel(jtag) Host terminal Target terminal : monitor (Minicom) JTAG Cross compiler Boot loader Pentium Redhat 9.0 Serial port Serial cross cable Ethernet

More information

Microsoft Word - Network Programming_NewVersion_01_.docx

Microsoft Word - Network Programming_NewVersion_01_.docx 10. Unix Domain Socket 105/113 10. Unix Domain Socket 본절에서는 Unix Domain Socket(UDS) 에대한개념과이에대한실습을수행하고, 이와동시에비신뢰적인통신시스템의문제점에대해서분석하도록한다. 이번실습의목표는다음과같다. 1. Unix Domain Socket의사용법을익히고, IPC에대해서실습 2. TCP/IP의응용계층과전달계층의동작을구현및실습

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 인터넷프로토콜 02 장 TCP 소켓 목차 제 2 장 TCP 소켓 2.1 IPv4 TCP 클라이언트 2.2 IPv4 TCP 서버 2.3 소켓의생성과해지 2.4 주소지정 2.5 소켓에연결 2.6 소켓을주소에바인딩하기 2.7 클라이언트의연결요청처리 2.8 데이터주고받기 2.9 IPv6 의사용 소켓통신과정 간략화한소켓통신과정 소켓생성 TCP or UDP 소켓에주소정보할당

More information

0. 들어가기 전

0. 들어가기 전 컴퓨터네트워크 14 장. 웹 (WWW) (3) - HTTP 1 이번시간의학습목표 HTTP 의요청 / 응답메시지의구조와동작원리이해 2 요청과응답 (1) HTTP (HyperText Transfer Protocol) 웹브라우저는 URL 을이용원하는자원표현 HTTP 메소드 (method) 를이용하여데이터를요청 (GET) 하거나, 회신 (POST) 요청과응답 요청

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Socket Programming 1 Jo, Heeseung 학습목표 TCP/IP 프로토콜의기본개념 IP 주소와포트번호의개념소켓관련구조체와함수소켓을이용한통신프로그램을작성 2 TCP/IP 개요 TCP/IP 인터넷의표준프로토콜 5 계층 (4 계층 ) 으로구성 TCP 와 UDP 의차이 3 IP 주소와호스트명 IP 주소와호스트명 IP 주소 : 인터넷을이용할때사용하는주소로점

More information

DNS (Domain Name System) Build for RHEL4(x86) Writer : 이경호

DNS (Domain Name System) Build for RHEL4(x86) Writer : 이경호 DNS (Domain Name System) Build for RHEL4(x86) Writer : 이경호 목차 1. 시스템구성... - 2-1.1. 개요... - 2-1.1.1. 정의... - 2-1.1.2. 목적... - 2-1.1.3. 환경... - 2-2. 준비사항... - 3-2.1. 필수설치프로그램... - 3-2.2. DNS 서버구축을위한준비...

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

UDP Flooding Attack 공격과 방어

UDP Flooding Attack 공격과 방어 황 교 국 (fullc0de@gmail.com) SK Infosec Co., Inc MSS Biz. Security Center Table of Contents 1. 소개...3 2. 공격 관련 Protocols Overview...3 2.1. UDP Protocol...3 2.2. ICMP Protocol...4 3. UDP Flood Test Environment...5

More information

일반적인 네트워크의 구성은 다음과 같다

일반적인 네트워크의 구성은 다음과 같다 W5200 Errata Sheet Document History Ver 1.0.0 (Feb. 23, 2012) First release (erratum 1) Ver 1.0.1 (Mar. 28, 2012) Add a solution for erratum 1, 2 Ver 1.0.2 (Apr. 03, 2012) Add a solution for erratum 3

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

Cloud Friendly System Architecture

Cloud Friendly System Architecture -Service Clients Administrator 1. -Service 구성도 : ( 좌측참고 ) LB(LoadBlancer) 2. -Service 개요 ucloud Virtual Router F/W Monitoring 개념 특징 적용가능분야 Server, WAS, DB 로구성되어 web service 를클라우드환경에서제공하기위한 service architecture

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 Chap 2. Basic TCP Sockets Chap. 2 Basic TCP Sockets 2.1 IPv4 TCP 클라이언트 2.2 IPv4 TCP 서버 2.3 소켓의생성과해지 2.4 주소지정 2.5 소켓에연결 2.6 소켓을주소와바인딩하기 2.7 클라이언트의연결요청처리 2.8 데이터주고받기 2.9 IPv6의사용

More information

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

More information

Microsoft Word - KPMC-400,401 SW 사용 설명서

Microsoft Word - KPMC-400,401 SW 사용 설명서 LKP Ethernet Card SW 사용설명서 Version Information Tornado 2.0, 2.2 알 림 여기에실린내용은제품의성능향상과신뢰도의증대를위하여예고없이변경될수도있습니다. 여기에실린내용의일부라도엘케이일레븐의사전허락없이어떠한유형의매체에복사되거나저장될수없으며전기적, 기계적, 광학적, 화학적인어떤방법으로도전송될수없습니다. 엘케이일레븐경기도성남시중원구상대원동

More information

Microsoft Word - enterprise-linux-2-1.doc

Microsoft Word - enterprise-linux-2-1.doc 2. 리눅스 Server 구축및실무운영 이단원에서는리눅스운영체제를이용하여실무에서주로사용되어지는시스템구축기술과운영기술에대해다루도록하겠습니다. 이단원에서소개되는기술의부분은실무구축기술에중점을두고있으며, 이론적인접근은최소화하고있습니다. 이론적인자세한설명은각분야별전문서적을참고하시길바랍니다. 2.1. DNS (Domain Name System) DNS (Domain Name

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

Microsoft PowerPoint - 06-IPAddress [호환 모드]

Microsoft PowerPoint - 06-IPAddress [호환 모드] Chapter 06 IP Address IP Address Internet address IP 계층에서사용되는식별자 32 bit 2 진주소 The address space of IPv4 is 2 32 or 4,294,967,296 netid 와 hostid 로구분 인터넷에서호스트와라우터를유일하게구분 IP Address Structure 2-Layer Hierarchical

More information

OPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E > 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 소켓 (Socket) (1/2) Socket 이란? 서버와클라이언트가서로특정한규약을사용하여데이터를전송하기위한방식 서버와클라이언트는소켓연결을기다렸다가소켓이연결되면서로데이터를전송 현재네트워크상에서의모든통신의근간은 Socket 이라할수있음 Page 2 1 소켓 (Socket) (2/2)

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

INDEX 1. 개요 DNS 서버구축하기 DNS 구축에필요한프로그램설치 DNS 설정 호스트추가. (zone 파일생성 ) 상위기관에네임서버등록.( 네임호스트추가 ) 활용

INDEX 1. 개요 DNS 서버구축하기 DNS 구축에필요한프로그램설치 DNS 설정 호스트추가. (zone 파일생성 ) 상위기관에네임서버등록.( 네임호스트추가 ) 활용 Linux Server - DNS - Copyright @ 2012 Good Internet 소속 IDC 실 E-mail tech@tongkni.co.kr - 1 - INDEX 1. 개요... 3 2. DNS 서버구축하기.... 4 2.1 DNS 구축에필요한프로그램설치.... 4 2.2 DNS 설정.... 5 2.3 호스트추가. (zone 파일생성 )...

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

인터넷 신산업 촉진을 위한 무제한인터넷주소 (IPv6) 확산 로드맵 2014년을 IPv6 기반 서비스 상용화의 원년으로 인터넷 신산업 촉진을 위한 무제한인터넷주소 (IPv6) 확산 로드맵 2014년을 IPv6 기반 서비스 상용화의 원년으로 2014. 3. 14. 차 례 I. 추진배경 1 II. 국내외 현황 3 III. 문제점 10 IV. 추진전략 및 로드맵

More information

61 62 63 64 234 235 p r i n t f ( % 5 d :, i+1); g e t s ( s t u d e n t _ n a m e [ i ] ) ; if (student_name[i][0] == \ 0 ) i = MAX; p r i n t f (\ n :\ n ); 6 1 for (i = 0; student_name[i][0]!= \ 0&&

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

6강.hwp

6강.hwp ----------------6강 정보통신과 인터넷(1)------------- **주요 키워드 ** (1) 인터넷 서비스 (2) 도메인네임, IP 주소 (3) 인터넷 익스플로러 (4) 정보검색 (5) 인터넷 용어 (1) 인터넷 서비스******************************* [08/4][08/2] 1. 다음 중 인터넷 서비스에 대한 설명으로

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

Microsoft PowerPoint - ch02_인터넷 이해와 활용.ppt

Microsoft PowerPoint - ch02_인터넷 이해와 활용.ppt 컴퓨터 활용과 실습 원리를 알면 IT가 맛있다 chapter 2. 윈도우XP, 한글25, 엑셀23, 파워포인트23 인터넷 이해와 활용 www.hanb.co.kr -1- 학습목표 목차 통신과 네트워크의 개념 통신과 네트워크 컴퓨터 통신망 인터넷정의및역사 인터넷주소체계 인터넷 정의와 역사 인터넷 주소 웹서비스의정의및특징 웹 서비스 웹 브라우저의 기능 웹 브라우저

More information

소프트웨어 융합 개론

소프트웨어 융합 개론 소프트웨어융합개론 의개념 컴퓨터, 즉컴퓨팅기능을가진시스템들이물리적인매체로서로연결되어데이터를교환하는시스템들의모임 단말시스템 (end system), 중개시스템 (intermediate system) ISP (Internet Service Provider) 개인이나기업체에게인터넷접속서비스를제공하는회사 Internet: a network of networks 단말네트워크와코아네트워크

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현

Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현 02 Web Application Hosting in the AWS Cloud www.wisen.co.kr Wisely Combine the Network platforms Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

Chapter11OSPF

Chapter11OSPF OSPF 111 OSPF Link state Interior Gateway Protocol OSPF 1988 IETF OSPF workgroup OSPF RFC 2383 version 2 Chapter OSPF Version 2 OSPFIGP AS 1 1111 Convergence Traffic Distance Vector Link state OSPF (Flooding),

More information

슬라이드 1

슬라이드 1 1 Computer Networks Practice #1-1 - Socket Programming 이지민 (jmlee@mmlab.snu.ac.kr) 장동현 (dhjang@mmlab.snu.ac.kr) 2011. 9. 14 2 Transport layer 가하는일 Reliability 패킷젂송에오류가생기면잧젂송함으로써마치 오류가나지않는것처럼 싞뢰된젂송을 Application

More information

Chap06(Interprocess Communication).PDF

Chap06(Interprocess Communication).PDF Interprocess Communication 2002 2 Hyun-Ju Park Introduction (interprocess communication; IPC) IPC data transfer sharing data event notification resource sharing process control Interprocess Communication

More information

Sena Technologies, Inc. HelloDevice Super 1.1.0

Sena Technologies, Inc. HelloDevice Super 1.1.0 HelloDevice Super 110 Copyright 1998-2005, All rights reserved HelloDevice 210 ()137-130 Tel: (02) 573-5422 Fax: (02) 573-7710 E-Mail: support@senacom Website: http://wwwsenacom Revision history Revision

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

BEA_WebLogic.hwp

BEA_WebLogic.hwp BEA WebLogic Server SSL 설정방법 - Ver 1.0-2008. 6 개정이력 버전개정일개정내용 Ver 1.0 2008 년 6 월 BEA WebLogic Server SSL 설명서최초작성 본문서는정보통신부 한국정보보호진흥원의 보안서버구축가이드 를참고하여작성되었습니다. 본문서내용의무단도용및사용을금합니다. < 목차 > 1. 개인키및 CSR 생성방법

More information

Sena Device Server Serial/IP TM Version

Sena Device Server Serial/IP TM Version Sena Device Server Serial/IP TM Version 1.0.0 2005. 3. 7. Release Note Revision Date Name Description V1.0.0 2005-03-7 HJ Jeon Serial/IP 4.3.2 ( ) 210 137-130, : (02) 573-5422 : (02) 573-7710 email: support@sena.com

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

untitled

untitled CAN BUS RS232 Line Ethernet CAN H/W FIFO RS232 FIFO IP ARP CAN S/W FIFO TERMINAL Emulator COMMAND Interpreter ICMP TCP UDP PROTOCOL Converter TELNET DHCP C2E SW1 CAN RS232 RJ45 Power

More information

<43B7CE20BECBBEC6BAB8B4C220BCD2C4CFC7C1B7CEB1D7B7A1B9D62E687770>

<43B7CE20BECBBEC6BAB8B4C220BCD2C4CFC7C1B7CEB1D7B7A1B9D62E687770> C 로알아보는 소켓프로그래밍 이현환 (NOON) haonun@gmail.com http://noon.tistory.com Hacking Study Grup E.Y.E -------------------------------------------------------------------- 목차 --------------------------------------------------------------------

More information

슬라이드 1

슬라이드 1 Task 통신및동기화 : Socket Chapter #13 강의목차 소켓개요 소켓관련시스템콜 네트워크라이브러리 스트림소켓을이용한프로세스통신 데이터그램소켓을이용한프로세스통신 Unix System Programming 2 소켓 (Socket) 소켓 (Socket) 개요 (1) 프로세스간의통신을위한데이터출입구 파이프도구를일반화 양방향데이터통신을지원 상호연관성이없는프로세스간에통신이가능

More information

Microsoft Word - Solaris 10에_DNS_Bind-9.3.1_설치.doc

Microsoft Word - Solaris 10에_DNS_Bind-9.3.1_설치.doc Solaris 10 시스템에 DNS 설치 - Bind 9.3.1 설치 DNS? [ Domain Name Service ] 인터넷에서컴퓨터시스템의 IP 주소를도메인으로사용하도록 Service를해주는시스템 Bind? 인터넷에서도메인의정보를가진 DNS를운영할수있는 Application으로 DNS를구성함에있어가장많은사용자를확보하고있으며 http://www.isc.org에서무료로배포된다.

More information

1장. 유닉스 시스템 프로그래밍 개요

1장.  유닉스 시스템 프로그래밍 개요 Unix 프로그래밍및실습 7 장. 시그널 - 과제보충 응용과제 1 부모프로세스는반복해서메뉴를출력하고사용자로부터주문을받아자식프로세스에게주문내용을알린다. (SIGUSR1) ( 일단주문을받으면음식이완료되기전까지 SIGUSR1 을제외한다른시그널은모두무시 ) timer 자식프로세스는주문을받으면조리를시작한다. ( 일단조리를시작하면음식이완성되기전까지 SIGALARM 을제외한다른시그널은모두무시

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation 1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation Board(EVB B/D) 들과 TCP/IP Protocol로연결되며, 연결된 TCP/IP

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information