블로그 이미지
송시혁

calendar

1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

Notice

Tag

Recent Post

Recent Comment

Recent Trackback

Archive

overhead

=> 로그 하나 보내는데 TCP는 8개가 소요 .


handshake (3)

log 메시지 (데이터)

FIN->

<-FIN

<-ACK

FIN->


UDP

=> log 메시지 (데이터)하나만 보낸다.

   (동영상, FAX)


/etc/defaults/

=> 운영체제가 디폴트 값을 설정한 파일들이 존재.


수정시에서

/etc/rc.conf가

rc.conf가 존재.


less /etc/defaults/rc.conf에 보면 

syslogd는 자동으로 yes로 되어있어서 구동되고 있는 것.



wtmp  로그인 정보, 생성, 실패, 로그아웃 정보 

utmp  현재 로그인한 사용자 정보 

btmp  로그인 5번 이상 실패시 나타나는 정보    

dmesg 현재 부팅한 정보



<암호학>


주로 사용하는 이름 


Alice / Bob : 송신자, 수신자


Eve         : 도청자


Mallory     : 공격자 


Trent       : 신뢰할 수 있는 중재자


Victor      : 검증자


암호화 /복호화


C = Ek(P) or C = E(K,P)


=> 암호화 알고리즘에다가 P를 적용하여 암호문이 나온다.


=> Key와 평문을 집어넣으면 encrytion시켜서 C(암호화) 나온다.


P = Dk(C) or P = D(K,C)


=> 복호화 알고리즘에다가 암호문을 넣어 적용하여 평문이 나온다.


=> 암호문과 키을 넣어 복호화 알고리즘을 적용시키면  평문이 나온다.




평문            : M 또는 P(Plaintext)


암호문          : C (Cipher)


암호 알고리즘   : E (Encrytion)


복호화 알고리즘 : D (Decrytion)


키              : K (Key)



암호 알고리즘과 보안 


● 자체 개발 암호 알고리즘 보다

  공개 암호 알고리즘이 보다 더 안전 - 안전성 검증자


● 약한 암호는 암호화 하지 않는 것 보다 더 위험



● 모든 암호는 Brute Force Attack(키를 무작위 대입)에 취약


  Attack에 소요되는 시간/리소스 고려


  위험도를 수용 가능한 수준에서 관리 

  


<고대 암호>


스키테일(Scytale)

- 위치를 바꿈 


시저(Ceasar)  

- 왼쪽으로 땡김 


전치 암호          : Transposition Cipher


치환암호, 대치암호 : Substitution Cipher

  

블록 암호          : Block Cipher


스트림 암호        : Stream Cipher

 

 

< 전치 암호 >  

  

● 알파벳의 순서를 뒤바꿈


● 스키테일 


● 레일펜스   

   we are discoverd. fllee at once 

   W... e .... C  ...R  

    e  r D   S 

  a


    -> WECRL TEERD


알파벳을 다른 것으로 교환


시저암호, ROT13



< 치환암호 >


암호키를 이용하여 변환 가능한


- 키가 'ZEBRAS'DLF RUDDN  


- ABCDEFGHIJKLMNOPQRSTU....

  ZEBRASCDEFGHIJKLMNOP


  

  - ALAAZQLKBA. VA ZOA RFPBLUAOAR!


  

<암호기법 - 블록 (block)>


● 평문을 블록으로 나누어 암호화 / 복호화


● 패딩: 평문이 정확히 블록크기로 나누어 떨어지지 않을 경우 


● AES, DES. Blowfish, IDEAm RC5 




<암호기법 - 스트림 (Stream) >



● 평문의 수신과 동시에 암호화


● 암호키 스트림 생성, 문자단위로 암호화


● 빠른 속도, 패딩 없음


● 암호키 스트림에 보안성 의존

   - 반복주기(period)의 사이즈

 

● FISH, RC4

 

 < 암호 시점 >

 

● 링크 암호화 : Link Encryption 

 

  물리곚층, 데이터링크 계층에서 헤더까지암호화

  ISP나 통신없자가 암호화, 사용자에게 투명함

  네트워크 중간노드(스위치, 라우터)에서 평문 노출 

  

  

  ALice -->    NODE1  -->   NODE2  -->    NODE3 --> BOb

  

  노드와 노드 사이에 복호화를 수행하면서 보고 다시 암호화 하는 방식

  해커가 노드를 장악하면 노출  

 

 

● 종단간 암호화 : End-To-End Encryption

  헤더제외 데이터 부분만 암호화

  송신자(사용자) 노드에서 암호화

  수신자(사용자) 노드에서 복호화

  네트워크전송간 평문 노출되지 않음

  *텔레그램 

 

   종단간 암호화 (end-end 사이에서 암호화)

=> 패킷에서 데이터만 암호화 


<암호 장비 구현 - 하드웨어 >

● 암/복호화 전용 CPU , 메모리 사용자

● 빠른 속도, 높은 가격, 범용성/호환성 문제

● TPM(Trusted Platform Module)

  => https://en.wikipedia.org/wiki/Trusted_Platform_Module

● inte AES instruction set 

  => https://en.wikipedia.org/wiki/AES_instruction_set

  

  

<암호장비구현 - 소프트웨어>


● 암호화 소프트웨어 라이브러리


● OpenSSL

