리눅스마스터 1급 1차(필기) 기출문제 해설/보충설명 1801회 20180310 (3)


과목3 (61~100)

바로가기 >> 리눅스마스터 기출문제 목록

virsh
가상 머신을 관리해 주는 도구로서 생성, 상태정보 출력, 일시정지, 종료 등의 기능을 제공한다.
명령행 기반으로 가상머신을 관리할 때 사용하는 명령

xm
XEN 기반의 게스트 도메인을 관리하는 명령으로 도메인을 생성, 일시정지, 중지 등을 할때 사용한다.

virt-top
호스트 운영체제에서 top, sar 등과 같은 명령을 이용하면 전체적인 CPU 사용량을 알 수 있지만 가상 머신만을 대상으로 CPU 자원을 모니터링 한다면 virt-top 명령을 이용하면 된다.

HTTP 상태코드
200 OK 클라이언트 요청에 성공적으로 접속
400 Bad Request
403 Forbidden
404 Not Found
500 server error

LDAP(Lightweight Directory Access Protocol, 경량 디렉터리 접근 규약)는 X.500 Directory Access Protocol(DPA) 기반으로 만들어진 디렉터리 데이터베이스에 접속하기 위한 통신 규약이다. DPA 는 OSI 프로토콜 스택에서 작동되고, 컴퓨터 자원을 많이 사용하는 단점이 있어서 이러한 문제점을 보완하기 위해 등장하였다. LDAP 는 IP 프로토콜을 기반으로 사용자, 시스템, 네트워크, 서비스 정보 등의 디렉터리 정보를 공유할 수 있다. 디렉터리는 논리, 계급 등을 기준으로 조직화되어 있고 비슷한 특성을 가진 객체들의 모임이다. 가장 일반적인 예로 전화번호부(Telephone Directory)가 있는데 가나다순으로 일련의 이름을 가지고 있고, 이름마다 전호번호와 주소가 포함되어 있다.

[속성 관련 키워드]
c – 국가 이름
st – 주(한국의 도) 이름
l – 보통 도시를 나타내지만, 특정 지역 단위에서도 사용가능
street – 도로명 주소(지번)
o 조직(회사) 이름
ou 조직의 부서 이름
cn 일반적으로 이름과 성의 조합
sn 성을 나타냄
giveName – 이름을 나타냄
dc – 도메인 네임의 요소
mail – email 주소
telephoneNumber – 전화번호

NIS 도메인명 설정하기
NIS 에서 사용할 도메인명을 설정해야 한다. nisdomainname 이라는 명령을 사용하여 지정해도 되지만, 계속적으로 사용한다면 부팅 시에 적용되도록 /etc/sysconfig/network 파일에 등록한다.

삼바(SAMBA) 의 개요
마이크로스프트와 인텔은 윈도(Windows) 시스템이 다른 시스템의 디스크나 프린터 등의 자원을 공유할 수 있도록 Server Message Block(SMB) 이라는 프로토콜을 개발하였는데, 삼바란 이 SMB 를 이용하여 리눅스를 비롯한 유닉스 계열 운영체제와 윈도우 운영체제간의 자료 공유 및 하드웨어를 공유할 수 있도록 해준다. 현재 SMB 프로토콜은 유닉스와 윈도 환경을 동시에 지원하는 CIFS(Common Internet File System) 로 확장되었다.

삼바 서버는 2개의 데몬을 사용한다. 각 데몬 명은 smbd, nmbd 이다.

 

PHP 5.3 버전 부터는 php 파일 작성 시에 < php ~ > 의 형식으로 작업해야 한다.

smbclient
리눅스 및 유닉스에서 사용하는 삼바 클라이언트 명령으로 윈도 서버로 접근할 때 사용된다. 사용법이 ftp 클라이언트 명령과 유사하게 접속한 후에 특정 명령어를 입력하여 작업을 수행한다. 접속된 후에 나 help 라고 입력하면 사용 가능한 명령어의 목록을 볼 수 있다.

