Time for Security

블로그 이미지
제가 교육을 받으며 이해한 보안 지식을 복습하고, 정리해가는 작은 블로그입니다.
by 하꼬방
  • Total hit
  • Today hit
  • Yesterday hit

'보안 지식 창고'에 해당되는 글 16건

  1. 2017.07.24
    [리눅스] 하드링크 및 심볼릭링크
  2. 2017.07.23
    [리눅스] 디렉토리 및 파일 내용 변경
  3. 2017.07.21
    [리눅스] 디렉토리 및 파일 보기
  4. 2017.07.19
    [리눅스] 유닉스의 특징
  5. 2017.07.19
    [기타] VMnet 개념
  6. 2017.07.18
    [설치] VMware Workstation 및 CentOS 7 설치

 안녕하세요.


 이번 포스팅은 하드링크와 심볼릭링크입니다.


 리눅스하면 빼놓을 수 없는 핵심 개념이죠!


 이 포스팅은 많이 길지는 않을거에요!


 우선 간단히 설명하겠습니다. 


 하드링크든 심볼릭링크든 둘 다 링크입니다.


 단어에서 오는 느낌을 그대로 받는 것이 가장 좋다고 생각하는데요.


 앞선 실습에서는 파일을 복사했었는데 이 개념과는 다릅니다.


 복사되는 순간 두개의 파일은 서로 다른 것이 되는거지만 링크의 경우 하나를 변경하면 다른 하나의 내용도 똑같이 변경되는 거에요.


 먼저 하드링크를 살펴보겟습니다.


 이 하드 링크는 특정 파일이 디스크에 저장되어 있는 위치가 동일한 곳을 가리키고 있는 포인터예요.


 이 링크의 장점은 실제 위치를 똑같이 가리키고 있기 때문에 많은 링크를 만들어도 용량이 더 늘어나지는 않아요.

 


 실습을 위해 fileA를 생성하겠습니다.


 그리고 하드링크를 만들어줄건데요.


 하드링크를 만드는 명령어와 사용법은 ln (하드링크 만든 파일명) (하드링크) 입니다.


 ln은 link의 약자에요!


 하드링크가 된 후는 파일의 색이 바뀐 것을 보실 수 있습니다.


 좀 더 자세히 살펴볼게요.



 여기서 ls에 -i라는 명령어는 inode를 출력해주는 것으로 하드링크 된 파일을 살펴보면 72019830으로 두개의 노드가 서로같은 것을 볼 수 있습니다.


 이처럼 하드 링크는 링크 파일을 많이 만들어도 전부 똑같은 inode를 가지게 돼요.


 다음은 심볼릭 링크입니다.


 이 링크는 쉽게 윈도우의 바로가기를 상상하시면 이해하기 쉽습니다. 


 특정 파일 및 디렉토리를 가리키고 있는 포인터예요!



 심볼링 링크는 좀 전의 하드 링크를 만드는 명령어에 -s를 추가해주시면 돼요.


 ls명령어로 확인을 해보면 링크를 하고 있는 파일을 가리키는 화살표 표시가 보일거에요.


이번에는 inode가 서로 다른 것을 확인할 수 있습니다.



 

 여기까지 하드 링크와 심볼릭 링크에 대해 알아보았습니다.


 다음에 또 다른 내용으로 찾아뵙겠습니다. 

