728x90

/ 실습

- 정보기기 기본이해.pdf 파일 14페이지

/ OSI 7계층

 

 

/ IP란?

- 네트워크 환경에서 컴퓨터(노드)사이에 통신을 하기 위해 각 컴퓨터에 부여된 주소(라고 생각하면 된다.)
* 사실은 각 컴퓨터라기보단 랜카드에 부여된 것인데 일단은 이해를 쉽게 하기위해 컴퓨터라고 생각하자. 또는 핸드폰..
- 이때 아이피 주소는 네트워크 ID호스트 ID로 나뉘게 되는데 예를 들면 이런것이다.
  ex) 내 아이피가 192.168.10.100라고 했을때 [192.168.10]까지는 네트워크 주소라고 말하고 의미는 '집주소'같은 것이다.
       그리고 아이피의 맨 끝인 [.100]부분은 호스트 주소라고 말하고 의미는 '상세주소'같은 것이다.

IP 네트워크 ID 호스트 ID
192.168.10.100 192.168.10 .100
주소 기본 집 주소 상세 주소
서울시 중랑구 면목동 00-00번지 101201 서울시 중랑구 면목동 00-00번지 101동 201호

 

/ IP의 구조

- ip는 32비트로 나누어진다.

1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0

- 근데 이렇게 화면에 표시하면 보기가 너무 불편하니 8비트씩 잘라서 4부분으로 나누고 점찍고 10진수로 표시한다.

1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0
192 168 10 100
첫번째 옥탯 두번째 옥탯 세번째 옥탯 네번째 옥텟

- 나눠진 8비트를 부르는 말은 '옥텟'이다.
- ip는 4개의 옥텟 구조로 되어있다고 할 수 있다.



/ IP 클래스

- 옛날 사람들이 ip를 뭔가 효율적이고 적정하게 배분하기 위해 첫번째 옥탯의 규칙으로 클래스를 나누었다.
- 첫번째 옥텟의 '앞선 비트'에 따라 A, B, C, D, E 클래스로 나누어진다. (이것을 대역에 따라 나눈다고 한다.)
- 시작 ip주소는 각 옥텟의 비트가 제일 작을때를 뜻하고, 각 옥텟의 수가 점점 올라가서 최대값이 되면 끝 주소가 된다.
- 클래스 A는 대규모, 클래스 B는 중규모, 클래스 C는 소규모 네트워크 환경에 쓰인다.
- 클래스 D는 멀티캐스트용, E는 연구/개발용 혹은 미래에 사용하기 위해 남겨놓은 것으로 일반적으로 사용되지 않는다.
- 클래스 A에서 첫 옥텟이 00000000(0)인것과 01111111(127)인 ip는 예약이 되어 있어서 사용할 수 없다.

클래스 앞선 비트 첫번째 옥텟 시작 IP주소
2진수
(10진수)
끝주소
2진수
(10진수)
클래스 A 0 00000000 00000000.00000000.00000000.00000000
(0.0.0.0)
01111111.11111111.11111111.11111111
(127.255.255.255)
클래스 B 10 10000000 10000000.00000000.00000000.00000000
(128.0.0.0)
10111111.11111111.11111111.11111111
(191.255.255.255)
클래스 C 110 11000000 11000000.00000000.00000000.00000000
(192.0.0.0)
11011111.11111111.11111111.11111111
(223.255.255.255)
클래스 D 1110 11100000 11100000.00000000.00000000.00000000
(224.0.0.0)
11101111.11111111.11111111.11111111
(239.255.255.255)
클래스 E 1111 11110000 11110000.00000000.00000000.00000000
(240.0.0.0)
11111111.11111111.11111111.11111111
(255.255.255.255)

* A, B, C, D나눈게 이해가 잘 안되면 돈으로 잠시 생각해보자.
A = 1,000원 ~ 1,999원
B = 2,000원 ~ 2,999원
.
.
.
뭐 대충 이런식으로 구간을 나눠놓은 것이라고 생각하면 된다.

- 각 클래스를 대규모, 중규모, 소규모 별로 쓴다고 했는데 어떻게 그렇게 쓰느냐... 하면
   클래스별로 네트워크ID로 사용하는 옥텟의 갯수가 정해져 있다. 

클래스 A 0                                                              
네트워크 ID
옥탯 1개
호스트 ID
호스트 ID 갯수 = 2의 24승 = 약1,670만개
클래스 B 1 0                                                            
네트워크 ID
옥탯 2개
호스트 ID
호스트 ID 갯수 = 2의 16승 = 약 6만5천개
클래스 C 1 1 0                                                          
네트워크 ID
옥탯 3개
호스트 ID
2의 8승 = 256개

- 이게 뭔 의미이냐..하면
  클래스 A의 경우, ip의 32비트 중에 앞의 8자리는 그냥 회사 번호라고 생각하면 되고 뒤의 24자리가 각 사원컴퓨터 번호라고 생각하면 1,670만명의 사원이 있다고 볼 수 있다. 1,670명이 아니라 1,670만명.
  클래스 B의 경우 ip의 32비트 중에 앞의 16자리를 회사 번호라고 생각하면 뒤에 16비트로는 6만5천명의 사원컴퓨터가 된다.

- 위처럼 네트워크ID호스트ID구분하기 위해 쓰는 것서브넷 마스크(subnet mask)이다.
- '서브넷 마스크'라는 것의 생김새는 ip와 비슷하게 생겼다. 옥텟.옥텟.옥텟.옥텟
- 근데 각 옥텟의 구성이 '10101010.11011010.00101010.00110011' 이런식으로 되면 안된다.
- '11111111.00000000.00000000.00000000'처럼 연속된 1과 연속된 0으로 구성되어야 한다.
- 네트워크 ID가 되는 부분은 1로 표시하고, 호스트ID가 되는 부분은 0으로 표시한다.

클래스 서브넷 마스크
2진수
서브넷 마스크
10진수
클래스 A 11111111.00000000.00000000.00000000 255.0.0.0
클래스 B 11111111.11111111.00000000.00000000 255.255.0.0
클래스 C 11111111.11111111.11111111.00000000 255.255.255.0

- ...?
- 이것이 뭐 어쩌라는 것이냐면..
  예를 들어 '클래스 A로 ip주소를 10.10.10.10을 할당 받았다'그러면 아래와 같이 파악할 수 있다.
  (첫번째 옥탯이 네트워크 ID 8개로 모두 채워졌구나 하고.)

10 10 10 10
네트워크 ID
11111111
호스트 ID
00000000.00000000.00000000

  '클래스 B로 ip주소를 172.10.10.10을 할당 받았다'면 아래와 같이 파악할 수 있다.
  (두번째 옥탯까지 네트워크 ID 16개로 모두 채워졌구나 하고.)

172 10 10 10
네트워크 ID
11111111.11111111
호스트 ID
00000000.00000000

  '클래스 C로 ip주소를 192.168.10.10을 할당 받았다'면 아래와 같이 파악할 수 있다.
  (세번째 옥탯까지 네트워크 ID 24개로 모두 채워졌구나 하고.)

192 168 10 10
네트워크 ID
11111111.11111111.11111111
호스트 ID
00000000


- 네트워크ID가 뭐지.. 호스트ID가 뭐지.. 하면 위에 적은 집주소, 상세주소를 떠올려보자.
  회사에서 내 아이피가 B클래스이고 '172.10.10.10' 라면 [172.10]까지는 특정 회사에 대해 묶여 있는 것(네트워크ID)이고 그 뒤의 [.10.10]은 그 회사에 있는 컴퓨터를 특정지을 수 있는 것(호스트 ID)이다.
  직원이 만약 10명이면 ip를 대충 이런식으로 받았을것이다.
  172.10.10.0
  172.10.10.1
  172.10.10.2
  .
  . 
  .
  172.10.10.9
  172.10.10.10

- 또, 서브넷 마스크를 프리픽스(Prefix)라는 방법을 이용해서 아이피뒤에 표시해주기도 한다.
- '클래스 A로 ip주소를 10.10.10.10을 할당 받았다'를 보면 네트워크ID의 갯수가 8개이므로 '10.10.10.10/8' 이렇게 표시한다.
- '클래스 B로 ip주소를 172.10.10.10을 할당 받았다'를 보면 네트워크ID의 갯수가 16개이므로 '172.10.10.10/16' 이렇게 표시한다.
- '클래스 C로 ip주소를 192.168.10.10을 할당 받았다'를 보면 네트워크ID의 갯수가 24개이므로 '192.168.10.10/24' 이렇게 표시한다.
- 이게 뭔말이냐면 보통 아이피를 클래스 A다, 클래스 B다 이렇게 말 안하고 '192.168.10.10/24'이런식으로 표기하는데,
  이때 프리픽스의 숫자를 보고 '네트워크ID가 24자리까지 있구나. 이건 클래스 C다'하고 알아야 한다는 것이다.

 