주요 옵션
-L : 접속하려는 삼바 서버의 공유 디렉터리 정보를 출력한다.
-U : 삼바 서버에 접속할 때 사용자명을 입력한다.
-M : 지정한 호스트명에 메시지를 전송할 때 사용한다. 명령을 입력하고 전송하려면 [ctrl]+[d]를 누른다.

메일 관련 프로그램의 분류
1) MTA(Mail Transfer Agent)
이메일을 SMTP 프로토콜을 이용해 다른 메일 서버로 전달하는 프로그램을 말하는데 보통 메일 서버 프로그램을 지칭한다. 대표적인 프로그램에는 sendmail, gmail, postfix, Ms Exchange Server 등이 있다.

2) MUA(Mail User Agent)
사용자가 메일을 읽고 보낼때 사용하는 프로그램을 의미한다. 대표적인 프로그램으로 kmail, evolution, mutt, MS의 Outlook 등이 해당된다.

3) MDA(Mail Delivery Agent)
MDA는 일종의 대리인 역할을 수행하는 프로그램으로 메일박스에 도착한 메일을 대행해서 가져오거나 전달하는 역할을 수행한다. 대표적인 프로그램으로는 procmail이 있는데, 스팸메일 필터링이나 메일 정렬 등의 역할을 수행한다.

/etc/aliases
특정 계정으로 들어오는 메일을 다른 계정으로 전송되도록 설정하는 파일이다. 보통 동일한 계정으로 들어오는 메일을 여러 사용자에게 전달하는 메일링 리스트가 필요한 경우에 유용하다. 센드메일이 참고하는 파일은 /etc/aliases.db 이므로 변경시 newaliases 나 sendmail -bi 명령을 사용해야 한다.

/etc/named.conf 파일
1) 파일의 구성은 크게 주석문과 구문으로 구성되어 있다.
2) 주석은 C 에서 사용하는 /* */, C++ 에서 사용하는 //, 유닉스 계열에서 사용하는 # 등 모두 사용 가능하다.
3) 구문에는 options, logging, controls, zone, acl, view, key, masters, server 등이 존재한다.
4) 각 구문은 중괄호 {} 로 둘러싸고 끝날 때는 세미콜론 ; 을 사용한다.
5) include 지시자를 선언하여 별도의 파일에 추가 정의할 수 있다.

SOA record
존 파일을 시작하는 레코드로 시작은 도메인명 또는 도메인명을 나타내는 기호인 ‘@’ 를 사용한다. 항목에 대한 설명이 필요한 경우 주석기호인 세미콜론(;)을 사용하면 된다.

nameserver : 네임 서버의 호스트명과 도메인명을 적는다. 전체 도메인으로 기입할 경우에는 마지막에 루트 도메인을 뜻하는 ‘.’ 을 찍어야 한다. 예) ns.linux.or.kr

contact-email-address : 관리자의 이메일 주소를 적는다. ‘계정.도메인’ 형태로 기입해야 하고, 마지마겡 루트 도메인을 뜻하는 ‘.’ 을 찍어야 한다. 예) posein.linux.or.kr.

serial_number : 일종의 일련번호로 zone 파일이 갱신되면 숫자가 더 크도록 설정한다. 보통 ‘YYYYMMDDNN’형식을 사용하는데, YYYYMMDD 는 해당 연월일을 적고 NN 은 수정한 회수를 기입한다. 예) 2014051301

refresh_number : 보조 네임 서버가 자신의 정보를 업데이트하기 위해 주 네임 서버에 얼마나 자주 체크할 것인지를 설정한다. 예)86400, 1D, 1d

retry_number : 보조 네임 서버가 주 네임 서버 접근에 실패했을 경우에 재시도할 주기를 설정한다. 예) 3600, 1H 등