AND

 안녕하세요!


 오늘의 포스팅은 바로 디렉토리 및 파일 내용 변경하기 입니다!


 언제나 그렇듯! 제목이 곧 내용이죠! 하하. 


 이름은 거창하지만 오늘의 내용은 파일이나 디렉토리를 만들고 옮기는 것에 대한 것입니다.


 바로 시작해볼게요!


 먼저 저번에 배운 ls 명령어로 현재 계층에 무엇이 있는 지 알아보겠습니다.


 이번 실습은 새로운 파일과 디렉토리를 만들어주고 계속 확인해 볼 것이기 때문입니다.

 


 원래 있었던 파일들 말고 별 다른 파일은 없군요.


 그럼 파일을 하나 새로 만들어 줍시다.



 파일을 생성하는 명령어 touch 입니다.


 사용법은 touch (파일명) 이에요!


 파일을 생성해주고 ls 명령어로 확인을 해주면 내가 만든 파일이 생긴 것을 볼 수 있습니다.


 이 명령어는 빈 파일을 만들어주는 것이기 때문에 현재 fileA라는 파일안에는 그 무엇도 없습니다.



 다음은 파일을 복사하는 명령어 입니다.

 

 cp라는 명령어고, 사용법은 cp (복사할 파일명) (복사될 파일명) 입니다.


 cp는 copy의 약자입니다.


 마찬가지로 ls 명령어로 확인을 해주게 되면 fileAA가 생성된 것을 보실 수 있습니다.


 말씀드렸듯이 이번 실습에서 ls 명령어는 필수입니다.


 파일이나 디렉토리가 제대로 만들어졌는 지 확인을 해야 알 수 있잖아요? 



 다음은 디렉토리를 만들어 주는 명령어입니다.


 mkdir로 사용법은 mkdir (디렉토리 명)입니다.


 눈치채셨겠지만 mkdir은 make directory의 약자입니다.


 매번 약자를 설명하는 이유는 개인적으로 무작정 암기한 것 보다 이해하고 암기한 것인 더 오래 기억에 남기 때문입니다. 


 약자는 꼭 알아야되는 부분은 아닙니다.


 하지만 알아두면 분명 유용할거라고 생각해요.

 


 이 mkdir을 이용해 계층이 있도록 디렉토리를 한번에 여러개 만들어 주실 수 있습니다.


 위의 화면으로 설명을 드리겠습니다.


 dirB 디렉토리도 원래 없었고, 그 밑에 dirBB 디렉토리도 원래 없었습니다.


 그럴 경우 mkdir dirB후, mkdir dirB/dirBB 혹은 mkdir dirB후, cd dirB하시고, mkdir dirBB해주시지 않고,


 한번에 mkdir -p dirB/dirBB를 해주시면 됩니다.


-p라는 옵션을 꼭 붙혀주셔야 계층적으로 디렉토리를 한번에 만들 수 있답니다.



 ls -l이라는 명령어로 확인을 해보면 자세한 설명이 나오는데요.


 차이점이 느껴지시나요?


 파일은 검정글씨지만 디렉토리는 파랑글씨에요.


 그것 외에도 맨 앞을 보시면 일반 파일은 -인 반면에 디렉토리는 d라고 되어있어요.


 두가지 방법으로 파일 및 디렉토리를 구별할 수 있습니다.



 잠깐 다시 cp 명령어로 돌아와보겠습니다.


 이 cp 명령어는 현재 디렉토리가 아닌 다른 디렉토리에도 파일을 복사할 수 있습니다.


 위의 화면은 fileA 파일을 dirA 디렉토리에 복사하는 과정입니다.


 cd로 디렉토리를 변경하고, ls 명령어로 확인해보시면 fileA 파일이 생성되어 있음을 볼 수 있습니다.

 


 여러개의 파일을 동시에 복사할 수도 있는데요.


 fileB를 만들어 준 후 cp fileA fileB dirA라고 해주시면 fileA와 fileB를 dirA로 복사한다는 의미입니다.


 두개 이상의 파일도 가능합니다.


 위의 화면에서는 중간에 overwrite를 물어보는 데, 덮어쓸것이냐는 물음이에요.


 맨 처음에 fileA를 dirA에 넣어놨기 때문입니다.


 걱정하지 않으셔도 돼요!



 cp 명령어로는 파일뿐만아니라 디렉토리도 복사할 수 있습니다.


 디렉토리를 복사한다는 것은 그 디렉토리 내부의 모든 것을 복사한다는 겁니다.


 윈도우랑 똑같아요!


 실습을 위해 dirB 디렉토리를 만들어줍니다.


 복사 방법은 파일과 동일합니다.


 하지만 다른 점이 하나 있다면 -r 이라는 명령어를 추가한다는 점인데요.


 복사할 디렉토리가 아무것도 가지고 있지않다면 딱히 필요한 명령어는 아닙니다.


 하지만 하나라도 무언가를 가지고 있다면 디렉토리는 복사되지 않아요.


 그때 -r 을 추가해주시면 무조건 복사가 됩니다.



 다음은 복사가 아닌 파일 및 디렉토리를 옮기는 명령어인 mv입니다.


 move의 약자고, 사용법은 mv (옵션) (옮길 파일) (위치) 입니다.


 위의 화면은 fileA 파일은 dirB 디렉토리로 옮기는 것입니다.


 확인해보시면 제대로 이동된 것을 알 수 있어요.


 이동이기 때문에 cp와 다르게 당연히 전에 있던 곳에는 파일이 없어요!



 마찬가지로 디렉토리 역시 옮길 수 있습니다.


 방법은 똑같아요!


 디렉토리 역시 전에 있던 곳에는 디렉토리가 없어집니다.