현재 가장 범용으로 사용되는 암호화 소프트웨어 라이브러리

풍부한 기능

라이브러리 사이즈가 큼

오픈 소스 개발로 명령어 체게 등의 정비가 안되어 있음


LibreSSL

OpenSSL 기반 오픈소스 프로젝트

OpenSSL의 단점 보완 목표  

    * www.openbsd.org => openssl 사이트 

< 암호 알고리즘 >

● 대칭키(암호화 , 복호화 키가 같다.) openssl list-cipher-commands

DES openssl list-standard-commands

AES    

SEED, ARIA


● 비대칭키

  RSA

  EIGamal

  Rabin

  

  aes        256          cbc

  알로리즘, 키의 길이, 블록 암고리즘 방식

  

  bf - 디폴트 방식 

  

  

● 대칭키 

DES (Data Encryption Standard)     : 70's 채택

AES (Advanced Encryption Standard) : '01  채택

SEED, ARIA    : 국산 암호화 알고리즘


● 비대칭키

RSA                                : 가장 널리 사용되는 비대칭키 암호화 알고리즘

EIGamal

Rabin


NIST 미국 정보보안협회


암호공격


Kerckhoff의 원리 : 암/복호 알고리즘은 항상 공개되 있음


암호문 단독 공격 : Ciphertext only attack

기지 평문 공격   : Known Plaintext attack

선택 평문 공격   : Chosen Plaintext Attack

선택 암호문 공격 : Chosen Ciphertext Attack



<암호문 단독 공격>


● Ciphertext only attack


● 공격자는 암호문만을 가지고 있음


● 공겨의 목표은 암호문에 해당하는 평문 또는 암호키


● 대칭키가 짧을 경우 Bruteforce Attack에 쉽게 노출 


<기지 평문 공격자>


● Known Plaintext attack


● 공격자는 평문과 평문의 암호문을 가지고 있음


● 공격의 목표는 암호키 도는 암호화에 사용되는 코드북


● 이니그마(Enigma)의 해독


< 선택 평문 공격   >


● Chosen Plaintext Attack


● 공격자는 자신이 선택한 평문에 대응하는 암호문을 가질수 있음


● 공격의 목표는 암호키



< 선택 암호문 공격 >

Chosen Ciphertext Attack

공격자는 자신이 선택한 암호문에 대응하는 평문을 가질수 잇음

공격의 목표는 암호키 


<혼돈과 확산>


● 혼돈 :confusion


-> 암호문과 키의 상관관계를 숨김


-> 암호문의 각 비트는 키의 다수 비트에 의해 결정되어야함 


● 확산: diffusion

->평문의 통계적 성질을 암호문 전반에 퍼뜨려 숨김


->평문의 비트 한 개의 변경이

  암호문 절반에 해당하는 비트가 변하도록 함

      (평문 1개 변경이 암호화했을때 완전이 달라지는 성질)

  

S-Box, p-Box



● S-Box: substitutiojn

-> 비트 세트를 다른 것으로 바꿔 끼움

-> 혼돈에 관여


● P-Box : Permutaion /Transposition

-> 비트의 순서를 바꿔 썩음

-> 확산에 관여


● 라운드

S-Box와 P-Box를 거치는 단위



<Feistel 암호화>



● Feistel

  -> 독일태생 암호학자, 물리학작

  -> Lucifer, DES 고안 


● 3라운드 이상, 짝수 라운드로 구성


● 암/복호화 과정(알고리즘)이 동일

   -> 하드웨어 구현 용이


● DES, TwoFish, Blowfish

  

  

대칭키 알고리즘 비교 

------------------------------------------------------------------------

|구분    |    DES | Triple DES | AES |

------------------------------------------------------------------------

|평문블록크기(bits)    |    64 | 64 |   128 |

------------------------------------------------------------------------

|암호문 블록크기(bit )    | 64 | 64 | 128 |

------------------------------------------------------------------------

|키크기    | 56 | 112,168 | 128,192,256 |

------------------------------------------------------------------------



< 암호화 방식 >

ECB 모드: Electric Code Block mode 

CBC 모드: Cipher Block Chaining mode

CFB 모드: Cipher-Feedback mode

OFB 모드: Output-Feedback mode 

CTR 모드: Counter mode



<해시 함수 >


● SHA1, SHA256, MD5, RIPEMD-160


● 일방향 함수


● 무결성 입증


● 전자성명, 메시지 인증코드(MAC, Message Authentication Code)


Root kit

-> 커널에 기생하는 말웨어 . 찾아내기 힘들다.

   백신이나 process에 붙어서 잘못된 정보를 주기때문에 찾기 힘들다. 



  

<대칭키 암호 >

$ openssl list-standard-commands


● enc  : 대칭키 암 /복호화 


● dgst : 해쉬값 구하기


● ca   : PKI에서 CA의 생성 


● x509 : 인증서 관련 작업 

  

  

대칭키 암호화 /해시값 구하기

  

  

file.txt 대상


openssl enc -base64 -in file.txt

openssl enc -base64 -in file.txt out file_base64.txt


openssl enc -aes-256-cbc -in file.txt -out file_enc.txt

=> file.txt를 aes256알고리즘으로 cbc방식으로 암호화 하여 file_enc.txt에 저장.


openssl enc -aes-256-cbc -d -in file_enc.txt(복호화)