expire_number : 보조 네임 서버가 주 네임 서버 접근에 실패하여 retry_number 에 설정한 주기로 재시도를 할 때의 만기 시간을 지정한다. 예) 1W

minimum_number : 일종의 SOA 영역의 TTL로서 가져간 정보의 최소 보관 시간을 설정한다. 예) 3H

A : IPv4의 주소를 기입할 때 사용한다.
AAAA : IPv6의 주소를 기입할 때 사용한다.
NS : 도메인의 네임 서버를 지정할 때 사용한다.
MX : 메일 서버를 지정할 때 사용한다. MX 다음에 0 또는 양의 정수값을 기입해서 우선순위를 지정해야 한다.
CNAME : Canonical Name 레코드의 일종으로 별칭(alias)을 지정할 때 사용한다.
PTR : 리버스 존에서만 사용하는 레코드로 IP주소를 도메인으로 변환하기 위해 지정한다.

서버 가상화의 분류
(1) 하드웨어 레벨 가상화
전가상화
전가상화는 가상화 소프트웨어가 수정하지 않은 게스트 운영체제를 100% 완전 가상화 환경 위에서 제공하는 기술로 범용적인 x86 가상화 하드웨어를 VMM 위에 구성한다. 게스트 운영체제 측면에서 별도의 수정 및 간섭 없이 완벽하게 물리적인 하드웨어 자운의 접근 및 이용이 가능하다.

반가상화
반가상화의 기본적인 구성 방법은 전가상화 방법과 동일하나 게스트 운영체제 측면에서 VMM 과 원할한 통신을 위해 게스트 운영체제의 커널 일부분을 수정하여 적용한다.
반가상화는 전가상화에 비해 기존 시스템에 가까운 성능을 나타내기 위해 지원하지만, 게스트 운영체제의 커널 일부분을 수정해야 한다는 단점이 있다.

호스트 기반 가상화
VMM 이 호스트 운영체제 위헤 설치되어 가상머신을 생성하는 구조로 게스트 운영체제는 호스트 운영체제가 인식한 하드웨어를 가상 하드웨어로 재구성하여 사용하는 방법이다.

(2) 운영체제 레벨 가상화
하나의 CPU에 하나의 운영체제만 수행되고, 가상화 계층이 호스트 운영체제 윗부분에 존재하여 가상화 환경을 제공하는 방법을 말한다.

(3) 하이 레벨 언어 가상화
특정 컴퓨터 프로그램 언어를 이용하여 가상 머신 환경을 구성하는 기술로 대표적인 객체 지향 언어인 Java, .NET, Smaltalk 등의 프로그램 언어를 이용하여 하드웨어에 독립적이고 이식성이 뛰어난 가상머신을 생성한다. 특정 애플리케이션에 대한 호스트 운영체제 및 하드웨어와 독립적인 환경을 구성하기 위한 목적으로 사용되고 있다.

 

KVM
KVM은 Qumranet 에서 개발한 하이퍼바이저로 x86시스템 기반으로 CPU 전가상화 방식을 사용한다.

버추얼박스(VirtulBox)
버추얼박스는 x86 및 AMD-64,Intel-64 기반의 가상화 지원 프로그램으로 InnoTek 사에서 개발하였다. 인텔의 하드웨어 가상화인 VT-x 와 AMD 의 AMD-V 를 기반으로 전가상화를 지원한다.

Docker
경량화된 가상화 기술의 일종으로 하이퍼바이저나 게스트 운영체제 없이 서버 운영에 필요한 프로그램과 라이브러리만 격리해서 설치 및 사용 가능하다.

SSL(Secure Socket Layer)
SSL 프로토콜은 처음에 Netscape사에서 웹서버와 브라우저 사이의 보안을 위해 만들었다.
WWW(World Wide Web) 브라우저와 WWW 서버 간에 데이터를 안전하게 주고받기 위한 업계표준 프로토콜로서, 웹 제품뿐만 아니라 파일 전송규약(FTP) 등 다른 TCP/IP 응용 프로그램에 적용할 수 있으며, 인증 암호화 기능이 있다.