- 여기까지 모두 이해되었다면 이제.. 단순히 A, B, C클래스로 나누었을때의 단점을 알아보고 이에대한 대응방안으로 나온 서브넷팅이라는 것을 알아볼 차례이다.
-  ip를 단순히 A, B, C클래스로 나누어 할당을 하려고 보니 안쓰는 ip가 대거 발생하는 문제가 생겼다.
- 예를 들어 어떤 회사가 50개의 아이피를 할당해달라고 요청했을때 클래스C로 할당을 하자니 256개중에 약 200개가 사용하지 않는 ip가 되어버린다..
  ex) 192.168.10.0/24

클래스 C 1 1 0                                                          
네트워크 ID
50개의 ip가 필요한 회사에
호스트 ID
2의 8승
256개를 할당해버림

- 어쩔까..어쩔까.. 하다가 나온것이 '호스트ID쪽의 비트를 쪼개보자!'하고 서브넷팅이다.

 

/ 서브넷팅

- 만약 'ip가 100개 필요한 상황이다'하면 일단 비트로 몇개를 만들 수 있나 보자.
  1비트로는 0, 1이니까 2개 만들 수 있고(2의 1승 = 2개)
  2비트로는 00, 01, 10, 11 이니까 4개를 만들 수 있다. (2의 2승 = 4개)
  3비트로는 000, 001, 010, 011, 100, 101, 110, 111. 총 8개를 만든다. (2의 3승 = 8개)
  이런 식으로 몇 비트로 ip 100개를 충당할 수 있을까.. 생각해보면 7비트로 128개를 만들면 ip 100개는 충당할 수 있다는 결론이 나온다.

1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
네트워크 ID   호스트 ID
7비트로 128개 만듬 

- 이때 7비트로 호스트ID를 만들게 됬을때 4번째 옥탯의 맨 앞에 있는 1비트는 어떻게 되는거냐,
  이 비트는 네트워크ID로 쓰게되는데 이걸 서브넷 구분 비트라고 한다.

- 만약 ip가 10,000개 필요하다면?
  보자보자.. 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384  ..니까 2의 12승. 12비트를 호스트ID영역으로 만들고 나머지는 네트워크 ID로 만들면 되겠다.

- 10,000개 필요한데 16,000개나? 라고 할 수 있지만 6만5천개 만든것보다 낫잖아.. 하는것이 서브넷팅이다.
- 그림을 보면 알겠지만 몇번째 옥탯에 있는 비트자리에서 나뉘어지는가에 따라 클래스B에서 할당하는지 클래스C에서 할당하는지 알 수 있다.

 

- '몇개를 할당한다' 까지는 알겠으면 이제 범위를 구하는 쪽도 알아보자.
- 서브넷팅이라는 개념이 사실 위에서 서술한대로도 설명할 수 있지만 또 다른 방식으로도 서술해보자면
- 클래스 C에서 할당가능 한 ip의 갯수는 256개인데, 이때 256개라는 뜻은 네번째 옥탯의 8비트. 즉 00000000(10진수 0) ~ 11111111(10진수 255)까지라서 256개가 카운트 된것이다.
- 이때 8비트의 맨 앞자리 수를 0 또는 1로 고정시켜서 7비트로만 범위를 카운트해보면 127개씩 범위가 나온다.

자릿수 1 2 3 4 5 6 7 8
첫번째 경우 0 0000000 ~ 1111111
두번째
경우
1 0000000 ~ 1111111

  첫번째 경우 00000000(10진수 0) ~ 01111111(10진수 127) 로 범위가 나오고
  두번째의 경우 10000000(10진수 128) ~ 11111111(10진수 255)로 범위가 나온다.
  그리고 각 갯수는 256개를 반으로 쪼갠 127개가 된다.
- 첫번째 경우 192.168.10.0 ~ 192.168.10.127
  두번째 경우 192.168.10.128 ~ 192.168.10.255
  (파란색은 네트워크ID영역이고 주황색은 호스트ID영역이다.)

  * 2진수가 바로바로 10진수로 변환이 안되면 일단은 2진수 계산기 사이트를 이용해보자. 그치만 계산할줄은 알아야 한다.  

- 이번엔 맨 앞자리수 말고 맨앞 두자릿수를 00, 01, 10, 11로 고정시키고 6비트로 범위를 나눠보면 어떻게 될까?

자릿수 1 2 3 4 5 6 7 8
첫번째 경우 0 0 000000 ~ 111111
두번째
경우
0 1 000000 ~ 111111
첫번째 경우 1 0 000000 ~ 111111
두번째
경우
1 1 000000 ~ 111111

  첫번째 경우 00000000(10진수 0) ~ 00111111(10진수 63) 로 범위가 나오고
  두번째 경우 01000000(10진수 64) ~ 01111111(10진수 127) 로 범위가 나오고
  세번째 경우 10000000(10진수 128) ~ 10111111(10진수 191) 로 범위가 나오고
  네번째의 경우 11000000(10진수 192) ~ 11111111(10진수 255)로 범위가 나온다.
  그리고 각 갯수는 128개를 반으로 쪼갠 64개가 된다.
ex) 
    첫번째 경우 192.168.10.0 ~ 192.168.10.63
    두번째 경우 192.168.10.64 ~ 192.168.10.127
    세번째 경우 192.168.10.128 ~ 192.168.10.191
    네번째 경우 192.168.10.192 ~ 192.168.10.255
    파란색은 네트워크ID영역이고 주황색은 호스트ID영역이다.

- 클래스 C에서 봤으니 클래스 B에서도 한번 예를 들어볼까나
  클래스 B에서 할당가능한 호스트ID ip의 갯수는 약 65,000개인데 이때 65,536개는 8+8비트. 즉 16비트의 00000000.00000000(10진수 0) ~ 11111111.11111111(10진수 65535)까지라서 65,536개가 카운트 된것이다.
- 이때도 똑같이 16비트에서 맨 앞자리 비트를 0 또는 1로 고정시켜서 15비트로만 범위를 카운트해보면 32,768개씩이 된다.

자릿수 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
첫번째 경우 0 0000000.00000000 ~ 1111111.11111111
두번째
경우
1 0000000.00000000 ~ 1111111.11111111

  첫번째 경우 00000000.00000000(10진수 표현 0.0) ~ 01111111.11111111(10진수 표현 127.255) 로 범위가 나오고
  두번째의 경우 10000000.00000000(10진수 표현 128.0) ~ 11111111.11111111(10진수 표현 255.255)로 범위가 나온다.
  그리고 각 범위의 갯수는 65,536개를 반으로 쪼갠 32,768개가 된다.
ex) 
    첫번째 경우 129.10.0.0 ~ 129.10.127.255
    두번째 경우 129.10.128.0 ~ 129.10.255.255
    파란색은 네트워크ID영역이고 주황색은 호스트ID영역이다.

  * 2진수가 바로바로 10진수로 변환이 안되면 일단은 2진수 계산기 사이트를 이용해보자. 그치만 계산할줄은 알아야 한다.  

- 이번에도 맨 앞자리 비트 말고 앞 두자리 비트를 00, 01, 10, 11로 고정시키고 14비트로 범위를 나눠보면 어떻게 될까?

자릿수 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
첫번째 경우 0 0 000000.00000000 ~ 111111.11111111
두번째
경우
0 1 000000.00000000 ~ 111111.11111111
세번째 경우 1 0 000000.00000000 ~ 111111.11111111
네번째
경우
1 1 000000.00000000 ~ 111111.11111111

  첫번째 경우 00000000.00000000(10진수 0) ~ 00111111.11111111(10진수 63.255) 로 범위가 나오고
  두번째 경우 01000000.00000000(10진수 64.0) ~ 01111111.11111111(10진수 127.255) 로 범위가 나오고
  세번째 경우 10000000.00000000(10진수 128.0) ~ 10111111.11111111(10진수 191.255) 로 범위가 나오고
  네번째의 경우 11000000.00000000(10진수 192.0) ~ 11111111.11111111(10진수 255.255)로 범위가 나온다.
  그리고 각 범위의 갯수는 32,768개를 반으로 쪼갠 16,384개가 된다.
ex) 
    첫번째 경우 129.10.0.0 ~ 129.10.63.255
    두번째 경우 129.10.64.0 ~ 129.10.127.255
    세번째 경우 129.10.128.0 ~ 129.10.191.255
    네번째 경우 129.10.192.0 ~ 129.10.255.255
    파란색은 네트워크ID영역이고 주황색은 호스트ID영역이다.

- 이때 위에서 말했던 00, 01, 10, 11 이런식으로 아이피 대역을 4개로 나누든 00, 01 두개로 나누든 했던 부분을 서브넷 구분 비트라고 하고 요 부분은 네트워크ID로 쓰이게 된다.

