본문 바로가기
IT/Tips

리눅스마스터 1급 필기 - (3과목)

by Jany 2016. 9. 8.
반응형

■ CGI

 : 외부의 프로그램을 실행시켜 그 결과를 HTML로 돌려주는 방식. 어떤 언어로도 코딩될수 있으며, CGI 프로토콜이 단순해서 간단하게 사용할 수 있다. 서버 자원소비가 많으며, 외부프로그램간의 공유가 어렵다.

 

 

■ HTTP 요청 메소드

GET : 지정된 리소스를 가져오는 메소드

HEAD : 헤더만 가져옴

POST : 웹서버로 데이터를 보낸다.

 

 

■아파치 설치된 경로

​usr/local/apache/

■아파치 디렉토리의 역할

bin/ : 아파치 실행파일들

conf/ : 아파치 설정파일들 (ex.httpd.conf)

logs/ : 웹로그(access_log, error_log) 들이 존재.

 

■주 설정파일 httpd.conf

서버의 설정,에러,로그파일 등이 기록퇴는 서버루트 디렉토리의 기본경로를 설정. 절대경로로 지정.

# ServerRoot "/usr/local/apache"

 

■ 아파치웹서버의 웹문서가 있는 경로를 지정

 # DocumentRoot "/usr/local/apche/htdoscs"

​■ 웹문서들에 제어를 어떤방식으로 할 것인가?를 지정

 # <Directory> ~ </Directory>

​■옵션 항목

 Indexes : 웹서버 디렉토리 접근시, 지정한 파일이 존재하지 않을 경우에 디렉토리 내의 파일목록 리스트를 웹브라우즈로 보여준다.

 Includes : SSI사용을 허용하는 설정.

 FollowSymlinks : 심볼릭링크를 허용. 보안상 X

 ExecCGI : perl 등과 같은 CGI 실행을 허용.

■AddType : mime.types에 정의되어있지 않은 타입을 추가로 설정하고자 할 때 사용. php와 .phtml은 아파치 설정 후에 php코드를 인식하도록 하기 위해 직접 설정.

■conf/exta/httpd-default.conf

  -KeepAlive On : 아파치웹서버의 특정 한 프로세스가 특정 사용자의 지속적인 요청작업들을 계속해서 처리하도록 허용(on),거부(off) 

  -KeepAliveTimeout 5 : 5초만큼 요청없이 지속될 때에 그 연결을 끊기위해 timeout 시키겠다는 설정.

  -MaxKeepAliveRequests 100 : 하나의 지속적인 접속동안 허요할 최대 요청 횟수. 

  -HostnameLookup Off : 웹로그파일(access_log)에 방문자에 대한 주소를 IP주소로 기록할 것인가(off) 도메인명으로 기록할 것인가(on) 

 

■conf/extra/httpd-mpm.conf

 -StartServers : 시작시에 초기화되는 서버프로세스의 개수.

 -MaxClients : 동시 연결 가능한 클라이언트의 최대 개수.

■conf/extra/httpd-userdir.conf

 사용자홈디렉토리에 관한 설정파일.

# UserDir public_html

 =필요한 개별 가입자의 홈페이지 디렉토리

■conf/extra/httpd-vhosts.conf

 아파치 가상호스트에 대한 설정파일.

 -ServerAdmin : 해당가상호스트의 관리자 Email주소

 -DocumentRoot : 해당가상호스트의 홈디렉토리 위치

 -ServerName : 해당가상호스트의 도메인명

 -ServerAlias : servername별칭설정, 서브도메인 별칭

 -ErrorLog : 웹에러파일의 위치

 -CustomLog : 웹로그파일의 위치.

 

■아파치 기본 포트 : TCP/80 port

■HTTPS (SSL이용시) : TCP/443 port

 

 