그리고 mv 명령어의 독특한 부분이 있는데요.


그것은 바로, 파일이나 디렉토리를 옮기면서 이름을 바꿀 수 있다는 점입니다.


 위의 화면을 보시면 fileAA를 dirB 디렉토리로 이동시키며 파일의 이름을 fileAAA로 바꿔준 것입니다.



 다음은 삭제 명령어 rm 입니다.


 사용법은 rm (옵션) (삭제할 파일)이며, remove의 약자입니다.


 명령어를 사용해보시면 정말 지울 것인지 한번 물어본답니다.


 윈도우에서도 정말 지울 것이냐고 한번 더 물어보는 것과 똑같아요.



 마찬가지로 디렉토리 또한 지워집니다.


 디렉토리 내부의 모든 것을 지우는 것이기 때문에 모든 파일 혹은 디렉토리에 대해서 일일이 지울 것인지 말것인지를 물어봐요.


 디렉토리를 지우는 명령어는 또 다른 하나 rmdir이 있는데요.


 이 명령어는 디렉토리 밑에 무언가 있으면 절대 지울 수가 없습니다.


 그래서 일부러 설명드리지 않았어요.


 rm이 파일도 되고, 디렉토리도 되기 때문에 더 편하답니다.




 여기까지 디렉토리 및 파일 내용 변경에 대한 포스팅이었습니다.


 긴 글 읽어주셔서 감사합니다.


 다음에는 더 알찬 내용으로 돌아오겠습니다. 