- 바로 위 예시의 첫번째 경우 129.10.0.0 ~ 129.10.63.255 범위에서 129.10.55.56 라는 아이피를 할당 받았다면 129.10.55.56/18으로 표기할 수 있는데, 그 이유는 아래의 구조와 같기 때문이다.

  

/ 이쯤 되면 사실 그냥 비트 쪼개기 놀이 하는 느낌인데 뭐 시험이나 실무 이런곳에서 어떻게 쓰이는지 살펴보자.

 

 

 

 

 

 

 

/ 고정길이 서브넷 마스크(FLSM)

 

/ 가변길이 서브넷 마스크(VLSM)

 

728x90

'정보보안학원 > 과정평가형 일지' 카테고리의 다른 글

9일차 - 시스템  (0) 2022.04.26
8일차 - 네트워크  (0) 2022.04.25
6일차  (0) 2022.04.21
5일차  (0) 2022.04.21
4일차  (0) 2022.04.19
728x90

[1교시]
/ CentOS에서 ifconfig에서 inet이 000.000.000.000형태로 안보일때
- 네트워크를 재시작
- 서버 재시작
- 우측 상단의 컴퓨터모양의 아이콘밑에 점점점으로 되어있을것이다.

/ 리눅스의 구조
- 커널(Kernel) : 중간에 인터렉션 하는 기능, 상호작용
- 쉘(Shell) : 사용자의 명령어를 받아서 결과를 출력
- 응용 프로그램

/ 지금 로그인한 사람의 이름
# id
- uid : 유저아이디
- gid : 그룹아이디
- groups : 그룹의 모임

/ 내가 누구게
# who am i

/ 지금 서버에 접속해 있는게 누구야
# who
# who are you

/ ls
- 디렉토리 안의 파일 및 폴더목록을 보여준다.
- ls 특정디렉토리위치 : 특정 디렉토리 위치내의 파일 및 디렉토리 목록을 보여준다.
- -l 옵션 : 리스트 형식으로 표시한다.
- -a 옵션 : 숨김파일까지 모두 표시한다.
- -al : 옵션들은 붙여서 쓸 수 있다.

/ alias
- 단축어를 알 수 있는 명령어

/ 파일을 만들기
# touch testfile : 임의의 testfile을 만든다.
- 터치로 만드는것은 더미파일을 만드는 것이다. 용량이 0
- 같은 명령어를 한번더 날렸을때 파일이 없으면 만들고,  있으면 mac time만 변경된다.
   >mac 타임을 바꿀 수 있는 기능을 가지고 있다.)

/ 디렉토리 만들기
# mkdir testdir : testdir폴더를 만든다.
- 파일을 만들때의 권한과 디렉토리를 만들때의 권한이 조금 다르다.
   > 디렉토리 : d rwx r-x r-x : 755 권한
   > 파일 : - rw- r-- r-- : 644 권한

/ 디렉토리 삭제하기
# rmdir testdir : testdir폴더를 삭제한다.

/ 권한
- rwx rwx rwx : 소유자 소유그룹 기타사용자
- rwx : 읽기(4) 쓰기(2) 실행(1)
- 디렉토리는 맨 앞에 d가 붙는다. -> drwxrwxrwx
- 권한에 대한 숫자를 더해서 소유자 권한에 표시한다.
    > rwx : 7 / r-w : 5 / r-- : 4

/ 질문
- 디렉토리 권한이 r--로만 되어있으면 : 폴더내부로 들어갈 수 없다.
   x는 디렉토리에 접근할 수 있는 권한이다.


 

[2교시]

/ 권한 변경
# chmod 755 testfile : testfile의 권한을 rwxr-wr-w(755)권한으로 변경한다.
- + : 특정 권한을 추가한다. 
    > u+x : 소유자에 실행권한을 추가한다.
    > u-x : 소유자에 실행권한을 뺀다.
    > g+w : 그룹권한에 읽기 권한을 추가한다.
    > a+x : 모두에게(소유자, 그룹, 이외) 실행권한을 추가한다.
- = : 특정 권한을 지정한다.
    > o=wx : 아더유저에게 wx권한을 부여한다.
    > u=rwx : 소유자에게 rwx권한을 부여한다.
- ex) chmod u+x, o=wx testfile : testfile의 권한을 사용자에게는 읽기권한을 추가하고, 아더는 권한을 읽기/실행 권한으로 지정한다.

/ 권한 명령어
- chmod : 권한을 변경한다.
- chown : 파일 소유자를 변경한다.
- chgrp : 소유그룹을 변경한다.
- chattr : 속성(attribute)을 변경한다. (읽기전용으로 만든다던지, 삭제가 안된다던지, 지울때 내용이 저장되게 한다던지) 
    > 변경한 속성을 확인할 때 # lsattr 파일이름
    > 넣을때는 +속성, 뺄때는 -속성
    > a 속성 : 추가만
    > i 속성 : 파일 수정 x

/ 특수권한
- rws r-x r-x file : SUID SetUID 4755 (setuid가 설정되어 있으면 4000으로 시작되고)
- rwS r-x r-x file : 
- rwx r-s r-x file : SGID SetGID 2755 (setgid가 설정되어 있으면 2000으로 시작되고)
- rwx r-S r-x file : 
- rwx r-x r-t file : Sticky bit 1755 (스티키 비트가 설정되어 있으면 1000으로 시작된다.)
- rwx r-x r-T file : 
- ex ) rws r-s r-t : 7755
- 권한은 사실 앞에 0755처럼 0이 붙는다.
- chmod로 수정한다.
- 소문자로 들어가 있으면 성공, 대문자로 들어가있으면 권한이 제대로 적용이 안된경우
- SetUID, SetGID는 해당 권한으로 파일을 실행한다.
- 스티키 비트를 지정하면 소유자가 아니더라도 내부에다가 파일을 만들거나 변경할 수 있다. (rwx권한)
- 스티키 비트가 적용되어도 삭제는 되지 않는다.
- 스티키가 적용된 대표적인 디렉토리 : /tmp. 


[3교시]

/ umask 설명
- 디렉토리
  0777 rwx rwx rwx    // 여기서
  0022 ---  -w-  -w-   // 이걸 빼면
  0755 rwx r-w r-w     // 이것이 된다.
- 파일
  0666 rw- rw- rw-    //여기서
  0022 ---  -w- -w-   // 이걸 빼면
  0644 rw- r--  r--     // 이것이 된다.

/ netstat
- 윈도우 서버 netstat -anp tcp | findstr 22
    > a옵션 : 다 찾아줘
    > n옵션 : 목록으로 표현해줘
    > p옵션 : 프로토콜. ex) tcp 프로토콜을 찾아줘
    > findstr : ex) 22번을 찾아줘
- 리눅스 서버 netstat -ant | grep 22
    > t 옵션 : 프로토콜을 찾아줘
    > p 옵션 : 프로세스 이름을 알려줘
    > grep : 검색 명령어
- 결과
    > LISTEN : 서비스를 기다리고 있다.
    > :22 : sshd 포트

/ netstat 2
# netstat -antp | grep 22



/ 방화벽 종류
- Selinux : 잘 안씀
- TCP Wrappers : 거의 은퇴함. 잘 안씀
- Firewalld : 그래픽 지원이 된다.  Centos 7에서는 잘 쓴다. 초급 사용자들이 많이 쓴다.
- iptables : 시험에 잘 나온다. 디테일하게 방화벽을 설정하고 싶을 경우 많이 쓴다. 고수들이 많이 쓴다.

/ ps -ef | grep sshd
- 프로세스를 찾는다.
- e 옵션 : 모든 정보를 다 보여줘
- f 옵션 : full 포멧으로 보여줘
- | grep 문자열 : 문자열이 들어가는 프로세스를 검색해줘


- 이걸 하면 결과가 2개 나오는데 grep --color=auto sshd는 내가 검색해서 그 프로세스가 나온것이다.
- 내가 검색하고 있는 프로세스를 안보이게 하려면 
  ps -ef | grep sshd | grep -v grep로 하면 된다.
  > -v 옵션 : 제외하고 보여줘

 

/ lsof
# lsof -i tcp:22
- 열려있는 파일들의 목록을 보여줘
- i 옵션 : 인터페이스

- p 옵션 : 프로세스로 검색
# lsof -p 프로세스번호 : 프로세스가 돌아가는 모든 것들이 나옴

# ls -l /proc/프로세스번호/exe : 해당 연결되는 프로세스를 찾을 수 있다.

- /proc 디렉토리 : 프로세스 임시값들이 임시저장되어서 위치하는 디렉토리. 파란색 하나하나가 다 pid이다.
- /proc/meminfo : 

 