=> file_enc.txt를 복호화 


openssl dgst file_enc.txt 

->해쉬값을 파일에 저장

  

openssl dgst -sha256 file_enc.txt

-> 해쉬값을 256비트에 크기만큼 파일에 저장(sha256 이 해쉬 256비트라는 것이다.)

  


  

● /usr/share/dict/web2a ~/openssl_work/아래복사


● web2a의 MD5 해쉬값을 web2a.md5에 저장

=> openssl dgst -md5 web2a > web2a.md5


● web2a를 des3알고리즘을 이용하여 암호화 : web2a_enc

=> openssl enc -des3 -in web2a -out web2a_enc


● 암호환된파일의 MD5 해쉬값을 web2a_enc.md5에 저장 

 => openssl dgst -md5 -in web2a_enc > web2a_enc.md5 


● diff를 이용하여 web2a.md5, web2a_enc.md5 비교

=> diff  web2a.md5 web2a_enc.md5


● 암호화된 파일을 web2a_decript 파일로 복호화를

=> openssl enc -des3 -d -in web2a_enc -out web2a_decript


● 복호환딘 파일의 MD5 해수l값을 web2a_decript.md5에 저장

=> openssl dgst -md5 web2a_decript > web2a_decript.md5


● 복호화된 파일과 원본 MD5를 diff를 이용하여 비교 

=> diff web2a_decript web2a_decript.md5



비대칭 암호 



Public Key(공개키) 



공개키로 암호화 : 개인키로 복호화

개인키로 암호화 : 공개키로 복호화


PKI 공인인증서 시스템에 이용 



비대칭 암호 

openssl genrsa -out priv_key.pem 1024

=> 키의 비트 갯수는 1024 


openssl rsa -in priv_key.pem -text -noout

=> 암호화돠 키의 내용을 텍스트 내용으로 본다. 

    RSA는 소인수분해을 이용한다.


openssl rsa -in priv_key.pem -outform DER -out priv_key.der 

=> priv_key.der 이진파일로 저장. 

  

PEM : 인터넷으로 전송하기 좋은 아스키 코드 형태


DER : 이진형태 파일

.cert

.cer

.crt


두 가지 형태 사이 변환 가능   



openssl rsa -in priv_key.pem -des3 -out encrypted-priv_key.pem

-> RSA 개인키는 대칭키 시스템으로 암호화 하여 보관


openssl rsa -in encrypted-priv_key.pem -pubout -out dec_priv_key.pem

-> RSA 개인키에서 공개키를 추출 



openssl resutl -encrypt -in file.txt -inkey pub_key.pem -pubin -out file_enc.txt

openssl resutl -dencrypt -in file_enc.txt -inkey pub_key.pem


  

비대칭 키를 이용한 암/복호화


비대칭 암호화는 시스템 리소를 많이 요구하고 느림


-> 사이즈가 큰 파일은 비대칭 암호화 하지 않음


송신자는 수신자의 공개키로 암호호하여 전송.

수신자는 자신의 개인키로 복호화한다.



  

파일으 무결성 입증: 전자서명


openssl rsautl -sing -in <해쉬값> -out <서명> -inkey <키>

openssl rsautl -decript - in file_enc.txt -inkey pbukey.pem -pubin

openssl dgst file_dec.txt 

사이즈가 큰 파일은 전자서명



문서 -> 해쉬 ->  public key로 암호화 -> 암호화된 해쉬와 문서를 전송(이때 송신자는 문서의 해쉬를 다시 구함)

->수신자 priv_key 복호화-> 문서에 대한 해쉬와 암호화된 해쉬를 복호하여 비교 -> 똑같으면 수신, 아니며 거부 

이부분은 인터넷 참고.



PKI(Pulbic Key Infrastructure)


● 인증기관 : CA의 CA, Certificate Authority


● 등록기관 : RA, Registar Authority


● 디렉토리 : Directory(ex.LDAP)


● 사용자   : Entity 


● CRL(Certification Revokcation List)

=> 공인인증서를 받아들이기전에 조회를 하여, 이 키가 사용이 되는 건지 필터링. 즉 이전에 

   사용하던 키는 절대 사용할 수 없다. 이러한 리스트.


● OCSP(Online Certificate Status Protocol)




개인키, 공개키는 누구나 만들 수 있다는 치명적인 단점.

공개키 사칭하면 누가 진짜 공개키인지, 누구거인지 모른다.

그래서 인증기관이 관리한다.(PKI)




< 공인인증서 >


● 두개의 파일 : 공개키, 개인키


● 공개키      : 공개적 배포


● 개인키      : 비밀번홀호암호화 되어 저장


● 본인확인의 수단 


///////////////////////////////////////////////////////////////////////////////

정보보안기사 일부 용어 정리 


<GDPR>


● General Data Protection Regulation


● 일반 데이터 보호법 / 범용 데이터 보호법


● 유럽에서 2018년 5월 25일부터 시행


● 개인정보 보호 등의 조치를 하지 않은 기업은 상당한 벌금 

  


<정보보호인증>


ISMS(Information Security Management System)


PIMS(Personal Information Management System)


ISO 27001, ISO 27000 시리즈



<정보보호 제품>

● IDS(Intrusion Detection System)


● IPS(Intrusion Prevention System)


● DLP(Data Loss Prevention)


● UTM(Unified Threat Management)