프록시(Proxy)
프록시 서버란 보통 네트워크 속도가 느린 환경에서 보다 빠른 인터넷을 이용하기 위해 사용한다.
프록시 서버는 자주 방문하는 사이트의 정보를 저장하는 일종의 캐시(Cache) 서버로서 사용자들이 동일한 사이트를 접속할 경우에 서버에 저장된 데이터 정보를 전달함으로서 처리 속도를 높일 수 있다.

리눅스에서 프록시 서버 프로그램으로 squid 를 주로 사용한다.

xinetd
xinetd(Extend Inetd)는 리눅스 커널 2.4 버전부터 슈퍼 데몬인 inetd 를 대체하기 위해 등장하였다. inetd 는 접근 제어를 위해 TCP Wrapper 를 이용했지만, xinetd 는 환경 설정 파일을 이용해서 자체적으로 접근 제어가 가능하다. 또한 IP 주소 당 접속 수 제한, 시간대별 서비스 제한, Dos 공격에 대비한 설정 등을 추가로 제공한다.

 

사용자 맵핑 파일
/etc/samba/smbusers 파일은 유닉스 계열 사용자 이름과 삼바 사용자간의 이름을 매칭시키는 설정 파일이다. root 는 administrator 및 admin 으로 매칭되고, nobody 는 guest, pcguest, smbguest 로 매칭된다.

TCP Wrapper 의 개요
TCP Wrapper 는 tcpd 라는 데몬이 슈퍼데몬인 inetd 에 의하여 수행되는 서비스들의 접근을 제어하도록 하는 프로그램이다. 주로 TCP 연결을 기반으로 하고 inetd 에 의해 관리되는 telnet, ftp, rlogin, rsh 등을 감시하고 필터링할 수 있다. TCP Wrapper 는 접근이 허가된 호스트의 목록파일인 /etc/hosts.allow 파일과 접근이 금지된 호스트의 목록 파일인 /etc/hosts.deny 파일을 이용한다. 이 두 파일의 검색 순서는 /etc/hosts.allow 를 먼저 읽어 들여서 등록된 호스트를 허가하고, /etc/hosts.deny 에 설정된 호스트를 금지시킨다. 즉, /etc/hosts.allow 파일에 등록되면 /etc/hosts.deny 파일에 상관없이 허가된다.

ro : 읽기 전용으로 지정하는 옵션으로 기본값이다.
rw : 읽기 및 쓰기가 가능하도록 지정하는 옵션이다.
root_squash : NFS 클라이언트에서 접근하는 root 사용자를 무시하고 서버상의 nobody(또는 nfsnobody)로 매핑시키는 옵션으로 기본값이다. 일반 사용자의 권한은 그대로 인정된다.
no_root_squash : NFS 클라이언트에서 접근하는 root 사용자를 무시하지 않고, root 로 인정한다.
no_subtree_check : 하위 디렉터리를 접근하지 못하도록 할 때 설정한다.
all_squash : root 를 포함하여 모든 사용자의 권한을 nobody(또는 nfsnobody)로 매핑시킨다.
secure : 포트 번호가 1024 이하의 요청에만 허가할 때 사용한다. 기본값으로 설정되어 있고, 반대의 설정의 insecure 이다.
async : 쓰기가 설정된 디스크 스토리지에 사용하면 유용한 옵션으로 데이터 변경(data corruption)에 대비해 비동기적 처리를 할 때 사용한다.
anonuid : 접근하는 사용자 권한을 지정하는 uid 로 매핑시킬 때 사용한다.
anongid : 접근하는 그룹 권한을 지정하는 gid 로 매핑시킬 때 사용한다.