/ 포트
- 잘 알려진 포트 :  1~1023
    > 80, 21, 22, 23, 53
- 등록된 포트 : 1024~49151
    > MsSQL 1433, Oracle 1521, MySQL 3306
- 동적 포트 : 49152~65535
    > 임의로 할당, 사용할 수 있다. 클라이언트가 서버로 갈때 갈고가는 포트다.
- 포트 규칙을 정해주는 곳이 있다 : IANA


[4교시]

/ man 명령어
- 명령어에 대한 메뉴얼을 볼 수 있다.

/ 서버에 어떤 사용자가 있는지 확인
- 홈디렉토리를 확인해본다.

- 루트 사용자는 /root에 가지고 있어서 home에 나오지 않는다.

/ 계정목록
# cat /etc/passwd
    > 프로세스를 실행하기 위한 계정(?)도 나온다.

/ 사용자 만들기
# useradd tuser

- cat /etc/passwd 명령어를 쳤을때 맨 밑에도 표시된다.

- 이때 규칙이 있다.
   > 7개의 항목을 :으로 나누어 표시한다.
   > 처음 만드는 사용자는 1000으로 시작하고 그 다음부터는 1001, 1002식으로 1씩 커진다.
   > root는 유저/그룹 아이디가 0이라 0으로 표시된다.
   > 실제로 로그인을 하는 정보들만 7번째에 /bin/bash에 데이터가 표시된다.
   > 시스템을 건드리는 애들은 유저아이디는 0이 아니더라도 그룹아이디는 0이다.
   > 로그인 안 하는데 7번째 배시쉘이 /bin/bash이다? 그럼 비정상임
   > bin의 유저/그룹이 0:0이다? 그럼 비정상임.
   1:2:3:4:5:6:7
   root:x:0:0:root:/root:/bin/bash
   centos:x:1000:1000:centos:/home/centos:/bin/bash
   tuser:x:1001:1001::/home/tuser:/bin/bash
   사용자::유저아이디:그룹아이디:코멘트:홈디렉토리:배시쉘

/ 사용자를 추가할때 관련있는 파일/디렉토리
- /etc/login.defs : 여기서 참조해서 사용자를 만들게 된다.
    > PASS_MAX_DAYS : 
    > PASS_MIN_DAYS : 
    > PASS_MIN_LEN : 
    > PASS_WARN_AGE : 
    > UID_MIN : 
    > UID_MAX : 
    > ENCRYPT_METHOD : 패스워드 암호화 알고리즘을 무엇으로 하는 지
- /etc/default/useradd
    > GROUP : 
    > HOME : 홈디렉토리는 여기 밑에다가 만들어 주세요.
    > INACTIVE : 
    > EXPIRE : 
    > SHELL : 쉘을 무엇을 쓸것인지
    > SKEL : 
    > CREATE_MAIL_SPOOL : 
- /etc/skel 디렉토리
    > 

 

/ 사용자 지우기
- userdel 사용자이름 : 만 하면 홈디렉토리는 안지워진다.

- userdel -r 사용자이름 : 사용자 홈 디렉토리까지 지운다.

 


[5교시]

/  shadow파일
# cat /etc/shadow ( | grep 사용자 )
- 패스워드가 들어있는 파일(패스워드는 /etc/login.defs파일의 ENCRYPT_METHOD항목에 의해 암호화 되어 있다.)
- passwd파일에서는 6번째가 홈디렉토리이고 shadow파일에서는 6번째가 warn age를 표시한다.
- !! or * -> 패스워드가 아직 설정되어 있지 않아서 pw를 사용한 로그인이 잠겨있을때 표시된다.
- 패스워드 부분에 !!도 없으면(지워버리면) 패스워드가 없는것이다. 그냥 로그인이 막 된다.
- 비밀번호 부분이 $숫자$블라블라$블라블라2 형식인데,
    > 무차별(무작위) 대입공격(Brute force Attack 사전공격), 무지개 공격을 대비하여 
    > $암호화알고리즘$난수값(솔팅)$비밀번호 형식으로 되어있다.

root:$6$8F6OgN4qus2kRCNW$T78yqffVv/b6Qgs7BlZxz5CiyfV2BWn1O9mIm/wu1Pe17IfXkQmM6QXBg1sG/kopfyE7xojbu7NnuQ5fETn9O0:19101:0:99999:7:::

centos:$6$wo4kNDaa0OlmxQVY$0FT3EnlB4QNWoxWu9lbWtAo3I5l.XynTooH3QiJUSXnT.iyCFYp.p8i/PMhDEEZfdg5vGm
VRU28/rUOPqD.eO.:19101:0:99999:7:::

tuser:!!:19103:0:99999:7:::

계정 : 암호화된 패스워드 : 1970년1월1일을기준으로패스워드가 변경된 일수: :패스워드 최대 사용일자 : 패스워드가 변경되기 전에 워닝을 보여주는 일수 : 비활성날짜(pw가 만료되고, 계정이 잠기기전까지의 기간) : 패스워드가 만료되는 날짜 :

/ 사용자 패스워드 설정하기
# passwd 사용자

- /etc/passwd에서 /etc/shadow로 비밀번호 파일이 옮겨졌다. (보안상의 이유로)
- 구버전에서 pwconv 명령어를 쓰면 /etc/shadow로 옮겨졌었다.
- shadow에서 passwd로 옮기려면 pwunconv 명령어를 쓰면된다.

 

/ 삭제
# rm -rf
- r 옵션 : 디렉토리, 안에 파일이 있어도 다 지워라
- f 옵션 : 물어보지 말고 걍 지워라

 

728x90

'정보보안학원 > 과정평가형 일지' 카테고리의 다른 글

8일차 - 네트워크  (0) 2022.04.25
7일차 - 네트워크  (0) 2022.04.22
5일차  (0) 2022.04.21
4일차  (0) 2022.04.19
3일차  (0) 2022.04.18
728x90

임시저장

728x90

'정보보안학원 > 과정평가형 일지' 카테고리의 다른 글

7일차 - 네트워크  (0) 2022.04.22
6일차  (0) 2022.04.21
4일차  (0) 2022.04.19
3일차  (0) 2022.04.18
2일차  (0) 2022.04.18
728x90

[1교시]
/ 시험에 나오는 것
- 개발자가 누구냐 : 리누스 토발스
- 커널, 컴파일러, 쉘, 프로그램이 무엇인가
- 리처드 스톨만
- GNU 프로젝트
- GPL 라이선스
- 소스코드 공개 등등

/ 리눅스 배포판 종류
- 데비안 : good
- 레드햇 : 가장 점유율이 높음
- 우분투 : good
- 슬랙웨어 : 가장 오래된 배포판

/ 리눅스 계열
- 레드햇 계열(Red Hat Enterprise) : CentOS, Fedora
    > 운영 관리 특화
- 데비안 계열(Debian) : Ubuntu, Kali
    > 개인용, 해킹보안, 개발

/ Rocky Linux
- CentOS에서 나온 운영체제

 


[2교시]
/ 대표 배포판
- 데비안 : 안정성을 기반으로 개인이 사용할 수 있도록
- 레드햇 : 기업용
- 슬랙웨어 : 제일 오래됨
- 우분투

/ SLS
- 최초의 리눅스 배포판 이름

/ 순서
페도라 > 레드헷 > CentOS > 록키

/ 교안
- 김장우 > 교안 > 220414_과평_정보보안산업기사

/ VMnet8의 IPv4 세팅
- VMware > Edit > Virtual Network Editor > 하단의 Change > VMnet8 선택 > 아래의 Subnet IP를 192.168.111.0으로 변경
- cmd에서 fpconfig로 확인
- VMware를 설치했을 경우 실습환경과 동일하게 세팅하기 위해

/ VMware에 CentOS 설치
- Create > Typical > I will 어쩌고 세번째 옵션 > Linux 선택, 버전 CentOS 7 64-bit
  > 이름 빈칸 없이 짓기, 경로는 D:\CentOS\머신명 > 20GB, singl file 선택
  > 전체 내용 확인하고 피니쉬
- Edit virtual machine settings 
   > USB Controller, 사운드카드, Printer Remove
   > CD/DVD 선택 > Use ISO image file에서 iso파일 선택 > OK
- Power on 어쩌고 버튼 클릭
- ContOS 8을 하고 싶다면 버전은 레드햇8을 선택하면 된다.
- 용량을 20GB로 해도 한번해 용량을 차지하지 않는다.

 


[3교시]
/ CentOs 파티션 나누기
- 디스크를 나눠서 사용하는 FDISK (program)
  > 파티셔닝
  > swap 영역 : 가상메모리 영역, HDD -> 메모리 가상, 하드디스크를 가상메모리처럼 쓰는 것, 윈도우에서는 시스템 페이징, 1~1.5배정도 스왑 영역을 할당, 보통 8~16G정도 할당
  > / 영역 : 윈도우 C드라이브와 비슷함
  > boot, var, usr : 우리가 안줘도 시스템이 알아서 줌