<CIO/CISO>


Chief Information Officeer


Chief Information Security Officeer


기업에서 임원급 정보보호 책임자


기업의 정보보호 정책 / 조직구성 



<Blockchain>


● 가상화페의 기반 (암호학) 기술


● 블럭이 체인으로 연결되어 있는 구조


● 가상화폐에서는 각 블럭이 한 건의 금전 거래


● 각 블럭은 이전 블록의 해시값을 포함하여 생성되므로 

  중간 블럭을 누군가가 임의로 조작할 수가 없음


● 회계장부의 조작이 불가능


● 의료기록의 보존에도 블럭체인 기술 사용가능함



<Caas>


● Crime as a Service


● 다크웹을 통해 범죄(Dos공격, 랜섬웨어 유포)를 서비스


● SaaS: Software as a Service


● PasS: Platform as as Service



<전자지갑(가상화폐)>


● 가상화폐에서의 전자지갑:

가상화폐를 사용할 수 있는 공개키와 개인키를 저장하는 파일

● 최근 가상화폐 행킹/ 유출은 전자지갑의 탈취 사건 

● Hot wallet 

원활한 가상화폐 거래를 위해 인터넷에 직접 연결된 전자지갑

● Cold wallet

안전을 위해 인터넷에 직접 연결되지 않은 네트워크에 저장된 전자지갑


<망분리>


● 개별적인 네트워크(Broadcast domain)를 구성하여 사용가능함


● 최근 가상화폐 히킹 /유출은

  =>Hot wallet은 망분리 되지 않은 상태이므ㅡ로

  인터넷을 통해 바로 접근 가능한


나야나 인터넷 호스팅 업체 랜섬웨어 피해사건

백업 서버가 망분리 되지 않아 같이 랜섬웨어에 감염 





접근통제 


MAC : Mandatory Access Control

 => 관리자가 접근자 /대상자에 보안레이블을 부여

 => 관리자가 직접 접근통제 


DAC : Discretionary Access Control

 => 유닉스, 리누긋에서으이 일반넉인 접근 통제

    파일 소유자(생성자)가 적븐통제 규칙 지정 


RBAC: Role-Bases Access Control

 => 직급 등 역할에 따라 관리자가 접근 통제 규칙을 지정 



<BYOD>


● Bring Your Own Device 

  -> 기업에서 직원에게 컴퓨터 등의 사무기기를 제공하지 않고

  -> 직원이 자신의 노트북, 태블릿 PC등을 반입하여 업무에 활용하는 정책 



  <NAC>

●   Network Access Control

  




posted by 송시혁

물리적 L1


- 구리 

- 전화선

  => 거리가 길다. 이미 깔려 있다.

     속도가 느려서 다른 솔루션이 필요해짐(ethernet)

  => 커넥터( 연결하는 부분)

     RJ11 규격(4가닥)   

  => 간섭에 약함

     (주변에 전원선이 있어도 안되고, 다른 전화선들과도 간섭을 받는다)  

G.fas(국제 표준)

  ->전화선으로 500M

    Hawaii

G.hn(KT, 유비쿼스 특허)

  -> KT, LG

전화선으로 400M

KT GiGAWire

 

 

  

  동축케이블

=> 거리가 길다.

   속도가 느림

   광케이블로 대체   

   (거리가 ~ 70km까지 가능

   동축을 멀어봐야 1KM

   속도가 빠름 

   1G/10G/40G/100G

   동축케이블 10M

   (dotcis   -> 100M 

    dotcisv3 -> 1G

    G.hn -> 300M

    (CJ 헬로비전, LG )

   광케이블은 서로 간섭이 발생안하고,

   동축케이블은 간섭을 최소화 시킨 케이블

  

- 1970 태동

  1980년 많은 표준들이 성립

  1990년 점점 상용화

   -> PC통신(천리안, 하이텔, 나우누리)

   -> ISDN, ASDL, VDSL(50M)(여기까지 전화선 사용)

   -> Ethernet을 도입. (100M 서비스 가능)

      => UTP 케이블을 포설(Cat 5)

   -> UTP케이블

   : 가장 일반적으로 쓰는 케이블

   PC 뒤에 연결된 회색 케이블 

   : 현재도 가장 많이 쓰고 있음 

   : 타입마다 Category로 구별한다.

     Cat

   : Cat 5/ Cat 5e / Cat 6 / Cat 7

   : Cat 5  -> 케이블이 갈색 

     Cat 5e ->  케이블이 회색 

     Cat 6  -> 케이블이 회색 혹은 흰색 

Cat 구분은, 이루어진 구리선의 

성분 차이와 서로 간섭을 어떻게 방지

하는 기술의 차이이다.

 

1G이상은 cat 5e부터 사용해야 한다.

 

-> 구리선 -> 간섭 (전류가 흐르기 때문에 )

-> 전화선 선 2개

   (내부적으로 간섭이 자기 말고 

     한선에 의해서만 발생)

->UTP는 선 8개 

  (내부적으로 간섭이 심함)

  (UTP가 꼬여있기 때문에 간섭이 덜 발생)

  

->STP(Shield Twisted Pari)

  -> 각 쌍마다 은박지로 차폐

  -> 가격이 비쌈

  -> UTP(비차폐형 케이블, unshielded Twisted Pair)

  -> UTP가 꼬인 이유 

     : 플레밍의 왼속 법칙을 사용하여 간섭을 최소화

  -> UTP 가닥마다 새깔이 다른 이유 

  : 1) 구분 2) 저항값이 다름

  : UTP에 구성된 가닥의 색깔은 

    300개 정도가 존재함 

  : 주(주황, 주띠, orange)

    녹(녹색, 녹띠, green)

