goorm 4일차

박경현·2022년 8월 4일
0

오늘은 wireshark사용법과 암호화, 그리고 Linux종류에 대해 알아보고 다운로드까지 했다

블록체인 할때 암호화 공부했는데 여전히 헷갈리네ㅡㅜㅜㅜㅋㅋㅋ

네트워크의 이해

패킷을 분석하는건 개발자 와 운영자도 해볼 필요가 있음

에러 없는지, 이상한 패킷은 없는지 확인해봐야함

GUI방식의 네트워크 패킷 분석

Wireshark 프로그램

오픈소스 방식의 패킷 분석 프로그램

windows, linux, macOS에서 제약없이 사용 가능

네트워크를 통해 송 수신되는 패킷에 대한 분석을 통해 
보안 이슈나 트러블 슈팅에 대한 분석목적으로 많이 사용


그래프처럼 이동하는게 인터넷에 연결된 녀석들! 
-> virtualbox의 경우 가상네트워크여서 그래프 움직이고 있다

Adapter for loopback traffic capture=> 127.0.0.1이라고 해서 나 자신에게 돌아오는 애

네트워크 어댑터 - 실제 네트워크에 연결된 장치
네트워크 장치 드라이버 - 
	네트워크 연결 장치를 실제 제어하는 프로그램, O/S내에 설치 되는 프로그램
	장치드라이버는 장치를 연결할때 별도로 설치를 해야 장치를 제대로 사용할 수 있다!!
	(stdin, stdout을 제외한 나머지는 별도 설치됨!)

Filter toolbar를 이용하여 원하는 패킷 filtering 할 수 있다.

N0. Time Source  Destination  Protocol  Length Info

No = 패킷넘버 
Time = 수신된 날짜및시간(누적된시간)  
Source = 송신한쪽
Destination = 수신한쪽
Protocol = 프로토콜 
Length = 패킷길이  > 제멋대로임
Info = 추가정보

그 아래는 패킷의 실제 상세 내역 -> 헤더가 덕지덕지 붙은것을 표현
또 그 아래는 16진수로 전송되는 패킷을 표현

Ping 8.8.8.8 -> 이 안에 내용 중 Checksum:은 오류가 있는지 없는지 확인해 주는 애!
ICMP는 인터넷 계층에 해당함 그래서 포트번호랑 어플리케이션 관련 코드가 없음!

tcp.port == 80 하면 80번 포트로 송수신되는 패킷만 보임!
Ip.addr == -특정 IP로 송수신 되는 패킷만 필터링!
공인이냐 사설IP냐는 굳이 집중 안해도 된다!
Ip.src == 하면 송신(Source)으로부터 나에게 오는것만 보기 가능!!

wireShark를 익숙하게 사용해보자!!

암호화 방식

  • 다른사람이 데이터를 중간에 가져가도 알 수 없게 만드는게 핵심

대칭키(비밀키)암호화

암호화와 복호화를 하나의 키로 수행 -> 공개키 보다는 계산속도가 빠르다
키도 같이 전송해주어야 복호화가 가능! ->  공개키 보다 보안이 취약함

공개키 암호화

  • 블록체인, 클라우드, 리눅스 원겹접속등 현재 대부분에서 사용

    • 암호화(Encoding)와 복호화(Decoding)를 각각의 키로 구성된 암호화 방법

    • 공개키는 외부로 공개를 하고 개인키는 별도로 보관 함으로써 실제 암호화 내용이 유츌 되더라도 안전하게 관리하는 방법

보안 프로토콜

인터넷이라는 환경은 누구나 마음대로 사용할 수 있는 환경이고
또한 패킷의 내용을 마음대로 열어볼 수 있으므로 데이터를 송수신시 보안을 적용할 필요 있음

HTTP는 기본적으로 암호화 되지않은 데이터를 송 수신 한다. -> HTTPS가 따로 있는 이유!

(내가 무엇을 전송하는지 URL 링크에 적혀있다!! -> PORT번호는 443번 사용)

크롬은 http로 들어오는걸 막는다! -> 무조건 https

HTTP는 연결을 계속 유지하지 않는 프로토콜이므로 만약 클라에 대한 정보유지를 하려면 
통산 쿠키(클라에 정보를 저장하는거 - 맘대로 보기 가능)를 많이 사용하였으나 

보안 이유에 의해서 지금은 Session(클라만 사용할 수 있는 공간을 만듬 그래서 여기서만 정보를 활용)을 활용에 정보를 관리를 많이 함! 