- swap 먼저 2048으로 추가하고 /는 그냥 추가

/ 암호
- 취약, 사전에 있는 단어, 사전검사 등 메시지 표시
- 해커 프로그램 pw 모아놓은 파일에 있다는 뜻
- pw길이가 최소 8글자는 되어야 한다.
- pw깨기공격(무차별대입공격)
    > Brute Force Attack
    > 대처 -> pw저장 암호화 ... A-> A2, B-> B2
    > 무지개공격(Rainbow Attack) : 암호화된 pw를 모아서 공격
    > 대처 -> 솔팅(Salting)기법 : pw를 암호화할때, 중간 난수를 삽입. 암호화 되는 결과가 일정x

/ Kdump
- 활성화하시겠습니까 언체크

/ 터미널
- [root@localhost ~]
- root : 로그인해있는 계정
- @localhost : 리눅스 서버 이름
- ~ : 로그인해 있는 계정의 홈 디렉토리

/ ifconfig 확인
- inet의 아이피가 나오는지 확인 ex)192.168.111.128

/ ping
- ping 아이피로만 쓰면 계속 감
- 컨트롤 + c로 끊을 수 있다.

/ nslookup
- nslookup www.naver.com
- 보이는 Server : vmware가 제공하는 ip

/ os 설치 및 부팅 시 기본루틴
- ifconfig
- ping
- nslookup

 


[4교시]
/ 화면보호기
- 개인업무 보안 : 10분 이상 자리를 비웠을 때 화면보호기를 설정해야 한다.

/ 패스워드 작성 규칙
- 조건 : 영문 대문자, 영문 소문자, 숫자, 특수문자
- 2가지 조건이면 10글자 이상
- 3가지 조건이면 8글자 이상
- 연상할 수 있는 개인신상정보로는 생성하면 안된다.
- 관리자 계정은 30~60일 마다 교체 권고
- 사용자 계정은 60~90일 마다 교체 권고

/ 서버 이름 바꾸기
# hostname : 서버이름 확인 명령어
# vi /etc/hostname
- 호스트 파일을 저장해도 리부팅 해야 적용이 된다.

/ vi 편집기
- 텍스트 기반 편집기 vi, emac, pico
- gdit : 그래픽 기반 편집기
- vi로 바로 들어오면 명령모드
- i, a를 누르면 입력/수정 모드로 변환된다.
- 입력 수정 모드 : i,a등을 눌러 수정할 수 있을때
- 명령모드 : 들어가자 마자
- ex 명령모드 : :wq를 들어갔을 때

/ selinux
- 방화벽 옵션
- 실무에서는 쓰지 않아서 비활성화 시킬것이다.
# getenforce :  활성화 되어 있는지 확인하는 명령어
# sestatus : 활성화 되어 있는지 확인하는 명령어
- 이동 : /etc/sysconfig
- selinux파일을 수정
# vi /etc/sysconfig/selinux
- SELINUX = enforcing부분을 disabled로 변경한다.
- 리부팅을 해야 적용이 된다.
- 미국에서 넣어라 했다는 썰이 있음

/ 리부팅
- reboot
- systemctl reboot
- shutdown -r now (-r 옵션은 리부팅 옵션)
- shutdown -r 0 (숫자는 초단위. 0초후에 리부팅 하겠다.)
- init 6 (run level) : 긴급모드 리부팅

/ 종료
- shutdown -h 0 (-h는 종료 옵션)
- init 0

/ 화면보호기
- 우측 상단에 사용자 클릭 > 설정 > 전원에서 절전 설정

/ 네트워크 설정 (gui)
- 우측 상단의 컴퓨터 모양 클릭 or 설정>네트워크 클릭
- 네트워크 설정 창에서 톱니바퀴 > IPv4 선택 > 주소 부분을 수동으로
- 주소 : 192.168.111.101
- 네트 마스크 : 255.255.255.0
- 게이트웨이 : 192.168.111.2
- 네임서버(DNS) 서버 : 168.126.63.1




[5교시]
/ 네트워크 설정
- nmtui (cli, gui 둘다)
- nmtui > Edit a connection > 첫번째 엔터
- 여기에는 게이트웨이가 없다? : 아이피 끝의 /24는 255.255.255.0과 같다.
- prefix
    > cifs : 네트워크 나눌때
    > 255.255.255.0을 이진수로 표현하면
    > 11111111.11111111.11111111.0인데, 이때 1이 24개라서 /24
- Device : 24비트 정보가 2개라 48비트
- 숫자로 된것은 논리주소
- 00:0C:어쩌고 이런식으로 된것은 하드웨어 주소, 맥어드레스(MAC), 앞의 00:00:00(24bit)는 밴더주소(vendor)주소라 해서 제조사 별로 같고, 뒤에는(24bit) 호스트 주소이고 모두 다르다.
- 관리자가 수정할 수 없는 주소는 하드웨어 주소. 맥 어드레스 이다.

/ 아이피가 저장되는 장소는 어디인가
# cd /etc/sysconfig/network-scripts/
- 여기가 centOS 서버의 네트워크 설정들이 모아져 있는 디렉토리이다.
- ifcfg : 인터페이스 콘피그
- cat ifcfg-eno16777728
    > ONBOOT="yes" : 부팅할때 해당 콘피그가 자동으로 올라올 것이다.

/ 이전에 있던 곳으로 돌아가기
# cd -

/ 홈디렉토리로 가기
# cd ~

/ VMware 스냅샵 찍기
- 상단의 시계에 플러스 있는 아이콘 클릭 > 이름 입력 후 테이크 스냅샷
- 스냅샷을 찍으면 뒤로가는 아이콘이 활성화 된다.
- 렌치모양 시계를 클릭하면 스냅샷 찍은 여러 시점을 관리할 수 있다.
- 스냅샷을 찍으면 그만큼 하드디스크를 차지하게 된다.

/ 기본 명령어
# id : 현재 로그인한 사용자 정보를 보여주는 명령어
# whoami : 현재 로그인한 사람이 누구인지 보여줌
# who am i : 현재 로그인한 사람이 누구인지 보여줌
- pts : sudo
# who : 리모트로 접속 한 사용자 목록을 보여주는 명령어
- 결과 화면을 보고 명령어를 맞출 수 있어야 한다.
# date : 현재 시간을 표시해주는 명령어

/ history
- /root/.bash_history : 입력했던 명령어 히스토리 파일
- !번호 : 히스토리 번호에 있는 명령어를 실행한다.
- !! : 바로 앞전에 썻던 명령어를 재실행 한다.
- !알파벳 : 알파벳이 들어간 명령중에 제일 최근에 실행한 명령어를 재실행 한다.
- 명령어 실행 후 바로 cat .bash_history를 하면 메모리에만 데이터가 있어서 모든 히스토리가 보이지 않는다.
  해서 history -a명령어를 실행하면 하드디스크에 데이터가 들어가서 cat .bash_history를 했을때 모든 히스토리 명령이 보이게 된다.
- history -c : 메모리의 목록을 클리어 한다. history 명령어에서만 클리어 되고 .bash_history는 따로 더 작업해야 없어진다.

다음 시간에는 권한설정하는 것을 배우게 된다.

728x90

'정보보안학원 > 과정평가형 일지' 카테고리의 다른 글

6일차  (0) 2022.04.21
5일차  (0) 2022.04.21
3일차  (0) 2022.04.18
2일차  (0) 2022.04.18
1일차  (0) 2022.04.14
728x90

[1교시]

/ Driver Booster Free
- iobit.com
- Driver Updater > Driver Booster Free 다운로드
- 컴퓨터 구입(조립pc 등) 후 각 장치들 세팅이 잘 맞는지 확인 or 드라이버 업데이트 확인

/ IObit Uninstaller
- iobit.com
- Must-have Tools > IObit Uninstaller 다운로드
- 프로그램을 이 프로그램으로 삭제해야 프로그램파일즈 폴더에서도 삭제된다.
- 그냥 제어판에서 삭제하면 폴더나 레지스트리까지 삭제되지 않음.

/ 업데이트
- Speedup > Advanced Systemcare Free 다운로드
- 속도 향상 > 작업모드 켜기
- 관리 > 수동모드 전체 선택 > 검사 > 자동 해결 & pc 재시작

 

[2교시]

/ 마이크로소프트 & 한컴 오피스 한글 2010 설치
- 클라이언트보다 낮은 버전을 써야 클라이언트쪽에서 폰트가 깨지지 않는다.
- 해서 실습은 2010버전으로 설치한다.

/ 백업
- 날짜 별 백업

/ 휴지통 삭제
- 시프트 + del : 휴지통 완전 삭제