파(파란, 파띠, blue)

갈(갈색, 갈띠, brown)

  : Direct / Cross

  : Direct 

     양쪽 다 : 주띠, 주, 녹띠, 파, 파띠, 녹, 갈띠, 갈 

Cross 

한쪽    : 

다른 쪽 : 녹띠, 녹, 주띠, 파, 파띠, 주, 갈띠, 갈

광 케이블 

: 빛의 전반사를 이용한 케이블 

-> 전반사   : 전부다 반사되는것

-> 물수제비 : 표면에서 계속 됨


1) 코어와 클래드로 이루어짐

   ( 코어는 내심, 클래드는 외심)

   코어와 클래드의 굴절률 차이로

   전반사를 일으켜서 손실을 작게

   앞으로 나가게 하는 구조 

   

1) 빛이 들어면 1, 안들어오면 0

2) 타입

   - single(SM) : 케이블 노란색 , 1개씩 전송

                  장점 : 70KM까지는 사용가능. 장거리용으로 사용.

손실이 적음, 모드 분산이 없다.

 

  

   - multi (MM) : 케이블 주황색 , 8개씩 전송

  장점: 가격이 싸다.(케이블도 포함), 코어가 넒음.

                          

  

                  단점 : 단거리용(손실이 싱글보단 많고 모드 분산이 발생한다.)

  모드 분산 - 케이블이 길면 길수록 파장이 엉클어 지는 문제점 발견.

                  장거리 취약함.

  단거리에서만 사용.( 300M 이하 )


  DB(단위, 데이터베이스 아님!!)  - 손실 

  -31DB < 범위 <0, -31DB 그 이하로 낮아지면 링크가 안됨.

- 광케이블은 광모듈에 연결해서 사용

  광모듈(인터페이스)

- int fa 0/1

  (슬롯에 광모듈을 꼽고 그 광모듈에 광케이블을 연결해서 사용함)


- 1G/10G/40G/100G를 지원함

1

- 40G와 100G를 많이 사용하지 않는 이유 

  : 발열

  : 전기세 

  * 지하에는 안씀다. 발열을 식히는 솔루션이 없기 때문이다.


- 아파트 Switch 

  외부온도가 40도

  스위치안에 내부온도는? 100도에서 105도 (CPU온도)

  장비를 포개놓으면 안됨

  (광모듈을 쓰는 장비는 특히 조심)

  

  

이더넷 - Layer 2의 기술. IEEE 802.3 규약 


이더넷은 CSMA/CD(carrier sense multiple access with collision detection) 반송파 감지 다중 접속 및 

충돌 탐지


100BASE-T - 10M를 지원 1초당. 


100BASE-TX  - 100M 초당 100메가비트를 지원. 카테고리 5


100BASE-FT  - 100M 광케이블을 이용해 초당 100메가비트 구현하는 이더넷.

              FX는 광케이블을 뜻함.   


1000BASE-T  - 1000M   cat5e, cat6가 속함. 


1000BASE-SX - 1000M  멀티모든 광케이블을 이용해 550까지 초당 1기가 비트를 전송. (단거리 

- Short 


1000BASE-LX - 1000M  멀티모드 광케이블로는 550미터, 싱글모드는 10킬로미터

- Long 


광 커넥터 타입


SC - single core 타입, 주황색(Multi), yellow(single)


SC-PC-MM - 노랑색 케이블에 파랑색.


SC-APC-SM : 주황색 케이블에 초록색.



LC - 2개가 한 개의 케이블 


Half Duplex/Full Duplex


반이중/전이중 방식


Half Duplex -> 수닛, 송신중 하나밖에 못함


Full Duplex -> 송신, 수신이 동시에 가능


10M/100M    -> Half/ Full 가능 


1G ->FULL만 가능.


CRC 

=> show interface 명령어로 조회 가능.

   1로 되어있으면, 케이블을 바꿔본다.

   

10base-5(10M half)를 사용시, 충돌이 되지 않은 최소 단위가 64byte




posted by 송시혁


지난 시간 복습


IP 네트워크 대역대를 구분하는것 

subnetmask에 따른 네트워크 대역대를


subnetmask

netmask

networkmask

mask


다 같은 용어임


CISCO, Junifer, Alcatel-lucent

Dell, HP(휴렛패커드), Hawaii, ZTE, 


국내사


유비쿼스, 다산, HFR, 유빈스, 엔아이투스, 미리넷(망함)


1) 부산 직업전문학교 402호실에 PC가 20대가 있다. 부산적업전문학교의 사설 IP는 

192.168.0.0./24이다. 다른 교실과 같은 네트워크 대역을 사용하지 않게 서브네팅을 하고

Network Id, Broadcast IP 그리고 사용 가능한 IP들을 구하시오.



192.168.0.0/ 24


11111111 11111111 11111111 11100000




20대 사용가능 PC


subnet       = 255.255.255.224/27

Network IP   = 192.168.0.0