HTTPS가 사용하는 암호화 보안 기능- 이 둘 중 한개를 사용
->(URL링크를 다른데 복사해서 가져오면 한글이 깨지는데 이건 한글을 못받아서 그런다!)

	SSL(Secure Sockets Layers) - 과거
		현재 SSL3.0까지 나와있고 앞으로 업데이트는 안한다는 보안 기능!!

	TLS(Transport Layer Secure ) - 현재-> 요즘 SSL은 TLS라고 알아두면 편하다
		현재 TSL1.0까지 나와있고 SSL업그레이드 버전이며 다른 제작사에 의해서 관리
		통상 SSL에서 보안 기능을 TSL을 의미
		
	HTTPS-SSL, HTTPs-TLS, HTTP-SSL/TLS => 여러가지 형태로 표기

SSL/ TLS 인증서

공개키 방식과 대칭키 방식을 전부 사용!!

Linux 개요

크롬이 네트워크인터페이스카드를 다룰수있는 방법이 없다!!
—> 일반 응용프로그램들은 하드웨어 관리 및 제어 권한이 없다!!

운영체제(O/S)

컴퓨터시스템 운영을 할 수 있도록 환경울 구성하는 System

운영체제 구성

  • 커널
    H/W(cpu, memory, I/o device) 제어
    프로그램(프로세스)실행관리
    파일 시스템관리
    Device제어
    별도의 인터페이스는 없음 -> 작동 하는지 안하는지 알 수가 없다!
  • Shell
    사용자와 커널간 상호 작용 수행 프로그램
    CLI방식과 GUI방식이 있다
    	리눅스
    		오픈소스 방식의 O/S
    			리눅스 커널의 소스는 모두 공개, shell의 소스도 모두 공개 되어있다, 리눅스 명령 또는 Application도 모두 source가 공개
    		다중 사용자 사용 가능 - 여러사용자의 동시 접속 허용
    		다중 처리 가능 - 동시에 여러프로그램 실행이 가능	
    		주로 server 목적으로 컴퓨터 운영시 사용

Linux 구분
리눅스 배포판 종류 - 기본적으로 같은 Linux kernel을 사용하더라도 설치방법 및 application지원 정도에 차이가 존재한다

		RedHat계열 배포판 - 서버 운영체제로서 많이 사용, 특히 네트워크 운영에 강점이 있다, 
			유료(RHELL, 기업에서 많이 씀)와 
			무료(CentOS(RHELL의 오픈소스 , 이제는 더는 업데이트 안함), Fedora)존재

		Debian 계열 배포판 - 
			FSF의 GNU 프로젝트에 지원을 받은 배포판, Desktop목적의 사용에 강점이있다 , 
			ubuntu(안드로이드용 리눅스)도 있는데 이건 우리가 많이씀

		Slackware 계열 배포판 - 안정적인 동작, 주로 유럽/미국에서 많이 사용

재밋는 상식

USERS 경로는 로그인 홈 디렉터리임!

-> 그래서 여기에 설치하면 이 USER를 사용한 경우에만 쓰기 가능! -> 여기에 프로그램 설치 하지는 말자!!

.org로 끝나면 협회나 단체 같은 비영리 기관일 확률이 높다!

Linux 커널 개발자 - 리누스 토발즈
	git 도 - 리누스 토발자가 만듬  ->> 4시간 만에 source 관리 목적으로 개발!!
	git 기능
		document(프로그램 소스, 파일등)이력관리(버전관리), 여러 사용자 document 협업 기능,Repository기능(저장)
		Linux 쉘 개발 - FSF(자유 소프트웨어 연합) - GNU정신- 누구나 자유롭게 사용하고 배포하고 수정할수있다

	우분투는 1년에 4월과 10월 두번 버전 출시! -> 22.04는 22년도 4월이라는뜻!
	짝수년도 4월버전이 LTS(Long term support)버전 -> lts버전은 배포판 업데이트 지원기간이 10년

———————————

질문

	쿠키를 잘못 허용하면 컴퓨터에 이상한 바이러스가 깔릴 수가 있는건가요? -> ㅇㅇ 쿠키는 브라우저에 설치되어있는거

	누구나 linux를 응용해서 o/s를 만들수있는건가요? -> 오픈소스여서 만들 수 있음 가능

	리눅스 기능이 업데이트가 되면 전에 리눅스를 설치 했어도 자동으로 업데이트 되나요? -> 배포판을 설치한거기 때문에 일부는 업데이트 가능할수도 있지만 자동업뎃은 아님

셀프 피드백

오늘은 막 집중을 잘한 날은 아니었던것 같다ㅜ 그러니 그만큼 내일 그리고 주말에 스스로를 돌아보며 공부하자

네트워크를 살펴보고 어느정도 이해를 한뒤 wireShark같은 툴을 사용해서 그런지 사용에 큰 어려움은 없었다.

많이 쓴다니까 익숙해지려고 노력해보자 -> (필터링 연습 블로그들 찾아보며 오늘30분 하기!)

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글