/etc/mail/sendmail.mc
sendmail 의 매크로 설정 파일로 sendmail.cf 파일이 삭제되었거나 복원할 경우에 m4 라는 매크로 프로세서를 이용하여 새롭게 생성할 수 있다.

사용 예
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

/etc/mail/virtusertable
하나의 메일 서버에 여러 도메인을 사용하는 환경에서 메일 계정을 요구할 때 각각의 도메인으로 도착하는 메일을 포워딩할 때 사용하는 파일이다. 예를 들면 windows.com 과 linux.com 이라는 도메인을 사용중이고 각 회사에서 ceo 라는 동일한 이메일 계정을 요구하는 경우가 있는데, 이 경우에 설정하는 파일이다.

RELAY : 특정 호스트나 도메인의 접근을 허가한다.
REJECT : 메일을 거절하고, 거부메시지를 보낸다.
DISCARD : 메일을 거부 메시지 없이 무조건 거절한다.
OK : DNS 조회가 되지 않은 경우라도 들어오는 메일을 허가한다. 보통 거부된 도메인에 대한 예외 처리 시에 사용한다.

공유(Sharing)
가장 대표적인 가상화의 기능으로 다수의 많은 가상 자원들이 하나의 동일한 물리적 자원과 여결되어 있거나 가리키는 것을 말한다. 물리적 자원의 일부분을 가상화된 자원마다 할당하거나 혹은 물리적 자원에 대하여 타임 셰어링 기법으로 공유하는 방식이 주로 사용된다. 이러한 형태의 가상화는 가상화 자원을 사용하는 여러 사용자들이 물리적 자원을 공유하게 해주며, 이 때 각 사용자는 마치 자기가 해당 자원을 혼자서만 사용하는 것과 같은 착각을 하게 된다.

단일화(Aggregation)
공유의 반대되는 가상화 개념으로서, 가상 자원은 여러개의 물리적 자원들이 걸쳐서 만들어질 수 있으며 이를 통해 외견상 전체 용량을 증가시키고, 전체적인 관점에서 활용과 관리를 단순화할 수 있다.

프록시 서버의 접근 제어
squid.conf 파일에서 acl항목을 이용해서 접근 제어를 할 수 있다. acl을 이용하여 특정 IP주소, 네트워크 대역, 도메인 등을 alias 형태로 지정하고, http_access allow 나 http_access deny 를 이용하여 접근을 제어한다.

named-checkconf
DNS 서버의 환경 설정 파일인 /etc/named.conf 파일의 문법적 오류를 찾아주는 명령이다.
사용법
# named-checkconf [파일명]

 

named-checkzone
zone 파일의 문법적 오류를 찾아주는 명령이다.
사용법
# named-checkzone 도메인명 zone_파일 경로
사용예
# named-checkzone linux.or.kr /var/named/linux.zone

/etc/xinetd.conf 의 주요 항목 설명
1) log_type
어떠한 형태로 로그를 저장할 것인지를 지정하는데, SYSLOG 와 FILE 두 가지 설정이 가능하다.
SYSLOG 는 syslog 에 로그를 위임하는 것이고, FILE 은 직접 별도의 파일로 지정하는 것이다.

[사용 예]
log_type = SYSLOG daemon info
관련 로그를 syslog 에 위임하고 facility 은 deamon, 레벨은 info 로 지정한다.

log_type = FILE /var/log/xinetd.log
관련 로그를 /var/log/xined.log 에 기록한다.

2) log_on_failure
접속에 실패했을 때 기록될 속성값을 지정하는 항목이다.

[사용법]
log_on_failure = 속성값

[속성값]
HOST : 원격 호스트의 IP 주소
USERID : 원격 사용자 아이디
ATTEMPT : 실패한 시도를 나타냄

3) log_on_success
접속에 성공했을 때 기록될 속성값을 지정하는 항목이다.

[사용법]
log_on_success = 속성값