■MongoDB(NoSQL)

 SQL 인터페이스를 제공하지 않는 경량 관계형 데이터베이스를 의미. 관계형 데이터모델이 아닌 키-값을 응용한 데이터 모델인 칼람,문서,그래프 모델이다.

 데이터의 정합성에 대한 요구 보다는 단절내성에 대한 요구사항이 더 중요하게 설계 됨.

 

 

■NIS 

 호스트는 여러개의 다른 NIS 도메인들의 여러개의 NIS 서버를 사용할 수 있다. SlaveNIS 서버는 단지 NIS 데이터베이스의 복사본을 가지고 있으며, NIS 서버는 ASCLL 데이터베이스와 DBM데이터 베이스를 동시에 가지고 있다.

 

■LDAP 속성

o : Organization ( 최상위조직 )

ou : Organizational Unit (조직의 부서)

cn : Common Name (가장일반적인 이름)

objectClass : 속성이 따르는 스키마

 

■ # ypdominname / hostname

NIS 도메인 이름 설정 / 호스트네임설정

■ # service ypserv start

NIS 서버 시작

■ # /usr/lib64/yp/ypinit -m

NIS Master 서버 초기화

■ # ypwhich 

인증받은 NIS 서버 조회 

■ # ypcat passwd / ypcat hosts

NIS 클라이언트 확인

■ # yppasswd 

사용자의 비밀번호 변경

 

 

■Samba 

SMB프로토콜을 유닉스 컴퓨터에 구현한 프리웨어.

윈도우 클라이언트에서 유닉스 서버에 있는 파일이나 프린터를 공유할 수 있게 해준다. TCP/IP 기반하의 NetBIOS 프로토콜을 이용한다.

 

■Samba 서버설치

: 다운로드한 압축을 해제하고

 # configure #make&&makeinstall 실행

​■Samba 환경설정파일 : /etc/samba/smb.conf

​■ #server string = ~~~

 윈도우 네트워크 환경에서 삼바서버가 검색되었을 때 보여주는 삼바 서버에 대한 설명

​■ path = /home/~~

공유디렉토리의 위치를 지정하는 옵션

​■writable = yes

공유 디렉토리에 쓰기권한을 부여하는 옵션

 

■ 삼바서버설정테스트도구 : testparm

​■SWAT : 웹을 이용하여 삼바 설정파일 설정, 삼바 데몬 관리, 삼바 활동 상황감시, 삼바 서버 원격 관리를 할수 있는 도구. 901번 포트를 독립적으로 사용.

​■삼바서버 보안모델

사용자 레벨설정

공유 레벨설정

서버 레벨설정

도메인 레벨설정

 

​■NFS : 분산파일 공유 시스템 소프트웨어

■NFS 설정 파일 : /etc/exports

■NFS 설정 옵션

 root_squash : 클라이언트에서 루트를 서버상에 nobody 사용자로 매핑

 ro : 공유된 자원을 읽기전용으로 마운트

 insecure : 인증되지 않은 액세스도 가능하도록 함.

■NFS 마운트 옵션 

-raize : 서버로부터 읽어들이는 바이트수를 지정하는 것으로 기본은 1024바이트

-wsize : 서버에 기록할 때 사용하는 바이트 수를 지정하는 것으로 기본은 1024바이트

■NFS 유틸리티

 showmount : NFS 서버에 대해 질의하여 사용중인 상태를 표시. 옵션 없이 사용할 시 접속하 사용자 목록

 nfsstat : NFS 서버와 클라이언트의 동작상태를 보여주는 유틸리티

 nhfsstone : NFS를 벤치마킹하기 위한 프로그램 .

 

 

 

■proftpd 서버 환경설정파일 : 

   /usr/local/proftpd/etc/proftpd.conf

-ServerType : proftpd서버를 실행시키는 방법

                                standalone / inetd

-DefaultRoot : FTP서버에 일반계정으로 접속한 사용자에게 최상위 디렉토리를 지정해주는 것.