/ VMware 설치

/ cve
- Common Vulnerabilities and Exposures
- 직역하자면 공통 취약점과 식별자인데, 한마디로 수많은 취약점을 공통화 하여 고유하게 넘버링을 한 것이다.
- CVE는 모든 종류의 소프트웨어 취약성에 부여된다.

/ 제로데이
- 컴퓨터 소프트웨어의 취약점을 공격하는 기술적 위협
- 해당 취약점에 대한 패치가 나오지 않은 시점에서 이루어지는 공격을 말한다.
- 제로데이 -1 데이 : 취약점을 안사람이 취약점을 안 알려주고 공격하는 것
- 라피드7.com에 계속 해서 올라옴

/Cisco Packet Tracer 5.3.3 설치
- 홈, 네트워크, 회사 네트워크 등의 개인 네트워크 / 공항 어쩌고 둘다 체크하고 액세스 허용

 

[3교시]

/ 아오메이 백어퍼 설치
- 최적화 후 진행

/ Cisco Paket Tracer 실습
- Options > Preferences > Always Show Port Labels 체크
- Font > Colors : 블랙 화이트 블랙 화이트

[4교시]
/ 지금까지 한것
- OS-Win10 Setup
- 최적화 - IOBit.com
    드라이브 업데이트
    멀웨어
    언인스톨
    시스템 케어
- OA-app 설치
    MS-office
    HNC
- App 설치
    VM ware
    packet tracer
- Utility
    알집
- 최적화
    업데이트
    HDD 정리

728x90

'정보보안학원 > 과정평가형 일지' 카테고리의 다른 글

5일차  (0) 2022.04.21
4일차  (0) 2022.04.19
2일차  (0) 2022.04.18
1일차  (0) 2022.04.14
오리엔테이션  (0) 2022.04.13
728x90

윈도우 10 설치하는 것 진행하느라 하루를 썼다..

728x90

'정보보안학원 > 과정평가형 일지' 카테고리의 다른 글

5일차  (0) 2022.04.21
4일차  (0) 2022.04.19
3일차  (0) 2022.04.18
1일차  (0) 2022.04.14
오리엔테이션  (0) 2022.04.13
728x90

[1교시]

- windows PC 10의 코어(Kernel)는 Windows Server 2016,2019,2022의 코어와 같다.

/ 자격증
- 네트워크관리사
- 인터넷보안전문가

/ cmd 창 띄우는 법
- 윈도우버튼에서 오른쪽 > 실행 > cmd 검색
- 몇개의 명령어 입력 후 화살표를 위아래로 누르면 이전에 썻던 명령어를 다시 확인할 수 있다.
- 드래그를 한다음에 오른쪽 클릭을 하면 임시저장 복사가 됨

/ cmd 명령어 1
- ipconfig : 내가 사용하고 있는 ip주소를 확인하는 명령어
- VMnet은 가상네트워크 서버를 설치했을때 나오는 것이다.
- IPv4 : 인터넷 프로토콜의 버전4의 주소. 다른 사람과 겹칠 수 없다.
- IPv4도 있고 IPv6도 있다.
- 서브넷마스크 : ip가 들어가 있으면 무조건 있음(울타리)
- 255.255.255.0은 울타리 느낌
- 게이트웨이 : 대문느낌, 서브넷에서 데이터가 왔다갔다 하는 대문
- 맨위에 있는 IPv6? : 4버전에서 생긴 문제(주소가 부족해짐)를 해결하기 위해 새로 나온 버전
- /all 명령어 : 디테일하게 조회할 수 있다.
   - 물리적 주소
   - DHCP
   - DNS 서버
- 예시 문제 : DNS서버를 확인할 수 있는 명령어는? (ipconfig /all /all을 빼면 오답이다.)
- 예시 문제 : 리눅스에서 쓰지 않는 명령어는? ifconfig
- 리눅스의 ifconfig 명령어와 같다.

/ cmd 명령어 2
- ping 목적지IP
- 8.8.8.8은 구글의 IP
- 168.126.63.1은 kt의 IP
- 메아리처럼 신호를 보내고 응답을 하는지 알아보는 명령어
- 굉장히 많이 쓰는 명령어
- 00ms 데이터가 다녀온 시간
- 리눅스든 윈도우든 명령어가 똑같다.
- 우리나라에서 미국까지는 일본을 거쳐서 해저로 연결되어 있다.(KT)
- 해서 우리나라로는 왕복 시간이 작은데(테스트 시 1ms) 미국으로는 왕복 시간이 크다.(테스트 시 31ms)
- 응답시간은 체크가능 한데, 회선 체크는 안된다.(불났는지는 모른다.)
- 8.8.8.8, 168.126.63.1은 둘다 기억해 두자. 해외, 국내 아이피 체크할때 대표적으로 사용하는 아이피

/ cmd 명령어 3
- 윈도우 : tracert 목적지IP
- 리눅스 : traceroute 목적지IP
- 회선(경로) 체크하는 명령어
- 출발 : 강의실의 게이트웨이에서 출발
- 거쳐가는 경로를 홉(6번까지 있으면 5홉)
- 각 번호별로 확실하게 하기 위해 3번 체크
- 밀리세컨을 안보여주는건 보안장비나 뭐 무슨 사정이 있어서 안보여주는 것
- 8.8.8.8로 할때
  - 해외망으로 넘어갈때 시간이 크게 뛰었다.(8번에서 33ms으로 시간이 올라감)
  - 112로 시작하는것까지는 국내인것같은데 확인해보자

/ ip
- ip : 인터넷 프로토콜의 약어

 


[2교시]

/ 아이피가 국내인지 해외인지 확인
https://whois.nic.or.kr
- 아이피를 소유하고 있는 회사 분사를 보여줌
- 72.14.243.228를 검색하니까 해외 기관에서 관리하고 있다고 나옴
- 밑에 내리면 Country등 국가를 알 수 있다.

/ 국가코드 최상위 도메인
https://ko.wikipedia.org/wiki/%EA%B5%AD%EA%B0%80_%EC%BD%94%EB%93%9C_%EC%B5%9C%EC%83%81%EC%9C%84_%EB%8F%84%EB%A9%94%EC%9D%B8

/ 프로토콜
- 네크워크상에서 주고받는 약속, 규약
- 대표적인 프로토콜은 풀네임을 알아두자.
- 데이터를 전송하는 대표적은 프로토콜은 아래3개
- TCP tcp (Transmission Control Protocol) : 전달을 컨트롤
  - 신뢰성이 높다.
  - 전달속도가 느리다.
  - 메일서버 등을 사용
  - 받았니 안 받았니?
- UDP udp (User Datagram protocl)
  - 신뢰성은 떨어지나 전달속도가 빠르다.
  - 내 신호를 받아랏. 난 그럼 이만
  - 미디어 서비스, 스트리밍 서비스에서 많이 사용
- ICMP icmp (Internet control Management Protocol)
  - ping : icmp기반으로 검색하는 대표적인 명령어
  - 데이터를 직접적으로 하기보다는 똑똑똑~ 느낌으로 

/ TCP/IP
- 인터넷이 사용하고 있는 신호전달 체계
- 인터넷이 가장 기본적으로 사용하고 있는 규약
- 데이터를 신뢰성있게 전달하기 위해서

/ TCP/IP를 확인할 수 있는 명령어
- netstat
- 내 pc의 네트워크의 연결 상태를 확인
- 윈도우, 리눅스 동일
- 로컬 주소 : 외부와 연결된 내부들
- 외부 주소 : 내 컴퓨터와 연결된 외부들
- 외부 주소를 살펴보고 이상하면 체크하는 것
- 이것으로 취약점 분석을 하기도 함
- --help 옵션 : 사용법을 알려주는 옵션
- -a 옵션 : 모든 연결 및 수신 대기 포트를 표시
- -n 옵션 : 주소 및 포트 번호를 숫자 형식으로 표시
- -p [프로토콜] 옵션 : 특정 프로토콜만 표시할때
- 옵션을 -an으로 붙여쓸 수 있다.
- -an : 제일 많이 쓰인다.
- -anp tcp : 많은 목록 중 tcp만 표시해준다.
- netstat -an | more : 한페이지씩 보겠다.
- netstat -anp tcp | find "443" : 큰따옴표 안 내용을 찾아줘
- netstat -anp tcp | findstr 443 : 위와 같음. 큰따옴표 없이 검색
- icmp는 여기서는 안뜬다.

/ 공유폴더 접근하여 자료가져오기
- start \\192.168.0.250
- 강의실 파일서버
- 공유폴더 접근하는 것
- 명령차에서 쓸때는 start 경로
- 실행창에서 쓸때는 그냥 경로로 검색


 

[3교시]