AND

 안녕하세요!

 오늘의 포스팅은 디렉토리 및 파일 보기 입니다.


 우선 저번에 설치한 CentOS 7을 실행시켜 줍니다.

 그리고 터미널을 실행하세요!



 앞으로 자주 보게 될 화면이 될거에요.


 혹시 실습 도중에 이상이 발생할 수 있으니 test 계정에서 root 계정으로 이동해줍니다.



 su - 는 'switch user'로 계정을 바꿔주는 명령어입니다.

 실습을 하며 종종 바꿔주게 될텐데요.

 이 점 때문에 제가 설치 과정에서 비밀번호를 간단하게 만드는 것을 추천했던거에요.

 만약 비밀번호를 복잡하게 설정해주면 매번 복잡한 암호를 입력해야하는데 여간 불편한 점이 아닐겁니다... 장담해요...


 자, 그럼 지금부터 간단한 실습을 진행해보며 명령어들을 살펴볼게요! 


 먼저 pwd 입니다.



 pwd는 print working directiory의 약자로 현재 디렉토리를 출력해주는 명령어입니다.


 지금 실습 상태에서는 /root 디렉토리에 있다는 것을 보여주고 있네요!

 현재 있는 위치가 어디인지 알고 싶을 때 사용하는 명령어입니다.


 다음은 ls입니다.



 ls는 list의 약자로 현재 디렉토리의 내용을 확인하는 명령어입니다.


 이곳에서는 두 개의 파일이 있네요.

 참고로 anaconda파일은 리눅스 설치에 필요했던 파일입니다.


 파일이 너무 조금 밖에 없었으므로 좀 더 사용해보기 위해 cd 명령어를 사용해보겟습니다.



 cd 명령어는 change directory의 약자로 디렉토리를 변경하는 명령어입니다.


 /는 root를 의미하므로 cd /는 현재 디렉토리에서 /로 디렉토리를 변경한다는 뜻입니다.


 다음 실습을 진행하기 전에 현재 디렉토리를 한번 다시 확인해봅니다.



 디렉토리 위치가 cd 명령어로 변경된 것을 확인할 수 있죠?


 그럼, 계속해서 실습을 진행하겠습니다.


 root 디렉토리로 이동해 다시 ls 명령어를 실행하면 굉장히 다양한 파일들이 보입니다.


 그리고 ls 명령어에는 다양한 옵션이 존재하는데요.



 ls -l은 디렉토리의 내용을 자세히 살펴보는 것입니다.


 무엇이 자세히 보이나 살펴 봅시다 



 맨 앞의 l은 파일 종류를 의미하고,

 그 다음의 rwxrwxrwx는 파일의 권한을 나타냅니다.


 1은 생성되어 있는 하드 링크의 갯수를 의미하고,

 첫번째 root는 소유자, 두번째 root는 그룹을 나타냅니다.


 7은 파일의 크기를 나타내고,

 7월 18 09:00은 해당 파일에 대한 마지막 접근 날짜를 의미하며,

 마지막 bin -> usr/bin은 파일의 이름입니다.


 리눅스 초보라면 생소한 단어들이 많을 거에요.

 한 포스팅에서 너무 많은 내용을 알려주면 분명 헷갈릴거에요.


 이번에 설명하지 않고 넘어간 부분은 다른 [리눅스] 카테고리에서 반드시 설명할거에요!

 지금 당장 모른다고 너무 걱정하지 않으셔도 돼요! 

 

 만약 이 명령어를 아래 화면처럼 하나의 디렉토리를 지정해서 사용한다면 그 디렉토리에 관한 내용만 나온답니다.



 ls -a라는 명령어는 숨겨져 있는 디렉토리 및 파일을 보여주는 명령어입니다.


 ls만 입력했을 때 보다 조금 더 많아져 있는 것을 보실 수 있을 겁니다.

 항상 그런 것은 아니고, 당연히 숨긴 디렉토리 및 파일이 있을 경우에만 입니다.

 이것은 당연하겠죠!? 



 그리고 ls -A는 숨긴 디렉토리 및 파일 중 .과 ..을 제외하고 보여주는 명령어입니다.

 .은 현재 디렉토리, ..은 상위 디렉토리를 의미합니다.



 -ls -R은 디렉토리 내부를 보여주면서 범위 내의 하위 목록까지 모두 보여주는 명령어입니다.


 하위 구조가 어떻게 생겼는 지 파악해보고 싶을 때 사용하면 유용하답니다.


 아래 실습에서는 하위 구조를 보기 위해 home 디렉토리로 이동하고 명령어를 사용하였습니다.


 root 디렉토리 밑에서 사용한다는 것은 현재 리눅스의 모든 파일 및 디렉토리를 보겠다는 것이 되므로 시간도 오래걸릴 뿐더러 너무 복잡해요! 



 다음은 ls -F 명령어입니다.


 파일의 종류를 알수 있는 명령어입니다.


 파일 뒤의 기호로 그 종류를 판별할 수 있습니다.


 기호

파일 종류 

 디렉토리 파일 

 실행 파일 

(none) 

 텍스트 / ASCII 파일 

 심볼릭 링크 파일 

 소켓 파일 


 root 디렉토리의 내용을 확인해보기 위해 전 디렉토리로 이동했습니다.


 cd -는 현재 디렉토리로 오기 전의 디렉토리로 이동해주는 명령어입니다.


알아두고 있으면 굉장히 유용해요.



 다음은 file 명령어인데요.


 특정파일이 어떤 종류의 파일인지 확인하고 싶을 경우에 사용합니다.


 아래 화면에서 볼 수 있듯이 어떤 종류인지 확실히 알 수 있습니다.



 다음은 cat 명령어입니다.

 concatenate의 약자로 {사슬같이 잇다, 연쇄시키다}라는 뜻이 있는 단어입니다.


 사용법은 cat (파일이름) 입니다.


 이 명령어는 텍스트 파일을 화면으로 출력해주는 것입니다.

 

 모든 내용이 한번에 전부 출력되기 때문에 파일의 내용이 길다면 명령어의 실행이 끝났을 때 보이는 것은 파일의 맨 뒷부분이됩니다.



 그 단점을 보완한 것이 more라는 명령어 입니다.


 사용법은 more (파일이름) 입니다.


 cat과 같이 텍스트 파일을 볼 수 있게되지만 페이지 단위로 보여주게 되어 사용자가 마음데로 오가며 볼 수 있게 해줍니다.


 다음과 같은 키로 자유로이 여행? 할 수 있게 됩니다.


 스크롤 키

