Cute Running Puppy

Linux

Linux_14Day

jwjin 2019. 6. 2. 18:09
728x90

# 리눅스 정리

adIP address : 현재 IPv4 를 사용하고 있어서 조만간 IP주소가 고갈될 예정이다. 따라서 2가지 방법이 제시되었는데
   사설 IP주소를 사용하는 것과 IPv6를 사용하는 기법이 있다.
   IPv6 : 고유한 MAC주소(48bit)+FF:FE(16bit)를 합해서 호스트 ID를 지정하므로 관리자가 IP주소를 할당할
   필요가 없다.
    ->시스템 전체를 IPv6로 만드는 방법과 IPv4와 IPv6가 연결되는 tunneling을 사용하는 기법이 있다.

IP addressing에는 binary(2진법), decimal(10진법), hexadecimal(16진법), octet(8진법) 을 알고 있어야 한다.
데이터가 binary로 이동하기 때문에 사람이 볼 수 있는 decimal의 관계만 알고 있으면 된다.


IPv4는 32bit로서 8bit씩 .으로 구분해서 써준다.
8bit.8bit.8bit.8bit < - 8bit x 4 = 32bit
subnetmask는 호스트A와 호스트B가 동일한 네트워크에 있는 여부를 판단할 때 사용된다.
IPv4는 5개의 Class로 구분되는데 클래스별로 사용할 수 있는 호스트 수와 네트워크 수가 달라진다.
IP 주소를 보고 Network와 host를 구분할 수 있다.
A : 1~126 <- 127은 loopback으로 쓸 수 없다.
B : 128~191
C : 192~255로 시작되는 주소로 나눈다.
D : Multicast
E : Lab 인데 D , E 주소를 호스트에게 할당할 수 없다.
*  255.255.255.255 -> 브로드캐스트
   192.168.1.255 -> 다이엑티브 브로드캐스트
   0.0.0.0 -> 네트워크 자체

각각의 옥텟(8진법)은 2^8(2의 8승) = 255개의 호스트를 가질 수 있다.
Class A : 10.0.0.0 - 255.0.0.0 -> 10.0.0.0/8(8bit만큼만 호스트가 있다)
Class B : 172.16.0.0 - 255.255.0.0 -> 172.16.0.0/16
Class C : 192.168.10.0 - 255.255.255.0 -> 192.168.10.0/24
-> ~/ 뒤의 숫자가 네트워크 숫자이고 32bit-~(숫자)가 호스트 숫자가 된다.

host : 일반적인 컴퓨터
node : 네트워크로 연결된 모든 장치(device , equipment)로써 프린터, 호스트, ...
workstation : 호스트 중에서 도메인에 가입되어 있는 호스트 <- 서버-클라이언트
computer : 독립적인 CPU, RAM, HDD를 가지고 있는 장치

호스트 수를 줄이고 네트워크 수를 늘리는 방법을 Subnetting이라고 하고,  
192.168.10.0/24가 아니고 192.168.10.0/26이라면 이는 서브네팅 된 것이다.
호스트 수를 늘리고 네트워크 수를 줄이는 방법을 Supernetting이라고 한다. <- Route summary이다.
192.168.10.0/24가 아니고 192.168.10.0/20이라면 이는 슈터네팅 된 것이다.

Private IP : 10.0.0.0/8  / 172.16.0.0/16  / 192.168.0.0/24  / 
Subnetting에 관한 규칙
1) 2^m - 2 = n (m과 n은 호스트나 네트워크 비트수이다)
   m + n = 8이어야 한다.
2) 256 - subnet = 배수로 늘려나간다.
3) Net_ID ~ Host_range ~ broad_ID로 구분해서 호스트범위에 있는 IP주소를 호스트에게 할당하면
   되는데 Net_ID와 Broad_ID를 할당해서는 안 된다.

1) 클래스 C 192.168.100.0을 할당받았는데  13개의 서브넷이 필요하다면 서브넷 마스크는 어떻게 되겠는가?
   -> 디폴트 서브넷마스크인 255.255.255.0이 되면 네트워크는 1개이다.
 



Linux는 UNIX와 유사하지만 40%정도는 명령어가 다르다.
UNIX는 원래 파일서버로 사용한다. 웹서버로 Apache, Ngin-X와 함께 사용된다.
          -> Free BSD, Oracle의 solaris, HP와 IBM 정도에서만 호스트에 운영체제가 설치된 채 판매된다.

Linux는 RedHat 계열의 RedHat, CentOS, Fedora가 있고
          Debian 계열의 Ubuntu, Debian, Kali, BackTrack 등이 있다.
          그 외에 여러 flavors로 Turbo, Han, Suse, ... 가 있다.
          사용도는 Ubuntu가 60%가 넘게 사용되고 있다.
          -> RedHat, CentOS는 실제 회사의 서버(file, dhcp, dns, mail, proxy, DB,...)로 사용
          Ubuntu는 BigData, Cloud, DFS(Distributed File System) , Embeded System,
IoT(Internet of Things)의 모듈을 포팅하는 Arduino, Rasberry Pie 에서 사용된다. 


Remote Access : Telnet, SSH
          Firewall
                      VPN
                      Back Tunneling..

Ubuntu, CentOS, BackTrack, Window 7 운영체제로 실습



console과 terminal 은 같은 의미로 사용되는데 CLI/CUI(Command Line Interface/Command User Interface)로 부르고,
Linux/UNIX 계열에서는 Graphic으로 실행되는 것을 GUI(Graphic User Interface)라고 하는데 X, X-Window라는 모듈(module)이 있어야
실행된다.




Daemon : 서버에서 제공하는 서비스를 늘 백그라운드에서 모니터링 하고 있다가 외부 클라이언트가
             서비스 요청시 정리해주는 모듈
Standalone daemon : 늘 자주사용되는 서버 서비스들, 메모리상주 용량이 큰 서비스 => Mail, Web,DataBase
super daemon : 작은용량, 수시로 사용되지 않는 서버 서비스


Server Service 를 실행시킬 때에는
1) 해당 서비스 모듈을 설치하고
2) 설정(config) 파일을 복사해 두고 설정파일을 목적에 맞게 수정한 뒤 
3) Firewall과 SELinux를 조절해두고
4) 서버 서비스를 실행시켜 둔 뒤
5) netstat -nltp | grep LISTEN 해서 해당 서비스가 실행되고 있는지 보고
6) 이제 클라이언트들이 접속해서 서비스를 받아가게 한다.

 
Windows 머신은 UAC(User Access Control)을 통해서 일반 사용자로 로그온 한 상태에서 상위 관리자인
         Administrator로 권한 에스컬레이션(privilege escalation)을 허용하지 않고 있다.

Windows 머신은 머신이 실행될 때 사용자의 패스워드 해시를 가지고 있는 SAM 파일을 열게하지 않는다.
-> BackTrack, CentOs, Ubuntu와 같은 운영체제로 타겟 Windows 7/2003/2008/2010..을 부팅시킨 뒤
    SAM 파일을 꺼내서 패스워드를 알아낼 수 있다.
Windows 머신은 아무리 긴 패스워드를 사용해도 가운데 14자만 인식해서 좌우로 7자리 병렬로 읽는다.
Windows 머신은 NLTM 해시를 사용하지만 legasy한 버전을 지원하기 위해서 보안이 취약한 LM 해시도 지원한다.

728x90

'Linux' 카테고리의 다른 글

Linux_16Day  (0) 2019.06.04
Linux_15Day  (0) 2019.06.03
Linux_13Day  (0) 2019.05.29
Linux_12Day  (0) 2019.05.28
Linux_11Day  (0) 2019.05.27