[속성값]
PID : 실행된 서버의 PID
HOST : 원격 호스트의 IP 주소
USERID : 원격 사용자 아이디
EXIT : 관련 서비스가 종료될 때의 상태
DURATION : 서비스의 세션 지속 상태
TRAFFIC : 리다이렉트 서비스를 위한 전체 바이트수

4) cps
초당 요청받은 수에 대한 제한을 설정하는 항목이다.

[사용 예]
cps = 50 10
초당 요청 수가 50개 이상일 경우 10초 동안 접속 연결을 중단한다.

5) instances
동시에 서비스할 수 있느 서버의 최대 개수를 지정하는 항목으로 접속 제한을 두지 않으려면 UNLIMITED 로 설정한다.

[사용 예]
instances = 50
xinetd 에서 생성하는 관련 데몬의 최대 개수를 50 으로 지정한다.

6) per_source
특정 IP 주소에서 접속할 수 있는 최대 개수를 지정한다.

[사용 예]
per_source = 5
같은 IP 주소로 접속할 수 있는 서비스의 수를 5 로 제한한다.

7) only_from
서비스를 이용할 수 있는 원격 호스트를 설정한다. 서버에 접속을 허가할 호스트의 IP 주소, 네트워크 대역 주소 등의 사용이 가능하다.

[사용법]
only_from = IP_주소 [네트워크_대역_주소]

[사용 예]
only_from = 192.168.5.13 192.168.6.0 192.168.12.0/24
접속 가능한 호스트는 192.168.5.13, 192.168.6 네트워크 대역을 사용하는 호스트, 192.168.12 네트워크 대역을 사용하는 호스트로 지정한다.

8) no_access
서비스를 이용할 수 없는 원격 호스트의 주소를 지정한다. only_from 과 주소 지정법은 동일하고 중복 설정된 경우에는 차단된다.

[사용법]
no_access = IP_주소 [네트워크_대역_주소]

9) enabled
enabled 항목은 사용가능한 서비스의 목록을 지정하는 항목으로 나열된 서비스명만 사용할 수 있다. enabled 에 설정된 서비스는 각 서비스 설정파일에서 ‘desable = yes’ 라고 설정되어 있어도 서비스를 허가한다. 단, 아래의 disabled 속정과 중복 설정되어 있을 경우에는 차단된다.

[사용 예]
enabled = telnet rlogin

10) disabled
특정 서비스의 사용을 막을 때 사용하는 항목으로 enabled 항목과 같이 설정되면 enabled 항목이 무시되어 해당 서비스가 실행되지 않는다. enabled 및 disabled 속성은 xinetd.conf 에서마 사용 가능한 항목이다.

[사용 예]
disabled = telnet rsync

DHCP(Dynamic Host Configuration Protocel) 서버의 개요
DHCP 서버란 클라이언트에게 자동으로 IP 주소, Gateway 주소, Name Server 주소 등을 할당 해주는 서버를 말한다.

/etc/dhcpd.conf : DHCP 서버의 환경 설정 파일

/etc/dhcpd.conf 설정 예

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.1.254;
option domain-name “posein.org”;
option domain-name-servers ns1.posein.org;
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;
}

항목 설명
range : 클라이언트에게 할당할 IP 주소를 기입한다. 시작 주소와 마지막 주소를 기입한다.
range dynamic-bootp : DHCP 틀라이언트뿐만 아니라 BOOTP 클라이언트도 함께 할당할 경우에 사용한다.
option domain-name : 도메인명을 지정할 때 사용한다.
option domain-name-servers : 네임서버를 지정할 때 사용하는 항목으로 도메인 또는 IP 주소를 기입한다.
option routers : 게이트웨이 주소를 지정할 때 사용한다.
option broadcast-address : 브로드캐스트 주소를 지정할 때 사용한다.
default-lease-time : 임대를 요청하는 클라이언트가 특정한 만료 시간을 요청하지 않았을 경우에 할당되는 시간으로 단위는 초(second)이다.
max-lease-time : 임대를 요청한 클라이언트가 IP 주소를 가지고 있을 수 있는 최대 시간으로 단위는 초이다.