설명 

스페이스 

 다음 페이지 표시 

엔터 

 다음 줄 표시 

b 

 이전 페이지 표시 

/패턴 

 특정 문자열 패턴을 검색(내림차순) 

n 

 패턴 검색 후, 다음 패턴을 검색 

q

 명령어 종료 



 다음은 head 명령어입니다.


 사용법은 head [-n] (파일이름) 입니다. (n에는 숫자를 넣어주시면 돼요!)


 앞에서부터 원하는 라인까지의 페이지 내용을 확인할 수 있는 명령어입니다.



 다음은 head의 반대 경우인 tail입니다.


 사용법은 역시 tail [-n] (파일이름) 입니다.


 예상하셨겠지만 해당 파일의 뒷부분에서부터 위로 올라가며 원하는 라인까지 보여주는 명령어입니다.


 head보다 쓸모 없다고 생각할지도 모르겠지만 웹 로그를 저장해두는 파일의 경우 그 끝 부분은 가장 최근 기록이 되기 때문에 head보다 훨씬 자주 사용된답니다. 



 오늘의 마지막 명령어는 wc입니다.


 word count의 약자로 파일의 줄, 단어, 문자수를 확인할 수 있는 명령어입니다.


 사용법은 wc (옵션) (파일이름) 입니다.


 옵션

설명 

-l 

 줄 개수 

-w 

 단어 개수 

-c 

 바이트 개수 

-m 

 문자 개수 



 위의 예시에서 157은 라인수를, 551은 단어수를, 3108은 문자의 개수를 나타내줍니다.


 단독으로 쓰이는 경우는 거의 없으며 다른 명령어들과 연계해서 쓰인답니다.


 예를 들어서 현재 디렉토리의 파일들을 모두 출력해준 것을 한 파일에 저장하고 그 파일에 wc 명령어를 사용하면 그 디렉토리의 파일이 몇개인지 알 수 있는 것으로 응용할 수 있습니다.



 제 실습 예시들을 보시면 매번 명령어가 위에서 부터 시작됨을 확인하실 수 있을텐데요.


 그것은 바로 clear라는 명령어 덕분입니다.



 clear 명령을 사용하게 되면 위 화면에서 아래 화면처럼 깨끗이 지워집니다.


 완전히 지워진 것은 아니고 눈치채셨을 수도 있지만 스크롤을 위로 올리면 좀 전의 화면이 다시 보인답니다.

 


 저는 실습 화면을 깨끗이 유지해주기 위해 사용했지만 여러분들은 실습을 따라하시면서는 사용할 필요는 없습니다.


 정신이 정말 사납다 싶을때만 사용해주시면 돼요!


 그리고 추가적으로! 하나 더 좋은 것을 알려드리면 파일의 경로나 파일명을 입력하실 때 도중에 tab키를 한번 눌러보세요.


 존재하는 경로 및 파일이 있다면 순식간에 완성된답니다.



 길고긴 sshd_config지만 tab키로 단번에 완성할 수 있습니다.



 이 tab키는 리눅스를 하실 때 꾸준히 사용해주시는 게 좋습니다.


 경로나 파일을 찾고 이동하며 에러가 나는 경우가 상당히 많은데요.


 그럴때마다 ls같은 명령어로 일일이 확인하시는 것 보다 tab키로 경로 및 파일의 존재를 확인해주는 편이 훨씬 빠르고 쉽답니다!




 여기까지 오늘의 포스팅이었습니다.

 좀 중구난방으로 설명이 된 것 같은데, 다음 번 포스팅 때는 좀 더 간결하고 알아보기 쉽게 찾아오겠습니다! 