/ 제일 중요하고 빈도가 높은것
- OSI 7 LAYER : 오픈 시스템 언더커넥션
- TCP/IP LAYER

/ OSI 7 계층
- 보안장비를 만들던 뭘 만들던 전세계 어디에서나 통용되도록 약속한 통신 규약
- 순서를 기억해야 함
- PDNT SPA 이렇게 앞 스펠링으로만 해서 외운다고 함

/ TCP/IP 4계층
- OSI의 어느 계층과 매칭이 되는지
- OSI와 매칭되는 장비의 성격 등을 알아야 함

/ PHYSICAL, DATALINK 계층(1,2 계층)의 역활
- 데이터를 전달하기 위해서 준비하는 부분

/ 네트워크
- 어디로 쏠지 하는것이 라우팅

/ 트랜스포트
- 전달, End-to-end Service

/ 세션
- 응용프로그램간의 연결 성립, 대화제어

/ 프리젠테이션
- 데이터표현, 압축, 보안기능

/ 어플리케이션
- 전자메일, 파일전송

/ 네트워크 장비
- Repeater : 신호가 약해지면 쎄게 해줌
- HUB : 단순히 연결을 시켜줌
- L2 스위치
- L3 라우터 : 어디로 갈지길을 정해준다.

/ 계층에 따른 데이터 단위
- 시험에서 종종 나옴
- 각 계층에서 쓰는 데이터 단위가 무엇이냐
- 비트 프레임 패킹 세크먼트 메시지

/ 서비스 포트들의 규칙
- IANA, 서비스와 포트 매칭
- 0~1023 : 잘 알려진 포트. Well known. 서비스가 예약을 해서 이미 사용하고 있다.
  - MsSQL 포트 : 1433
  - Oracle 포트 : 1521
  - MySQL 포트 : 3306
- 1024~49151 : 등록된 포트. Registered
- 49152~65535 : 동적포트. Dynamic. 정해지지 않은 포트
- 시험에 잘 알려진 포트에 들어가는 것은? 식으로 잘 나옴

/ nslookup
- 네임서비스를 찾는 것
- 호스트를 물어보면 아이피를 알려줌
- 전화번호부같은 것
- 리눅스 동일
- DNS : 도메인 네임 서비스
- 명령어만 쓰고 엔터를 누르면 '>' 리다이렉트 표시로 바뀌며 nslookup명령창으로 바뀜
- 명령어만 쓰면 PC에 세팅되어 있는 정보를 불러옴

 


[4교시]

/ 네트워크 환경을 확인하는 법
- ncpa.cpl : 윈도우에서 네트워크 환경을 연다.
- 이더넷 선택 > 우클릭 > 속성 > 인터넷 프로토콜 버전4 선택 > 속성
- 자동으로 ip 주소 받기 : DHCP

/ 자동으로 ip를 받는지 확인하는 법
- ipconfig /all의 결과 중 '자동 구성 사용'이 '예'로 되어있고, 'DHCP 사용'이 예이거나 아니요로 되어있음

/ DHCP
- 네트워크에 연결되면 자동으로 ip를 할당받는 것
- Dynamic Host Configuration Protocol
- 스마트폰도 이 서비스를 쓰고 있음
- 자동으로 아이피를 받아온 시점과 반납을 해야하는 시점이 있음(임대 시작 날짜, 임대 만료 날짜)
- 만료시간이 다 되어도 자동으로 계속 쓴다고 응답하면 계속 쓸 수 있게 됨

/ DHCP 서버
- DHCP 서비스를 제공하는 서버
- DHCP클라이언트가 요청하면 응답을 해줌
- CS 구조 : Client / Server 구조

/ nslookup에서 물어보는 대상을 임시로 바꾸는 법
- 검색 : 텔코3사 DNS서버
- 외워두면 편함
- 리눅스에서도 동일함
- kt : 168.126.63.1
- sk : 219.250.36.130
- lg : 164.124.101.2
- 구글 : 8.8.8.8
- nsloolup명령창에서
  - server 164.124.101.2 으로 하면 기본 네임서버를 lg로 바꿈
  - dhcp를 아예 바꾸는건 아니고 명령창 안에서만 잠시 바꾸는 것임
- 취업했을 때 DNS, ns, nslookup을 가장 헷갈려 한다고 함

/ 강사님 개인 경험 사담
- lg공유기 사용, 스마트 티비가 잘 안나오는 상황, 인터넷도 안됨
- ipconfig로 게이트웨이 확인
- ping 게이트웨이아이피, ping 8.8.8.8 등 확인 
- 잘 가고 나오는데 인터넷이 안됨
- nslookup으로 naver.com조사 -> 안감
- nslookup 명령어 중 server를 써서 kt로 바꾼 후 다시 naver조사 -> 잘됨
- sk, 구글에서도 잘됨
- 이것은 lg dns서비스가 문제가 있는것이구나 인식

/ 집에서 해볼 것
- ipconfig
- ipconfig /all
- ping 8.8.8.8
- tracert 8.8.8.8
- nslookup 엔터 -> 대화형
- nslookup www.naver.com 164.124.101.2 -> 실행형

/ ipconfig vs ifconfig
- ipconfig /all       x
- ping 8.8.8.8       ping 8.8.8.8
- tracert 8.8.8.8    ping 8.8.8.8
- ncpa.cpl           nmtui     
- nslookup 엔터 -> 대화형 동일
- nslookup www.naver.com 164.124.101.2 동일
- netstat              동일

/ 수업을 하게 되면
- 윈도우서버 : 2016서버 또는 2019서버. 보통 2016
- 리눅스/유닉스 서버 : CentOS 7 -> 리눅스마스터
   CentOS 계열 : 최신버전은 8