-MaxInstances : standalone 모드일 때, 최대 접속가능한 사용자 수 지정. *inetd 모드일 경우엔 효과가 없다.

*DoS공격에 대한 보호목적이다.

-<Anonymous 디렉토리명> ~ </Anonymous> 익명 사용자로 접속하여 이용할 수 있는 디렉토리에 대한 옵션을 설정.

-RequreVaildShell : /etc/shells 파일에 정의되지 않은 Shell을 사용하는 유저에게 FTP접속을 허락하거나 거부하는 것에 대한 지정. (off)로하면 접속 가능.

-MaxClients 10 "message" anonymous user로 접속 할 때 클라이언트들이 최대로 접속할 수 있는 수.

-DisplayLogin welcom.msg : FTP 서버에 접속하여 cd명령을이용해 처음으로 다른 디렉토리에 접근할 때 .message file이 있으면 그 내용을 보여준다.

 

 

■SMTP

간단한 메일전송규약. 전자메일 전송을 위해 만든 프로토콜. TCP/25 포트사용. 

 

​■메일 서비스를 위한 3가지 컴퍼넌트

MTA : 메일을 전달해줌. ex. Sendmail, Qmail, Postfix

MDA

MUA

 

■Sendmail

 

■/etc/mail/access 설정 

Relay를 제어하고 스팸메일을 방지. access파일을 수정하였다면 꼭 makemap 명령어로 db파일을 만들어 주어야 한다.

 옵션  RELAY : Relay를 허용

                REJECT : relay를 허용하지 않음

                501 : 지정된 메일주소와 일치하는 모든메일 수신차단.

                550 : 특정한 도메인에 대해 지정된 메시지로 거부.

 

■/etc/aliases 설정

 메일유저 별명 설정 및 소규모메일링 리스트 운영.

aliases 파일을 수정하였다면 newaliases명령어 또는 이와 동일한 sendmail -bi 명령어로 db 생성

 