AND

 오늘은 유닉스의 특징에 대해 포스팅을 해보겠습니다. 


 보통의 사용자들이 쓰는 OS는 리눅스일텐데요.

 유닉스는 이 리눅스의 기반이 된 운영체제입니다.


 이 유닉스의 특징은 크게 다섯가지가 있습니다.


 첫째. 높은 이식성과 확장성입니다.


 현존하는 운영체제 중 가장 이식성이 높은 운영체제이며, SPARC, ALPHA, Power PC는 물론 x86과 APM 계열의 시스템에서도 이식이 용이합니다.

 그리고 서버에서 사용되는 CPU 뿐 아니라 임베디드 시스템 등에서도 널리 사용되고 있습니다.


 둘째. 안정성과 신뢰성입니다.


 오랜 기간 발전해 오면서 그 안정성을 인정받고, 위협으로 부터 대응하기 위해 업계 표준의 다양한 보안 기능을 탑재하고 있습니다.


 셋째. 다중 사용자 지원입니다.


 동시에 여러 사람이 동일 시스템에 접속하여 사용할 수 있고, 보통 네트워크를 통해 접속합니다.


 넷째. 다중 작업 지원입니다.


 한 시스템 내에서 동시에 여러 가지 프로그램을 구동할 수 있습니다.


 다섯째. 계층적 파일시스템입니다.


 파일시스템이 계층적 구조로 개발되어 파일을 체계적으로 관리 할 수 있습니다.



 윈도우와 겹치는 내용들도 있지만 유닉스만의 분명한 장점도 보이네요. 


 마지막으로 혹시 궁금할지도 모를 우리가 사용하는 리눅스와 유닉스의 차이점을 보며 포스팅을 끝마치도록 할게요.


 먼저 유닉스는 유료이며 OS의 사이즈가 커 무겁습니다.

 리눅스 또한 일부는 유료지만 무료 버전이 많고, OS의 사이즈가 작아 가볍습니다.
 하지만 리눅스는 아직 개발되는 부분들이 있기 때문에 버전이 모두 다르다는 단점이 있기도 합니다.
 
 무엇보다도 처음 사용자가 리눅스를 택하는 가장 큰 이유는 무료 버전이기 때문일 것 같다는 생각을 해봅니다.



 여기까지 간단한 포스팅이었습니다. 


AND

 이번 포스팅은 저번에 설치 했던 가상머신 안에 있는 가상 OS들의 네트워크에 대해 알아보는 시간입니다.


 복잡한듯 간단한 포스팅이 될거에요~ 


 저번에 가상머신과 리눅스를 설치하셨다면 커멘드 창에서 ncpa.cpl을 입력해보세요.

 제어판에서 네트워크 연결을 찾아오셔도 됩니다.

 그럼 아래 화면과 비슷한 네트워크 연결 상태를 보실 수 있을거에요.

 (각자의 PC에 따라 약간 다를 수 있습니다.)


 주목해서 보셔야할 곳은 VMnet1과 VMnet8입니다.

 이 둘은 가상머신을 설치함으로 인해 생긴 새로운 네트워크 입니다.

 


 VMnet은 개념상 허브라고 생각하시면 되는데요.


 VMnet은 0부터 19까지 설정할 수 있습니다.

 그 중에서 VMnet 0은 Bridged 형태, VMnet8은 NAT 형태로 고정되어 사용자가 바꿀 수 없구요.

 이 둘을 제외하고는 사용자가 바꿀 수 있습니다.

 이들은 Host Only라는 형태입니다.

 

 그럼 먼저 VMnet1에 연결된 형태를 볼게요. 



 설명에 들어가기 전에 그림에 대해 간단히 설명 드리겠습니다... 워낙 그림판을 서툴게 사용해서... 


 가장 큰 사각형은 사용자의 물리적인 PC라고 생각하시면 되고, 그 안에 CentOS 7, Win 7은 가상머신 안의 OS라고 봐주시면 되요! (G.W.는 Gateway 입니다.)


 다시 본론으로 들어와 보겠습니다.


 우선, VMnet1이라면 Host Only의 형태입니다.

 이 형태에서 가상머신 안에 있는 OS들은 외부와 통신을 할 수 없습니다.

 서로 간에는 통신을 할 수 있지만 물리적인 PC를 뚫고 바깥으로 나가지는 못합니다.

 그런 이유에서 Host Only라고 불립니다.

 폐쇄망이라고도 하죠.


 다음은 VMnet8에 연결된 형태를 보겠습니다. 

 


 VMnet8에 연결하게 되면 그림처럼 가상머신 안에 Gateway가 생기게 됩니다.

 NAT를 사용하기 때문에 생긴 가상의 Gateway입니다.


 이렇게 될 경우, 가상머신 안의 OS들이 물리적인 PC 바깥에 도착할 수 있게 됩니다.

 인터넷을 할 수 있게 되는거죠.


 마지막으로 VMnet0에 연결된 형태를 볼게요. 



 아무것도 거치지 않고 바로 외부로 나갈 수 있게 됩니다.


 같은 IP 대역대에 있으면 가상머신끼리도 통신이 가능합니다.


 VMnet8과의 차이점은 VMnet8은 주소를 변환해 외부로 나간다는 점입니다.