/책
- 이것이 리눅스다(카페도 있음 : https://cafe.naver.com/thisislinux)
- 카페의 교재 자료실 > 3페이지의 전체 실습파일 다운로드, VMware 제품 다운로드


[5교시]

/ 사이트
www.comcbt.com : 기출문제
  - 기출문제 해설집 다운로드 클릭
https://www.ihd.or.kr
  - 리눅스마스터 : 1급 지금 신청해놓기
  - 인터넷정보관리사 : 04.25일 신청

/ 자격증
- 필기는 기출문제를 먼저 보는 방식으로 공부
- LPIC 1,2,3
- RHCSA / RHCE
- MCP
- MCSE
- Azure
- CCNA, CCNP, CCIE (CCIE는 일본, 호주, 홍콩 등으로 가야 함)

 

 

 

 

 

728x90

'정보보안학원 > 과정평가형 일지' 카테고리의 다른 글

5일차  (0) 2022.04.21
4일차  (0) 2022.04.19
3일차  (0) 2022.04.18
2일차  (0) 2022.04.18
오리엔테이션  (0) 2022.04.13
728x90

 

좀 헤맸다..
영어공부 좀 잘 해놓을껄..하는 후회와 로그를 잘 읽자..하고 다시 되내이는 마음가짐

 


 

문제지문

The password for the next level is stored in the file data.txt, which is a hexdump of a file that has been repeatedly compressed. For this level it may be useful to create a directory under /tmp in which you can work using mkdir. For example: mkdir /tmp/myname123. Then copy the datafile using cp, and rename it using mv (read the manpages!)

이 지문을 구글번역으로 돌리면 이렇다.

다음 레벨의 비밀번호는 반복적으로 압축된 파일의 16진 덤프인 data.txt 파일에 저장됩니다. 이 수준의 경우 mkdir을 사용하여 작업할 수 있는 /tmp 아래에 디렉터리를 만드는 것이 유용할 수 있습니다. 예: mkdir /tmp/myname123. 그런 다음 cp를 사용하여 데이터 파일을 복사하고 mv를 사용하여 이름을 바꿉니다(맨페이지 읽기!)

여기서 키워드는 '반복적으로 압축된'과 '16진 덤프'이다.

 


/ 삽질

bandit12로 로그인하고 들어가서 ls를 하면 data.txt파일이 보인다.
cat명령어로 출력을 해보니 복잡한 형식으로 뭔가가 막 다다다다 나온다.

호오..

검색해보니 이것이 바로 hex dump라고 한다.
뭐 어찌되었든 이것을 다시 text형태로 변환하면 되지 않나!하고 생각해서 명령어를 때려넣어 보았다.

오잉.. 안된다. 뭐지 이거..
'xxd -r 파일명' 이거랬는데..

문제지문에서 /tmp쪽에 폴더를 만들어서 진행해보랬는데 거기서 안해서 그런가 싶어서
/tmp/bandit12으로 폴더만들고 data.txt파일을 복사해서 똑같이 해봤는데도 안된당..
이래저래 삽질하다가 나때문에 bandit서버가 혹시 망가지면 어떡하지..하는 그런 걱정에 결국 공략을 검색하고야 말았다.

 

문제를 푸는 제일 큰 힌트는
xxd를 이용해서 바이너리 파일로 변환 후 file명령어를 이용해서 파일형식을 확인하는 것이다.

 


 

이 문제를 풀기위해 알아야 하는 것

/ Hex dump
# 데이터를 16진법으로 출력하는 방법
# xxd 명령어를 이용해서 hex dump형식으로 변환하거나 다시 바이너리 방식으로 변환할 수 있다. 

/ xxd 사용법
# xxd example.txt : hex dump로 출력
# xxd -r example.txt > example2 : hex dump로 출력되는 example.txt파일을 example2파일로 변환함

/ 바이너리 파일
# .jpg, .png, .mp3, .exe 등이 바이너리 파일
# 사용자 또는 프로그램이 사용하던 정보나 숫자 값을 특별한 가공없이 그대로 파일에 저장한것
# 바이너리 파일의 내용을 확인하려면 해당 파일을 볼 수 있는 프로그램이 별도로 있어야 한다.

/ gzip
# 리눅스 파일 압축(확장자명 : .gz)
# 순수하게 압축만을 위한 명령어
# 용량 압축
# gzip 파일명 : 압축하기
# gzip -d 파일명.gz : 압축풀기

/ bzip2
# 리눅스 파일 압축(확장자명 : .bz2)
# gzip에 비해 압축효율이 더 좋지만 압축시간이 조금 더 걸린다.
# bzip2 파일명 : 압축하기
# bzip2 -d 파일명.bz2 : 압축풀기
# bunzip2 파일명.bz2 : 압축풀기

/ tar
# 리눅스 환경에서 자주 사용하는 방식
# 용량을 압축하지는 않으므로 빠르게 압축이 진행되고 CPU 사용률이 높지 않음
# 압축이라기 보다는 파일을 하나로 합치는 방식
# 여러 파일을 하나로 묶고, 그 파일을 압축하게 되면 '파일명.tar.gz'가 된다.
# tar -cvf aaa.tar bbb : bbb폴더를 aaa.tar파일로 압축
# tar -xvf aaa.tar : aaa.tar파일을 압축해제
# tar -zcvf aaa.tar.gz bbb : bbb폴더를 tar로 합치고 gzip으로 한번더 용량압축한다.
# tar -zxvf aaa.tar.gz : aaa.tar.gz파일을 압축해제

 

728x90

'정보보안 > 워게임|CTF' 카테고리의 다른 글

[bandit] Level 0  (0) 2022.05.11
bandit  (0) 2022.04.13
728x90

bandit이라는 워게임을 하고 있다.

bandit은 리눅스 기초에 대해 공부할 수 있는 ssh방식의 워게임이다.

링크 : https://overthewire.org/wargames/bandit/bandit0.html

xshell이나 PuTTY같은 프로그램을 이용해서 호스트에 접속을 하고
이때, 현재 자신이 풀어야 하는 단계가 접속할때 로그인 user명이 된다.
(예를 들면 내가 현재 12단계에 있으면 유저명은 'bandit12'이다.)

각 계정의 패스워드는 서버에 접속하게 되면 여기저기 파일에 숨겨져 있다.
이 패드워드를 찾는 과정에서 리눅스 공부를 하게된다.

현재 12단계까지 온 상태이고 각 단계별로 포스트를 작성하기엔 조금 귀찮아서
지금까지 오면서 메모했던것들을 복습차원에서 여기에 또 메모한다.

 


/ 'file' 명령어 : 파일의 유형을 확인하는데 쓴다.
# file ./*

/ 파일사이즈로 파일을 찾아볼 있다. (명령어 옵션 -size)
# find ./* -size 1033c

/ 파일 크기 기준으로 검색할때
# find ./* -size +1033c  : 1033바이트 이상 크기의 파일을 검색한다.
# find ./* -size -20m  : 20메가 이하 크기의 파일을 검색한다.
# find ./* -size 1g  : 1기가 크기의 파일을 검색한다.

/ 특정 사용자의 파일을 찾을때
# find 위치 -user 소유자명 -print(경로를 표시해줌)

/ 특정 그룹이 소유하고 있는 파일 찾기
# find 위치 -group 그룹명 -print

/ 텍스트 파일에 중복된 라인이 있을경우
#중복을 제거하는 키워드 uniq
#정렬 키워드 sort
#중복행의 개수 옵션 -c
# cat data.txt | sort | uniq -c

/ Base64 인코딩
# echo '문자열' | base64

/ Base64 디코딩
# echo '문자열' | base64 --decode

/ Rot13 인코딩 디코딩
#카이사르 암호의 일종으로 영어 알파벳을 13글자씩 밀어서 만든다.
# echo "문자열" | tr 'A-Za-z' 'N-ZA-Mn-za-m'

 

728x90

'정보보안 > 워게임|CTF' 카테고리의 다른 글

[bandit] Level 0  (0) 2022.05.11
bandit12 -> bandit13  (1) 2022.04.13
728x90

#사담

내일배움카드로 듣게되는 정보보안 엔지니어 양성과정에 등록했다.
그동안 웹개발하면서 정보보안쪽에 계속 관심이 있었는데 막상 딱 학원을 다니게 되니까 너무 설렌다.
열심히 공부해서 보안으로 전직할것이다.

개발 음.. 재미있긴하지만 사실 걍 뭔갈 만드는것의 연속이라 살짝 지겹기도 하다..

반면에 보안쪽은 새로(또는 좀더 확장해서) 익히는 분야라 그런지 아직은 굉장히 재미있다!
학원등록하고 오티까지 약 한달정도의 시간이 있어서 웹해킹, 보안에 대한 책을 읽어보거나 워게임 들을 몇개 풀어보았는데 내가 예전에 개발했던것들이 생각나면서 부끄러움에 고개가 많이 숙여지기도 했다.
근데 또 그러면서 '다음에 개발할땐 이런것들을 신경써야겠군'하며 의욕이 샘솟기도 했다.

보안쪽 분야가 많고 내가 추후에 취업을 준비하게 될 때 어디로 지원하게 될지는 명확히 알 수 없지만
지금 일단 하고 싶은 분야는 웹보안 컨설팅쪽이긴 하다.
아무래도 지금 상태에서 제일 빨리 습득이 되다보니 재미있기도 하고 잘 할 수 있을것 같은 자신감도 있긴하다.

그치만 또 리버싱이나 포렌식쪽도 흥미가 있긴해서 이쪽도 공부를 열심히해서 몸에 잘 베이게 한 후 이쪽 분야로도 자신감이 생기면 나중에 이쪽으로 지원을 하고 싶어지지 않을까하는 그런 작은 포부..도 가지고 있다.

학원 수강기간이 10개월..이나 되니(거의 학교수준...) 그동안 CTF도 한번 도전해보고 워게임들도 많이 많이 풀어보고 할것이다.
이것저것 많이 경험해보고 재미있게 일할 수 있는곳으로 꼭 취업할것이다!

 

#학원 오티

오후3시에 오티가 시작되었다.

지각, 조퇴 등 출결에 대한 내용과 매달 실시되는 평가에 대한 내용이 주를 이루었고 교재는 수업시작하는날 배부해주는것 같다.

과정이 '과정평가형 정보보안산업기사 및 정보보안 엔지니어 양성과정'인데 그러다보니 한달에 한번정도 과목이 끝날때마다 평가시험이 있다.
이게 또 시험마다 60점을 모두 넘겨야 마지막에 산업기사 시험을 볼 수 있다고 한다.
(60점을 못 넘기면 재시험가능하나 기본 -10점이라 함)
문제형식이 '서술형 및 문제해결시나리오 평가'라고 하는데 한번도 접해보지 못해가지고 잘 할 수 있을지 좀 떨리긴하다..

전체적으로 평가시험을 잘보면 우수자를 따로 뽑아서 추천서도 따로 써주고 우수상같은것도 주고 따로 또 선물같은것도 챙겨준다고 한다.
아직 아무것도 모르는 입장에서 일단 도전해보고자 하는 의욕이 뿜뿜하다..!ㅋㅋㅋㅋ

그리고 이런저런 자격증을 준비할 수 있게 주말마다 이런저런 특강이 열린다고 한다.
8~9년차 개발자치고 아직 자격증이 하나도 없는데 이번 기회에 한번 자격증 왕창 따보려고 생각중이다.

매일 수업한것도 화면을 녹화해서 나스서버에 따로 공유해주신다고 한다.

진짜 나만 열심히 하면 될것같다. 하하

 

 

728x90

'정보보안학원 > 과정평가형 일지' 카테고리의 다른 글

5일차  (0) 2022.04.21
4일차  (0) 2022.04.19
3일차  (0) 2022.04.18
2일차  (0) 2022.04.18
1일차  (0) 2022.04.14

+ Recent posts