본문으로 바로가기

[D+2] 리눅스 개요

category 해킹&보안/Linux 2017. 2. 7. 20:27
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

◎ 리눅스 학습의 Vision

1. Administrator : 서버 시스템 관리자 → 리눅스에서는 관리자를 root라고 칭함.

    ↔ Server : Serve + er = 서비스를 제공해주는 사람 또는 컴퓨터.

2. 보안 컨설팅

3. 서버 엔지니어 : 보안서버를 구축.     =>   보안 서버 : 아래 그림에서 처럼 랜 선을 타고 들어오는 악성코드 및 해킹을 방어하기 위해 한 번 걸러주는 서비스를 제공.


보안 서버


4. 강사 등등...


◎ Linux 공부 순서 : 기본적인 overview  >>  Basic Command  >>  Daemon(프로그램을 다운받아서 구동가능케 함)  >>  Security





1. 리눅스 개요


1) Linux OS


▣ Linux ? 

- Linux는 Windows의 한 프로그램이 아닌 독자적인 OS(운영체제).

- Linux의 사용범위

☞ 개인용 데스크탑 : Windows나 MAC OS가 아닌 개인의 취향으로 Linux를 사용가능함.

워크스테이션 -> 개발자 환경 : Linux를 기반으로 한 환경이 많기 때문에 워크스테이션으로 많이들 사용함.

ex) 안드로이드는 리눅스 기반. 고로 호환성을 위해서 리눅스에서 개발하는 경우가 많음.

서버 -> 웹, 메일, DB, FTP 서버 : 리눅스의 사용에서의 가장 큰 장점.

☞ 임베디드 -> TV, PDA, 핸드폰 = 소형화

☞ 클러스트링 : 중앙집중방식(중앙에서 컨트롤을 함)

ex) PC방에서 카운터의 알바생이 클릭 한 번으로 모든 컴퓨터의 게임을 업데이트 가능.

- Linux의 배포판

☞ Linux = GNU S/W (검은 화면) + X window (GUI : Graphic User Interface) + App

☞ SlackWare, Redhat, Suse, Centos ...


- Linux에는 공개버전과 상용버전이 존재함.

  공개버전과 상용버전의 차이점은 상용버전은 돈을 받지만 유지와 보수를 해줌.



▣ Linux 탄생 배경

- 리눅스 토바즈가 커널을 개발 => 개인적인 용도로 서버를 만들고 싶었지만 유료인 유닉스를 사용하기 싫었기에 본인이 직접 개발.

- 리차드 스톨만이 창립한 FSF(Free S/W Foundation)의 GNU 프로젝트와 발전.

☞ GNU (GNU is Not Unix)

☞ GPL (General Public License) : 소스 공개 및 수정, 재배포 가능.

- 리눅스 토바즈가 평소 펭귄을 좋아했기 때문에 Linux의 마스코트는 펭귄 Tux 임. [사진 출처 : 위키피디아 Tux]



 ▣ OS ?

- OS란 컴퓨터 사용자와 컴퓨터 H/W (CPU, RAM...) 사이의 중재자 역할을 하는 시스템 S/W.

- 사용자는 컴퓨터 하드웨어를 직접적으로 제어가 불가능함.

- H/W 뿐만 아니라 S/W 또한 제어가 가능해야만 OS라 칭함.

 이 때문에 win3.1을 OS라고 부르지 않음. (win3.1에서 프로그램을 종료시키려면 win3.1 또한 같이 종료를 시켜야했기 때문)



▶ Windows 구조

- Kernel : 지구의 중심이 핵이듯 윈도우의 중심.

- 윈도우는 Kernel Mode를 볼 수 없음.

- 프로그램 실행 시.

1. 프로그램 더블 클릭.

2. 컨트롤을 User Mode에서 Kernel Mode로 넘겨줌.

3. 해당 프로그램 실행에 필요한 HW 자원을 할당.

4. 결과값을 모니터로 출력.



▶ Linux 구

- Kernel = 진짜 Linux 알맹이!

- Windows 와의 차이점

☞ 커널이 공개되어 있음.

☞ 커널에다 바로 명령어를 칠 수 없기에 쉘에다 기본적인 명령어를 침.







▣ 커널소스 숫자 : 커널 버전  => 커널버전을 알면 해킹이 가능하다! (내가 사용중인 커널의 버전을 들키지마라..)


linux-x.y.z.tar.gz 


- x : 주 버전

- y : 홀수 -> 베타(버그존재), 짝수 -> 안정적

- z : 버그 수정 횟수


▣ 모듈    - 자주 사용하는 요소 : 커널에 포함. (ex. 키보드, 마우스)

   - 비교적 가끔 사용하는 요소 : 독립적인 모듈로 작성하여 필요시 마다 호출. (ex. 프린터, 스캐너)



특징

- 무료 + 안정성

- 다중 사용자, 다중 작업 시스템

서버로 운영하기 적합 => FTP 서버 또한 리눅스로 구성.

☞ 계정과 패스워드가 존재.

명령어로 하드웨어를 제어(Shell의 역할) = 시스템을 이용함.

☞ 절대적인 권한을 가진 ROOT : 계정의 생성, 수정, 삭제 등의 관리를 함.

☞ 홈 디렉토리 : 각 계정마다 활동가능한 각자만의 공간이 계정 추가시 기본적으로 생성됨.

☞ 환경설정 파일 : 각 사용자별 환경 ( .bashrc, .bash_profile) => 다른 OS와는 다르게 환경설정을 파일로 관리.

- 로그 (기록, 흔적)  =>  추적 : 디지털포렌식

☞ 시스템에 접근하고 제어한 기록을 남기거나 프로그램, 서비스의 발생 시 오류를 기록 ( /var/log/..... )




2) FSF & GNU


▣ 1980년대 초반 Richard Stallman이 시작한 움직임 : FSF(Free S/W Foundation) 설립 ( 프로그램의 복사, 배포 등에 대한 제한을 철폐하자!! )

☞ 자유로운 사용 및 소스 코드 공개

▣ 대표적 프로젝트 : GNU/Linux 프로젝트

▣ GNU 공용 라이센스 (GNU Public License)

☞ 출시되는 S/W는 무료. 이 자유를 누구도 빼앗을 수 없다!

☞ 이익을 위해 다시 파는 것은 허용

☞ 판매자는 모든 소스코드를 공개해야 함

☞ 재판매 된 패키지도 GPL의 적용을 받기에 무료 또는 이익을 위해 판매도 가능함.

☞ 프로그래머들은 자신의 프로그램으로 인한 어떠한 위험이나 손해에도 법률적 책임을 지지 않음.




i2sec 대구지점 23기 수료생.



'해킹&보안 > Linux' 카테고리의 다른 글

[D+7] 리눅스 커맨드 (3)  (0) 2017.02.15
[D+6] 리눅스 커맨드 (2)  (0) 2017.02.14
[D+5] 리눅스 커맨드 (1)  (0) 2017.02.13
[D+4] 리눅스 시스템  (0) 2017.02.09
[D+3] 가상 머신  (0) 2017.02.08