◎ 리눅스 학습의 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 |