VNC(Virtual Network Computing)
VNC 는 RFB(Remote Frame Buffer) 프로토콜을 이용하여 원격의 다른 컴퓨터에서 그래픽 환경 기반으로 데스크톱을 공유할 수 있는 시스템이다. 키보드 및 마우스가 발생한 이벤트를 다른 컴퓨터로 전송시켜서 그래픽 화면을 갱신하는 방식으로 제공된다.

환경 설정 파일은 /etc/sysconfig/vncservers

NTP(Network Time Protocol)
Network Time Protocol 의 약자로, 인터넷을 통하여 서버의 시간을 동기화 하는 방법
NTP는 여러 계층(stratum) 으로 구성된다. 최상위 계층에 해당하는 Stratum 0 는 세슘 원자시계, GPS 시계등과 같은 장치이다. NTP 서버는 Stratum 1 부터 가장 낮은 Stratum 15 까지 15단계로 나누고 Stratum 16 은 비동기 장치를 나타낸다.

/etc/hosts : DNS 서버를 사용하기 이전에 많이 이용된 파일로 IP 주소와 호스트명을 매핑시켜 데이터베이스처럼 사용하는 파일. 자주 이용하는 IP 주소에 별칭을 설정하여 접속을 쉽게 할 수 있다.

존 설정파일 주요 타입
A : IPv4의 주소를 기입할 때 사용
AAAA : IPv6의 주소를 기입할 때 사용
NS : 도메인의 네임 서버를 지정할 때 사용
MX : 메일 서버를 지정할 때 사용한다.
CNAME : Canonical Name 레코드의 일종으로 alias를 지정할 때 사용
PTR : 리버스 존에서만 사용하는 레코드로 IP주소를 도메인으로 변환하기 위해 지정한다.

Apache HTTP Server 설치하기
1) 웹 데몬 정지 : 기존에 HTTP 서버를 운영 중이라면 해당 데몬을 중지시킨다.
# kill httpd

2) 이전 버전의 httpd 검색 및 삭제
# rpm -e httpd nodeps

3) 소스파일의 앞축을 푼다.

4) 압축이 풀린 후 생성된 디렉터리로 이동한다.

5) 환경설정을 한다.
# ./configure prefix=/usr/local/apache enable-mods-shared=all
prefix 는 아파치가 설치될 디렉터리를 지정하는 것이고, enable-mods-shared=all 는 관련 모듈을 전부 동적 모듈로 설치하도록 지정하는 것이다. 동적 모듈들은 httpd.conf 파일에서 LoadModule 지시어를 사용하여 동적으로 읽어 들여야 한다.

6) 컴파일을 한다.
# make

7) 컴파일한 것을 설치한다.
# make install

Share Definitions 의 주요 옵션
comment : 간단한 설명을 설정한다.
path : 공유 디렉터리의 경로를 설정한다.
read only : 공유 디렉터리를 읽기 전용으로 설정한다.
writable, write ok : 공유 디렉터리를 쓰기 가능하게 설정한다.
vaild users : 공유 디렉터리를 이용할 수 있는 사용자를 지정한다.
write list : 공유 디렉터리에 접근 및 쓰기 권한을 행사할 수 있는 사용자를 지정한다. 그룹인 경우에는 그룹명 앞에 @를 붙이면 된다.
qublic, guest ok : 다른 사용자들이 이용할 수 있도록 설정할 때 사용한다.
browseable, browsable : 공유 디렉터리의 리스트를 보여줄 때 설정한다.
printable : 공유 디렉터리에 스풀 파일을 지정할 때 설정한다.
create mask, create mode : 파일을 생성할 때 허가권을 지정할 때 설정한다.

md5sum
파일의 md5 해시값을 검증하는 명령어