Broadcast IP = 192.168.0.31

gateway      = 192.168.0.30


사용가능한  ip

첫 번째 대역 사용가능한 IP  = 192.168.0.1 ~ 192.168.0.30


domain - 같은 대역을 쓰는 것을 말한다.



Broadcast Domain

- 발송한 broadcast가 도달하는 범위.



Collision Domain


------------------------------


ARP (Address Resolution Protocol) = 이름을 물어보는 역할하는 메시지.

ping (서로 연결되어있는지 확인하는 메시지)


발송하는 사람 IP, 주소, source IP, address

받는 사람 IP,  주소 destination IP, address


사용자도 모름(불가능) 일일이 mac address를 알수 없음


목적지를 broadcast(FF:FF:FF:FF:FF:FF)


ex) ping 192.168.0.30

    ARP가 목적지 mac 을 FF:FF:FF:FF:FF:FF로 달고, 메시지 내용을  192.168.0.30주소를

    쓰는 아이의 mac을 아는사람이 있니? 라고 물어보는 메시지를 보낸다.

게이트웨이가 다른 network(대역)으로 메세지늘 보내는 역할을 한다.



게이트웨이에  ping이 가지 않으면 내부문제

그렇지 않으면 router에 문제이다.






->네트워크 대역을 장비에서 나누는법


문제점: L2만 구성하면 브로드캐스트때문에 과부하가 심하다. 따라서 L3와 같이 쓴다.

        L3 라우터/스위치는 브로드캐스트하지 않는다.


->L2에 연결된 장비들은 같은 대역대의 IP를 쓴다. 

  같은 L3에 연결된 장비들은 인터페이스(포트)마다 다른 대역대의  IP를 쓴다. 


switch 에 ip를 넣는 이유


현업에서는 ip

장애처리를 쉽게 하기 위해서, 스위치에 telnet을 하여 원격 제어를 위함.

즉, 관리와 운영을 하기 위함.



show running-config - 현재 설정된 config를 보여 줌.



copy running-config startup-config

- 현재 config를 저장. 이전 config를 볼 수 있다. 


show vlan

스위치에 vlan가상의 공간에 ip넣는다.

gi/0은 기가 서비스 스위치.



wr - config 저장. 덮어쓰기. 예전 config를 볼 수 없다. 


reload - 저장된 config를 불러온다.

ip address ip주소  subnetmask를 친다.


no shutdown - 설정을 업데이트 및 적용 


interface vlan 1

ip address fastEthernet 0/1


ctr+shift+6 = 단축키 스위치나 라우터에 명령어를 잘못입력하면

그 해당 문자열을 dns인줄 알고 몇 분동안 검색하게 되어 사용자는

아무것도 못하게 된다. 이것을 바로 빠져 나오게 하는 단축키.

 

 

이 단축키가 귀찮으면 전체 모드나 priviledge 모드에서 no ip domain-lookup을 입력하면 된다.



#(config) = 이 모드에서만 설정이 가능. ip나 vlan을 설정.

특정  interface를 설정해야 함으으로 interface 00를 치면

#(config if)가 된다.

여기서 ip를 설정.


다른 대역으로 통신을 하기 위해서는 반드시 디폴트 게이트웨이를 보내야 함.



명령어 정리


-> 접속

실제 장비는 ID, PASSWORD: 입력해야 한다.


Switch>enable - >(enable 모드로 전환. privilege mode)




Switch#

여기서 할 수 있는 것.


- show 조회


- show vlanshow running-conbfig

- ping

- config teminal 모드로 전환. 


Switch# config t(설정 모드로 전환 -  장비에 대한 설정은 이 모드에서 

                 대부분한다.)


Switch(config)# 


interface (int 만지거나 tab 을 입력해도 된다.)

int fa 0/0

int vlan 1


Switch(config-if)# 

(인터페이스로 진입을 하였을 때) 인터페이스에 대한 설정이 가능.

switchport mode access

switchport access vlan 10)


Switch(config)#line vty 0 4

-  telnet등 원격에 관한 설정을 할 수 있는 모드로 들어간다)

-  0~4는 동시에 접속가능한 사용자 수를 설정. 



Switch(config-line)#password 1234

- password를 지정하여, telnet등 원격 접속이 가능하게 한다)




인터페이스 - 포트.




20.1.1.0/24 -왼쪽


PC 


20.1.1.1

255.255.255.0

20.1.1.254



10.1.1.0/30 - 아래


30.1.1.0/26 - 오른쪽 






posted by 송시혁




<** SQL 활용 **>


Data         - 자료


Informatiuon - 정보


정보 - 내용.

자료 - 정보를 모아서 의미를 찾거나 분석하는 것.


data -> information


data minig(Bots)


big data



< data base >


자료저장소

- 데이터를 넣어놓는 곳


knowledge base

- 지식 저장소


Expert System / AI(Artificial Intelligence)

- 전문가 시스템(인공지능 구현한 시스템)



<자료를 저장의 방법>

* Hard code



code에다가 물리적으로 내용을 삽입하거나 변경하는 행위.


compile/ link at every data change

Static update, insert



#define NAME

#define PHONE_NO


....

printf("%s, %s\n", NAME, PHONE_NO);

....



* plain text, flatfile


하나의 데이터를 text화하여 데이터를 삽입, 추가, 변경