■sendmail.cf 파일의 규칙

 sendmail.cf 파일은 라인단위로 해석된다.

 모든 라인은 config 명령이거나, 주석(#) 문자로 시작.

 만약 공백 또는 <TAB> 으로 시작한다면, 윗줄의 연속으로 본다. 

 하나의 라인에는 반드시 하나의 명령이 존재 한다.

 config 명령은 매개 변수로 실행된다.

​■sendmail.cf 파일의 설정

 -DM~~~.~~ : 메일 발신자를 변경.

 

■MLM (메일링 리스트 매니저)

메일링 리스트 가입, 탈퇴등을 쉽게 관리해줌.

 하나의 메일로 자신이 속한 그룹의 모든 사용자들에게 메일을 보내줌. 메일의 머리말, 꼬리말, 스팸메일로부터의 보호, 웹과 ftp의 연동 기능

 

 

​■DNS 

 컴퓨터가 식별하기 쉬운 숫자로 구성된 주소 치계와 사람이 식별하기 쉬운 문자로 구성된 주소를 변환

 과거의 ARPAnet , HOSTS.TXT 파일과 같은 역할.

■DNS 서버의 종류

1.주DNS서버

2.부DNS서버

3.캐싱서버 

■BIND 파일

/etc/named.conf : 네임서버 데이트베이스 및 zone 파일의 위치, 접근제어 등의 보안설정을 할 수 있는 메인 설정 파일.

/etc/named : 네임서버의 zone 파일이 존재하는 디렉토리.

■레코드

SOA : 네임서비스의 모든 권한.

NS : 도메인의 네임서버를 지정.

A : 해당도메인의  실제 IP주소를 설정.

MX : 메일서버 지정. (도메인일 경우 꼭 .으로 끝냄)

CNAME : IP가 아닌 특정 도메인으로 설정.

PTR : IP주소에 대해 도메인 명을 매핑.

                리벌스존 파일에서 사용.

TXT : 임의의 문자열을 추가.

■DNS 업데이트

루트 네임서버 정보 파일 : /var/named/named.ca

 

■KVM 

 가상화 하이퍼 바이저로 많이 사용. cpu에서 가상화를 지원해야 하며 kernel 2.6.2부터 커널 메인라인에 들어간 커널 모듈 형태이다. 호스트 서버에서 보면 게스트 서버는 하나의 프로세스로 간주되기 때문에 오버헤더가 거의 없어 전가상화 반가상화의 장점만 모아놓은 하이퍼바이저이다. 특정 장치에 대해 반가상화를 제공한다.

 

 

■XEN

 오픈소스 type-1 하이퍼 바이저. 가상머신 내에서 실행하는 주장치 드라이버를 허용하는 기능이 있다. ( 드라이버 격리 기능)

 

■xinetd 

tcp_wrapper에 의해 접근제어.

서비스 공격에 대한 효과적인 억제.

​■기본설정파일 : /etc/xinetd.conf

■default 옵션

instances = 50 동시에 실행 가능한 서버데몬 수

■xinetd 속성

 access_times : 서비스를 활성화 할 시간 설정 

 log_on_succes : 서버데몬 실행 성공시 남길 로그

                HOST:클라이언트 호스트 주소

                USERID:식별 프로토콜을 정의하는 아이덴티티

                DURATION : 세션지속시간

nice : 서버데몬의 우선순위를 설정.

server : 실행(fork)할 서버데몬 프로그램(경로 포함)

socket_type : stream,dgram,raw,seqpacket 타입 설정

wait : 스레드에 대한 서비스 동장 정의

                yes : 단하나만 서비스 / no : 각각의 새로운 

user : 서버데몬을 실행시킬 사용자를 지정

 

 

​■Proxy 

캐시저장->전송시간 및 트래픽 절약

​■Squid : 리눅스의 대표적인 프록시 서버

 -cache_mem 2048 MB : 캐시메모리 설정

 

 

■DHCP

 동적으로 호스트 IP를 관리하는 단순한 응용계층의 프로토콜로 TCP/IP 통신을 하기 위해 필요한 설정저보를 자동적으로할당, 관리하기 위한 통신 규약.

■DHCP의 작동구조

1. IP Lease Request (host->DHCP)

2. IP Lease Offer (DHCP->host)

3. IP Lease selection (host -> dhcp)

4. IP Lease Acknowledgment (dhcp -> host)

■ 주설정파일 : /etc/dhcpd.conf

 

 

■VNC 원격 제어 시스템

 가상화 환경에서 게스트 OS의 화면을 VNC를 이용하여제어하는 용도로도 사용. RDP처럼 연결상태에 의존적이지 않고, 비트맵 기반의 프로토콜. VNC는 여러명이 같은 홤ㄴ을 볼 수도 있다.

■구성

VNC 서버, VNC 클라이언트, VNC 프로토콜

 

 

 

■NTP서버

 패킷교환, 가변지연 데이터 네트워크를 통해 컴퓨터 시스템간의 시간 동기화를 위한 네트워크 프로토콜. UTC를 제공한다. TIMEZONE 또는 썸머타임리즘 사용하여 변수 지연효과를 저항하기 위하여 디자인 되었다.

NTP는 클럭소스 수준의 계층적, 반계층화 된 시스템을 사용한다. 계급이라고 하며, 치상단이 0이다. 계급 수준은 레퍼런스 시계에서의 거리를 정의하고 계층구조의 순환 종속성을 방지하기 위해 존재한다. 계급2시간 소스보다 높은 품질의 계급 3시간 소스를 찾는 것이 일반적이다.

 계급 0 은 원자시계, GPS시계 또는 다른 무선 시계같은 장치이다.

 

■SNTP : 높은 시가정확도를 필요로 하지 않는 임베디드 장치와 응용프로그램에서 사용.

반응형

댓글