(NAT : Network Address Translation)


 


 이렇게 VMnet에 관해 알아봤는데요.


 보통의 경우에는 외부와 통신을 하기 위해 VMnet8을 사용합니다.

 외부에서 느끼기에는 주소가 바뀌어서 나가기 때문에 물리적 PC로 부터 왔는지 가상머신으로 부터 왔는지 잘 알 수 없게됩니다.

'보안 지식 창고 > [기타]' 카테고리의 다른 글

[기타] 스위치 환경에서의 스니핑 방법  (0) 2017.08.29
AND

 안녕하세요. 

 이번 포스팅은 가상머신과 리눅스 설치입니다.


 먼저 가상머신입니다.

 저는 VMware Workstation Player 12.5를 선택했습니다.

 Workstation Pro의 무료 버전이지만 실습을 하기에 전혀 부족한 점이 없습니다.


 https://www.vmware.com/products/player/playerpro-evaluation.html

 이곳으로 접속해주시면 됩니다.

 (주소는 사이트의 사정상 바뀌었을 수도 있습니다.)


 

 좌측 하단의 다운로드 링크를 클릭하여 설치해줍니다.

 실행 파일이 다운 받아지며 별 특징없이 설치해주시면 됩니다.


 다음은 리눅스입니다.

 저는 CentOS 7을 사용할 겁니다.

 Fedora는 지원이 더 이상되지 않고, 요즘 CentOS를 많이 사용하더라구요..


 https://www.centos.org/download/

 이곳에서 다운 받아주시면 됩니다. DVD ISO 혹은 Minimal ISO를 추천합니다.

 (주소는 사이트의 사정상 바뀌었을 수도 있습니다.)



 설치가 전부 되었다면 VM을 실행시킵니다.

 저는 다른 실습 때문에 이것 저것 많이 설치되어 있지만 처음 사용하시는 분들은 아무것도 설정되어 있지 않을 것 입니다. 


 Create a New Virtual Machine을 눌러주면 아래와 같은 화면이 나옵니다.



 CentOS 이미지는 나중에 넣을 것이므로 세번째 선택지를 선택합니다.



 리눅스를 선택하고, CentOS 64-bit를 고릅니다.

 (자신의 설치 리눅스를 골라주면 됩니다.)



 가상머신에 보일 이름 및 만들어질 폴더의 이름을 정하는 곳입니다.

 저는 CentOS 7으로 설정했습니다.

 (좌측에 보이는 Fedora01 같은 부분을 설정해주는 것이라고 생각하시면 됩니다.)



 이 리눅스의 사이즈를 정하는 부분인데, 저는 다른 OS들로 공간이 부족하여 20.0GB로 설정하였지만 보통 60GB정도로 설정해 줍니다.


  본인의 컴퓨터 상황대로 적절히 해주면 좋습니다. 하지만 웬만하면 20GB는 넘어야 수월해집니다. 



  위와 같은 화면이 보인다면 일단 성공입니다.



 다시 처음으로 돌아온 느낌이네요.

 여기서는 우측의 Edit virtual machine settings를 클릭합니다.

 몇몇 설정해줄 것이 있거든요.



 우선 메모리 입니다.

 기본이 1024MB로 되어 있을텐데 넉넉히 2048MB로 잡아줍니다.

 이 부분 역시 본인의 컴퓨터 사양에 따라 설정해줍니다.

 파란색 화살표까지가 설정할 수 있는 최대치입니다.



 사운드라든지 프린트는 필요없으므로 Remove 시켜줍니다. 



 이 곳이 드디어 우리의 CentOS ISO파일을 넣는 곳입니다.

 우측의 Browse를 눌러 아까 전 다운받은 CentOS 7을 선택합니다.



 이제 반정도 왔습니다. 

 CentOS 7을 Play virtual machine으로 실행시켜 줍니다.



 위 두화면이 출력되야 정상 진행되고 있는 거에요.



 아무래도 한국어가 편하겠죠? 



 우측 상단의 키보드를 눌러주세요.



 좌측 +에서 영어(미국)을 선택해주시고, 우측 옵션에서 Alt+Shift를 선택합니다.

 나중에 CentOS에서 한영키를 바꿔주는 방식을 선택하는 거에요.

 본인이 편한 거로 골라주시면 되지만 Alt + Ctrl은 피해주세요.

 그 단축키는 가상머신에서 마우스를 밖으로 뺄때 사용하는 단축키거든요.



 다음은 소프트웨어 선택을 눌러주세요.

 리눅스를 윈도우와 비슷하게 사용하고 싶으시면 위와 같은 설정을 해주시면 됩니다.

 리눅스는 기본적으로 GUI가 적용되지 않기 때문에 처음 사용하시는 분들은 그래픽이 입혀져있지 않다면 매우 불편할 수 있답니다.

 


 다음은 설치 대상을 눌러주세요.

 처음 사용자 분들은 별다른 클릭없이 좌측 상단의 완료 버튼을 눌러주세요.

 그리고 설치 시작을 해줍니다.



 여기서 부터 컴퓨터 사양에 따라 적게는 10분, 많게는 1시간이 걸린답니다.

 주의하실 점은 설정만 잘 해주셨다면 밑에 막대바가 움직이지 않더라도 결국 끝까지 차게 되어 설치가 되니 비정상적으로 종료하시면 안됩니다. 절대요! 



 root 암호를 설정해줍니다.

 익숙하신 분들이라면 괜찮지만 초심자들에게 저는 비밀번호로 centos를 추천합니다.

 다른 곳에서 사용하는 복잡한 암호를 사용하셨다가는 실습할 때 분명히 고생하실거에요...

 취약하다고 뜨긴 하지만 어차피 본인만 사용할 것이므로 별 문제될 일이 없을 겁니다. 아마도요.



 사용자를 생성해 줍니다.

 이름은 아무거로 해도 괜찮지만 암호는 역시 그 이름을 따라해주세요.

 제 test 사용자의 암호는 test입니다.

 웬만하면 사용자 이름도 test나 user같은 간편한 거로 해주세요.



 이제 이 화면에서 계속 기다려주시면 됩니다!

 거의 다 왔어요!



 위와 같은 화면이 나온다면 성공!

 재부팅 해줍니다.



 라이센스 정보를 보시고, 역시나 동의를 눌러주시면 됩니다.



 Kdump입니다. 저는 활성화하지 않았습니다.

 Kdump란 간단히 말해 커널 충돌이 발생하는 이벤트시 시스템의 메모리 상태를 vmcore라는 파일 상태로 생성해주는 건데 윈도우로 치면 오류 발생시 블루 스크린을 뜨게 해주는 것이라고 보면 됩니다.



 모든 것을 마치고, 이러한 화면에서 아까 설정한 비밀번호를 입력하고 들어가서...



 위와 같이 바탕화면이 보이는 CentOS 7이 설치되셨다면 완벽한 성공입니다!




 길고 긴 설치 과정 읽으시느라 고생 많으셨습니다!

 이제 많은 실습을 진행해 보아요! 

AND

ARTICLE CATEGORY

전체 (115)
블로그 소개 (1)
KITRI 교육 (95)
보안 지식 창고 (16)
한 잔의 여유 (2)

RECENT ARTICLE

RECENT COMMENT

RECENT TRACKBACK

CALENDAR

«   2024/05   »
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 31

ARCHIVE