어플리케이션을 구성하여 데이터를 보여주거나 검색.


CRUD(Create, read, update, delete)

- 데이터를 삽입, 읽고, 수정 삭제


Dynamic data manipulation

- application에 의하여 동적으로 데이터를 운용.


Application dependent

- 종속적, 프로그램에 의존. 데이터를 관리시 관리자마다 관리방법이 다르거나 패치시에 

  어플리케이션을 매번 바꿔야 하는 문제.



* Spreadsheet


unique file fromat

- application dependent, better performance

- 프로그램 종속성을 조금 완화한 형태



* CSV(Comma Seperate ???) format

- common format

- application independency


scalability : 확장성

- 얼마나 큰 데이터를 저장할 것인가에 여부

- 주문서 관리

- 30/일

- 30*25일 = 750

- 750*6개월 = 4500


* race condition

경쟁관계 서로 하나의 자원에 대해 경쟁하는 상태.


- 주문서 수정/삭제 

- 현금 입/출금

100만원에서 70만원 뽑았으나, 다른 신용카드 회사에서는 50만원을 뽑아간다. 이런 경우는

race condition이 발생함.



* locking

locking level - file, table, record, field, bit

자원을 사용시에는 locking을 걸어서, 나머지는 대기.


Database systems


microsoft office excel -> access , SQL Server import

scalability(확장성) : binary storage(이진 저장 사이즈 작음), indexing(목록, 꼬리표)


concurrency(동시성) : record(한줄 단위), bit level locking 작으면 작을수록 기다리는 시간이 줄어듬.


remote access feature -> distributed architecture


still application dependent w/o SQL


concurrency(race condition, locking): 동시성



MySql  - DB 

SQLite - DB

서로 읽어들이는 방법이 다름.


현재는 공통적인 언어를 이용해 질의 ->sql


SQL - Define, Manipulate, Control

structured query languge

commono style developed

standards - SQL-92, SQL-99, SQL-2003

optimization % Variations per DB systems


DDL : Data Definition Language

- 데이터를 담을 틀(그룻)에 대한 작업: Create, drop



DML : Data Manipulation Language

- data를 담고, 수정/삭제하는 작업 : select, insert, delete


DCL : Data Control Language

- 작업을 제어(통제): COMMIT, ROLLBACK




Atomic


Bestin transaction - 어떤 특정한 동작을 한꺼번에 처리하는 명령문 

commit

crowfoot


ER diagram



Entiry       : 개체

- 데이터 베이스 자체(사각형 표시).


Attribute    : 속성

- 내부 내용(동그라미 표시)


Relationship : 관계

- crow's foot(마름모 모양)


관계형 데이터베이스

- 서로 다른 데이터가 엮여있거나 관계가 있는 데이터베이스



외부키(foregin key)

바깥을 가르키는(참조하는) 키.



네트워크 


MAC 주소(oui, NIC)


토폴로지(topology): Bus, Ring, Star, Mesh





스위치 

-  mac -table 과도하게 등록하면 flooding해버린다.

프로미스큐어스 모드


라우터


논리적 주소


link local

class, mask

private network IPs

- 사설 ip


10.0.0.0   ~  10.255.255.255 /8  앞에 8비트 네트워크, 뒤에는 호스트

172.16.0.0   ~ 172.32.255.255  /12 앞에 12비트 네트워크, 뒤에는 호스트

192.168.0.0  ~ 192.168.255.255/16 앞에 16비트 네트워크, 뒤에는 호스트


0000 0000

1000 0000

1100 0000



A 0.0.0.0  ~ 127.255.255.255


B 128.0.0.0 ~ 191.255.255.255


C 192.0.0.0 ~ 223.255.255.255


D 224.0.0.0 ~ 239.255.255.255


E 240.0.0.0. ~ 247.255.255.255


routing table


ARP


논리적 주소 -> 물리적 주소 (IP - > MAC)변환



TCP 3handshake

syn flooding attack


< BSD 소켓(Socket) >



네트워크 통신(nextwork programming interface)


파일 입출력과 같은 개념(Works like file I/O)


윈도우 버전은 윈속(Window version is winsock)



서버와 클라이언트


특정 IP, 특정포트뒤에서 대기.


클라이언트를 통하여 서버와 대화


특정 IP, 특정포트가 없는 경우 : 커널


port와 방화벽


불필요한 네트워크 차단


IP, 포트, 네트워크 인터페이스, 트래픽의 방향


2세대 방화벽: Stateful


*침입탐지/ 침입방지(IDS/IPS)


패킷의 데이터 검사


탐지, 탐지 후 차단


signature based/Anomaly based

- 정상적인 상태가 어떤지 미리 알려주고 그 범위를 벗어났을 때 알려줌.

- 룰이 없음. 하나하나 무조건 모두 검사. 오탐률 높음.




HIDS / NIDS

- host, network 설치방법, 구성에 따라 달라짐.



HTTP - 문서 80

FTP  - 파일 20 21

DNS  - domain name server 53

ICMP - ping, echo request/response 

SNMP - 네트워크 장비들 사이에 원격으로 관리하기 위한 메시지를 주고 받는 프로토콜. 

       cpu, memory 네트워크 상태를 알려줌.


   

   

   

   

sqllite 간단 실습

해당 경로에 sqlite3을 실행. ".exe"를 안적어도 됨.