사용법
md5sum [option] 파일명

주요 옵션
-b : 바이너리 모드로 읽음
-c : 파일에서 MD5 sum을 읽고 검사
-t : 텍스트 모드로 읽음(디폴트 값)

Tripwire
호스트 기반 침입 탐지 시스템으로서 네트워크 수준에서 침입을 탐지하는 것 보다는 파일 시스템 오브젝트들의 변화를 탐지한다.

서비스 거부(DoS) 공격
특정 서비스나 자원의 가용성을 떨어트리는 결과를 초래하는 유형의 공격에 대한 통칭
대량의 데이터를 전송하거나 무수히 많은 네트워크 연결을 요청하는 등의 방법 이용

트로이 목마(Trojan Horse)
정상적인 기능을 하는 프로그램으로 가장하여 프로그램 내에 숨어서 의도하지 않은 기능을 수행하는 악성코드

웜(Worm)
컴퓨터의 취약점을 찾아 네트워크를 통해 스스로 감염되는 악성코드
네트워크를 경유하여 자기 복제 능력을 통한 빠른 전파력을 가지고 있고 감염된 시스템을 거점으로 피해시스템이 기하급수적으로 증가

iptables 의 구조
iptables 는 커널 2.2 에서 사용되던 ipchains 의 사슬(Chain) 구조를 그대로 승계했지만, 4계층 구조의 테이블(Table) 을 만들어 사용하여 이름을 iptables 라 명명하였다. ipchains 와 거의 유사하게 사슬에 정책을 설정하여 사용하지만, 기능과 역할을 강화하기 위해 테이블로 확장하여 테이블별로 각각의 사슬을 지정하고 해당 사슬에 정책을 설정하도록 되어 있다. iptables 는 filter, nat, mangle, raw 와 같은 4개의 테이블이 있다.

filter 는 iptables 의 기본 테이블로 패킷 필터링을 담당한다. ipchains 이전 프로그램들은 filter 테이블만 가지고 사용했다고 보면 된다.

nat 테이블은 Network Address Translation 의 약자처럼 IP 의 주소를 변환시키는 역할을 수행한다. ipchains 의 FORWARD 사슬 역할을 확장한 것으로 한 개의 공인 IP 주소를 가지고 여러 대의 컴퓨터를 사용하거나, 하나의 공인 IP 주소를 가지고 여러 대의 서버를 운영하고자 할 때 주로 사용한다.

mangle 은 패킷 데이터를 변경하는 특수 규칙을 적용하는 테이블로 성능 향상을 위한 TOS(Type of Service)를 설정하고,

raw 는 넷필터의 연결추적 하위 시스템과 독립적으로 동작해야 하는 규칙을 설정하는 테이블이다. 각 테이블은 자신만의 고유한 사슬 집합을 가지고 있지만, 사용자가 INPUT_ESTABLISHED 나 DMZ_NETWORK 와 같은 공통 태그와 관련된 규칙 집합을 만들기 위해 사용자 정의 사슬을 생성할 수 있다.

cryptolocker
2013년에 발생한 인질형 악성코드, 랜섬웨어의 일종
컴퓨터 내의 모든 파일(OS 파일 포함) 및 네트워크 드라이브의 파일을 RSA, AES 키로 암호를 걸어, 암호 해독 키를 대가로 돈(주로 비트코인)을 요구한다.

Trinoo, TFN, Stacheldraht 은 DDos 공격

Ping of Death
규정 크기 이상의 ICMP 패킷으로 시스템을 마비시키는 공격

Teardrop Attack
IP 패킷의 전송이 잘게 나누어졌다가 다시 재 조합하는 과정의 약점을 악용한 공격

Land Attack
공격자가 패킷의 출발지 주소나 포트를 임의로 변경하여 출발지와 목적지 주소를 동일하게 함으로써, 공격 대상 컴퓨터의 실행 속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 공격 방법

답글 남기기