실행하면 "sqplit>" 형태가 되며, 종료는 ".quit"가 됨. sqlite는 sql문을 제외하고 반드시 "."을 앞에 붙이고 실행.





sqlite3 two.db라고 치면 아무런 데이터가 없는 database가 생성됨.



인터넷에서 무료로 배포하는 database를 다운받아 실행하였다. 그리고 그림은 잘렸지만 "sqlite3 chinook.db"를 실행한뒤

".tables"라고 친다. 안에 뭔가가 들어있다.





"select * from palylists;"라고 치면 "playlists"라는 속성을 선택하여 그 안에 내용을 보여준다.

   

   

   

   

   

   




















posted by 송시혁

 

간단한 용어 정리

 

네트워크란?

 

- 장비. 즉, device와 device간에 정보를 교환하는 것.

 

end device - PC, server, 휴대폰(단, 휴대폰은 핫스팟이 있으므로 end device가 아닐 수 있음)

 

LINK  - 서로 양 device간에 연결하여 데이터를 송수신가능한 상태.

DATA - 내용물

 

MAC ADDRESS - 이름, 주소 - Network ID

 

기본 구성

 

source IP                     - 발송 IP(보내는 사람)

source MAC address      - 발송 MAC address (보내는 주소)

destination IP                - 목적지 IP(받는 사람) 

destination MAC address - 목적지 MAC address(받는 주소)

 

라우팅 - 최종목적지를 보고 다음목적지로 보낸는 것. 목적지 주소와 next hop이 중요

next hop - 다음 목적지(최종 목적지 아님)

 

mac address는 변경은 가능하지만 변경된 mac address는 사용할 수 없다. 등록이 되어있지 않은 mac address이기 때문.

mac address - 장비의 고유 주소 (공장에서 생산할때 부여)

OUI - 고유번호 제조사 코드. (관련 회사)

NIC  - 랜덤 번호. 랜덤으로 부여.

 

 

 

 

출처 - http://fniko.tistory.com/ 

 

해당 업무시, 네트워크 장애시, mac address를 보고 제조사를 파악.

 

 

 

IPv4

 

 

8bit씩 구성되면, 4byte로 되어있음

서브넷 마스크 - 해당 주소의 구역을 나타냄. 동시에  IP주소를 부여할 수 있는 숫자를 나타냄.

 

L2/L3 간단한 정리

 

flooding    - 원하는 목적지없어 해당 구역에 전체에게 전송.

forwarding - 목적지에게 바로 전송.

 

 

허브(HUB) - flooding

L2 스위치  - flooding, forwarding 가능

L3 스위치  - hardware적인 통신(routing table을 참조하여 스위칭).

router        - software적인 통신.


L2 스위치 내부 구조

 




 

transporter - 전기적 신호를 디지털 신호로 전환

 

MAC address TABLE

 

source Mac address와 해당 포트가 등록되어있는 집합체.

 

Link되어있는 포트에서 패킷이 올라오면 MAC address  table에 등록.

다시 말해서, LINK가 된 포트에 packet이 들어오면 그 패킷에 source

mac address를 기록.

 

참고로 같은 포트내에서 여러개의 다른 mac address가 올라올수 있음.

 

cisco packet tracer 도구로 간단히 실습

위 첫번째 파란색 네모가 스위치. 아래 파란색 네모가 PC.

 

 

PC 아이콘을 클릭하면 아래와 화면이 뜨며, 빨간색 네모에 IP configuration을 클릭.

 

 

 

 

 

아래와 같이 고정 IP로 설정. 탭키를 누르면 커서가 subnet mask로 넘어가며너 subnet mask 자동으로 설정. 동일한 방법으로 PC2도 설정한다. 단, IP주소는 PC1과 다르게 한다.

 

 

스위치를 클릭하여 가상의 스위치 콘솔이 나타난다.

"enable"을 입력하여 커맨드 상태로 만들고 등록되 mac -address를 보기 위하여 "show mac-address-table"을 등록.

그러나 다칠 필요는 없으며, "show mac-"까지 입력하고 탭키를 치면 알아서 위의 명령어가 완성됨.

리눅스와 마찬가지로 개발자의 편리성을 추가한듯 하다. 삭제는 "clear mac-address-table"이다.

 

 

 

 

스위치를 눌러서 아래와 같이 콘솔창을 크릭.

 

 

ping을 때려보자. 현재는 그림에는 안나타나있으나 mac-address-table이 삭제 상태이다. 그러나 ping을 때림으로서

mac-address-table에 다시 등록된다.

 

 

 

 

아래는 추가적으로 선을 연결하는 방법. 원래 위에서 포스팅해야되는데 까먹고 추가적으로 하는것임.

 

번개모양을 누르고 바로 옆에 번개모양을 누른다. 캡쳐를 잘못하여 정지 표시가 되었다. 여기에서는 모든 아이콘이 클릭하면 정지 표시로 뜬다. 원래는 저자리에 번개 표시이다. 즉, 화면에 보이는 번개표시와 빨간색 네모(지금은 정지 표시)도 번개 표시이다.

 

원하는 deviece에 클릭하자. 드래그나 아니다!!! 클릭이다!!!

한참 기다리면 스위치에도 파란색 불이 들어온다. 그러면 연결된 상태이다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


posted by 송시혁
prev 1 next