meong_j
기록하는 습관.
meong_j
전체 방문자
오늘
어제
  • 분류 전체보기 (176)
    • 개인 공부 정리 (0)
    • 서버 운영 (37)
      • Linux (36)
    • Frontend (11)
      • Vue.js (10)
    • Backend (70)
      • Java (4)
      • Python (22)
      • Django (38)
      • Spring (6)
    • Database (5)
      • Oracle (4)
      • MySQL (1)
      • MariaDB (0)
    • Android (14)
      • Kotlin (6)
    • 배포 (9)
      • Docker (8)
      • AWS (1)
    • IT_study (29)
      • Coding test (17)
      • 알고리즘 (5)
      • 스터디 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • github

인기 글

반응형

태그

  • Proxy
  • SASS Variables
  • 안드로이드adaptor
  • 리눅스인증
  • 중첩라우트
  • router-link
  • 테크커리어
  • django
  • dockersecret
  • DHCP
  • dp #알고리즘
  • 배포인프라
  • docker
  • cpu사용률
  • 개발자도서
  • gabagecollecter
  • 코틀린자료형
  • 이차원배열정렬
  • 리눅스방화벽
  • Kotlin

최근 댓글

최근 글

250x250
hELLO · Designed By 정상우.
meong_j

기록하는 습관.

[리눅스 마스터 1급] 1차 필기 기출 내용 정리(3) - 3과목
서버 운영/Linux

[리눅스 마스터 1급] 1차 필기 기출 내용 정리(3) - 3과목

2021. 9. 7. 11:59
728x90
반응형
3과목 - 네트워크 및 서비스의 활용

 

1. 네트워크 서비스

 

[웹 관련 서비스]

 

* 웹서버

현재 많이 사용 웹 서버 - Apache, 마이크로스프트의 IIS, Nginx , 구글의 GWS 등

* JBoss :  자바를 기반으로 하는 오픈 소스 미들웨어

 

- HTTP 요청 메소드

GET : 서버에서 자료를 가져오는 요청, 조회

POST : 서버에 정보를 저장, 등록

PUT: 서버에 자료를 올릴때, 수정

DELETE :  서버에 자료를 삭제 할때

 

 

-HTTP 응답

403: Forbidden

404 :Not Found

 

 

- Apache 2.x

하나의 프로세스가 다수의 클라이언트 요청 처리 -> MPM

- 주요  MPM 모듈

prefork : 서비스 요청이 많게 되면 프로세스 수가 증가

worker: 초기에 시작하는 프로세스의 개수 지정, 페이지 요청 들어오면 스레드로 처리하는 방식, 스레드 수 초과할 경우 새로운 자식 프로세스 생성 

 

 

- /etc/httpd/conf/httpd.conf

: 아파치 웹 서버의 주 환경 설정 파일

* ServerName 도메인명:포트  -> 가장 먼저 설정해야 할 항목

* DocumentRoot "/../.."  -> 웹문서를 저장할 디렉토리

ex) ServerName 192.168.5.13:80

 

 

- httpd.conf  주요 항목

Listen 80 -> 아파치 웹서버의 포트 설정 (* PORT, http_port, http_listen 아님!)

LoadModule 모듈명 -> 모듈 활성화  (* AddType X, AddModule 아님)

 

 

- http 명령을 이용한 apache 웹 서버 실행

http -t : httpd.conf의 문법적 오류 검사 (test)

 

- 아파치 웹 서버의 다중처리모듈(MPM) 관련 정보를 확인하는 명령

: httpd  -l (info?)

 

- 아파치 웹 서버 데몬 실행

/etc/rc.d/init.d/httpd start

service httpd start

/etc/init.d/httpd start

 

- httpd-userdir.conf 설정

: 사용자들이 개인 홈페이지 이용할때 사용하는 파일

UserDir - 아파치 웹 서버의 환경 설정 파일에서 일반 사용자의 웹문서가 위치하는 디렉토리 변경 항목

(* HomeDir, PublicDir, HtmlDir 아님!!)

 

 

- htpasswd

: 아파치 사용자 인증 파일을 생성하고 관리해주는 명령어

ex) htwasswd  -c  /usr/local/httpd/conf/password/ihduser (웹페이지 인증 위해 아파치 사용자 만듦)

 

 

- graceful

: 기존 연결 해제 않고 아파치 웹 서버 재시작

 

-php 작성

<?php

?>

 

 

-MySQL 기본데이터 베이스 생성

 cd /usr/local/mysql/bin

 ./mysqld --initialize --user=root

 

-SQL 기반 관계형 데이터 베이스

: MariaDB, Oracle, PostgreSQL (* MongoDB X! )

 

 

- Nginx : 2004년에 등장한 웹 서버 프로그램으로 가벼움과 높은 성능 목표, 리버스프록시, 로드 밸런서, HTTP cache 기능 등 있음 (*Apache HTTP Server X , GWS X, IIS X)

 

 

 

[인증 관련 서비스]

 

- NIS (Network Information Service)

: 다수의 서버(Telnet서버) 를 운영하고 있고 각 각의 로그인이 필요한 경우 사용자는 모든 서버에 사용자 계정 및 암호를 가지고 있어야 함

: 하나의 서버를 이용해서 텔넷 서버로 접속하는 사용자의 아이디 및 패스워드 인증

: 하나의 서버에 등록된 사용자 계정, 암호, 그룹 정보 등을 공유하여 다른 시스템에 제공하는 서비스

: YP(Yellow Pages), Sun Microsystems, RPC

 

* NIS 서버 및 클라이언트 모두 각 각의 IP주소 및 도메인 /etc/hosts 등록

 

* NIS 서버 : ypserv, yppasswdd, ypxfrd (* ypbind 아님!!)

  NIS 클라이언트 : ypbind, yp-tools

 

* NIS 서버에서 맵 파일 들이 생성되는 디렉터리 : /var/yp (* /var/ypserv 아님)

 

* ypxfrd : NIS서버와 NIS클라이언트 간의 맵핑 속도 높여주는 데몬

 

* ypwhich : NIS  클라이언트에서 사용하는 명렬엉로 NIS서버명과 관련 맵파일 정보 출력 

 

- rpcbind

: CentOS 6버전에서 RPC 서비스를 사용하기 위해 동작시켜야 할 데몬명

 

 

* /etc/yp.conf 파일에 NIS 서버 및 도메인 명 지정

server 서버주소

ypserver 서버주소

domain 도메인주소

(* /etc/ypbind.conf 아님!)

 

 

- ypcat

: NIS 클라이언트에서 사용하는 명령어, NIS 서버의 데이터베이스라고 할 수 있는 맵 파일의 내용확인

ex) ypcat hosts.byname 

     : 호스트 관련 정보 출력, ypcat hosts 라고만 입력해도 된다 (hosts.byname : NIS서버에서 사용자관련 정보저장소)

    ypcat passwd.byname  (* uid.byname X, user.byname X, hosts.bynameX , password.username X)

     : NIS 서버의 사용자 관련 정보를 출력한다

     : NIS 서버의 사용자 계정 정보가 저장되는 맵 파일

 

- yppasswd

: NIS 서버에 등록된 사용자의 패스워드 변경

 

 

*NIS와 가장 거리가 먼 것은 ? Yellow Pages, X.500, RPC, Sun Microsystems

 

* NIS 를 이용해 인증 가는 한것? ssh, samba

 

 

- LDAP(Light Directory Access Protocol)

: X.500   Directory Access Protocol(DAP) 기반 (* NIS 아님!!!)

: 디렉터리 데이터베이스에 접근하기 위한 통신규약

: RDBMS에 비해 검색 속도 빠름
: 읽기 위주의 검색 서비스로 상당히 좋은 성능

: 자주 변경되는 정보인 경우에는  RDBMS 를 사용하는게 좋다!

cn Common Name 이름 + 성
sn SurName 성
givenName givenName 이름

- LDAP 는 이름,주소와 같이 하나 이상의 속성을 가진 객체로 구성되고 그 객체를 엔트리라고 부른다. 각각의 엔트리는 DIT라는 트리구조로 조직화되고 이 조직 내에서 고유한 식별자인 DN을 사용하고 RDN로 구성된다.

 

- Active Directory

 

- 389 Directory Server

: 레드햇 사에서 개발한 LDAP서버 프로그램

 

* 인증 관련 ? NIS ,LDAP, Active Directory  (* NFS 아님)

 

 

[파일 관련 서비스]

 

- 삼바(SAMBA)

: SMB를 이용하여 리눅스를 비롯한 유닉스 계열 운영체제와 윈도우 운영체제 간의 자료공유 및 하드웨어 공유

: 현재 SMB는 CIFS(Common Internet File System) 로 확장됨

ex) 리눅스 <-> 윈도우

 

- 삼바 관련 데몬

smbd : 파일과 프린터 공유, 사용자의 권한 부여 및 확인 등 사용자 인증 담당 

nmbd : WINS(Windows Internet Name Service)를 담당하는 데몬

 

 

- 삼바 환경 설정 파일 : smb.conf

[global]  섹션 주요 항목

host allow = 127.  192.168.12.  192.168.13  (삼바 서버에 접속 허용 할 호스트 지정)

valid users = iduser  kaituser (iduser 와 kaituser만 접근) * smbusers 아님!!

ex) hosts allow = 192.168.5. (특정 네트워크 대역 접근 허가)

환경설정 파일에서 [www] 이면 www이란 폴더명으로 접근

write list = @ihd (ihd그룹에 속하는 사용자들 파일 생성 및 삭제 가능

 

 

- 삼바 관련 명령어

1) smbclient 

: 삼바 클라이언트 명령으로 윈도우 서버로 접근할때 사용

: 윈도우 시스템에 공유된 디렉터리 명 확인

ex) \\\\192.168.12.22\\source

     //192.168.12.22/source  -> 슬래쉬 / 2개 나오면 smbclient 

    smbclient //203.247.40.248/sdata

 

2) smbstatus

: 삼바 서버에 사용하는 명령어로 클라이언트와 연결된 상태 출력

 

3) testparm

: 삼바 환경 설정 파일인 smb.conf의 설정 여부 확인

ex) Load smb config files from /etc/samba/smb.conf

 

4) nmblookup

: WINS 서버에 질의 할때 사용하는 명령, DNS서버에 질의 하는 nslookup명령과 유사

 

- 삼바 공유 설정

ex) path = /sdata (윈도우에서 접근할때의 폴더 이름은 sdata로 설정) * directory, public, root 아님!

 

 

 

 

- NFS (Network file System)

: TCP/IP 네트워크 상에서 다른 컴퓨터의 파일 시스템을 마운트하고 공유하여 상대방의 파일 시스템 일부를 마치 자기 자기 자신의 디렉터리처럼 사용

 

- NFS 환경 설정 파일 : /etc/exports

공유할_디렉터리   허가할_호스트(옵션)    [허가할_호스트(옵션)...]

옵션 : 

root_squash : root 사용자를 무시하고, 서버상의  nobody(또는 nfsnobody)로 매핑시키는 옵션, 일반 사용자의 권한은                      그대로 인정된다.

no_root_squash : root 사용자를 무시하지 않고, root 로 인정한다

all_squash : root 포함하여 모든 사용자의 권한을 nobody(또는 nfsnobody)로 매핑시킨다

 

* root_squash , no_root_squash , all_squash  비교

 

ex)

/nfsdata     192.168.5.13  (*192.168.5.13. 아님!)

/nfsdata1    192.168.5.0/255.255.255.0 (rw, root_squash)

/nfsdata2    192.168.12.0/24 (rw, no_root_squash - 192.168.12.0에 속한 호스트 들만 /nfsdata2 디렉터리에 접근 가능)

/nfsdata1    *.hannam.ac.kr (rw,all_squash)

 

 

- NFS 클라이언트 사용법

: mount 명령으로 NFS 서버의 파일 시스템을 이용, 부팅 후 마운트하려면 /etc/fstab 등록

ex) mount -t nfs 192.168.5.13:/nfsdata  /mnt 

     mount.nfs  192.168.5.13:/nfsdata  /mnt

  (192.168.5.13의 /nfsdata를 /mnt 디렉터리로 마운트) 

    * /192.168.5.13/data 아님!,  //192.168.5.13/data 아님!,  \\192.168.5.13/data 아님!

 

ex)

192.168.5.13:/nfsdata /ndata nfs

 

 

- NFS 관련 명령어

 

- showmount

: NFS서버의 마운트 관련 정보 출력

: NFS 클라이언트에서 NFS서버에 익스포트된(export) 정보를 확인할때도 사용

ex) showmount -e localhost

     Export list for localhost /data 192.168.5.13 

 

 

- rpcinfo

: NPC 관련 정보

ex) rpcinfo  -e  192.168.5.13 

- exportfs

: NFS 서버에 익스포트된 디렉터리정보

 

- nfsstat

: NFS 관련 상태 정보

 

-FTP (File Transfer Protocol)

: TCP/IP 프로토콜 기반으로 서버와 클라이언트 사이에 파일을 주고 받기 위한 프로토콜

 

* vsftpd

: 간결하고 안전하며 처리속도가 매우빠른 프로그램

anonymous_enable=YES  (익명 계정의 허가 유무 지정) *anonymous_disable=NO 아님!!

 

- /etc/vsftpd/ftpusers 파일

: vsftpd 설치 시 제공되는 파일로 vsftpd 서버에 접근이 불가능한 사용자 목록 파일 (* 호스트 아님!)

 

 

- chattr

: 파일 속성 변경 명령어

: +, -, = 사용 ( * 아님)

 

 

[메일 관련 서비스]

 

-메일 관련 프로토콜

SMTP (Simple Mail Transfer Protocol) : 메일 서버간의 송수신, 메일 클라이언트가 메일서버로 메일 보낼때 사용 ,25번

POP3 (Post Office Protocol Version 3) : 서버에 도착한 메일을 클라이언트에서 직접 내려 받아 읽도록 해주는 프로토콜                                                    , 110 포트 

IMAP (Internet Mail Access Protocol)  : 클라이언트 사용자가 메일 서버에 도착한 메일을 확인 할때 , 143번

 

- 메일 관련 프로그램

1) MTA (Mail Transfer Agent)

: SMTP 프로토롤을 이용해 다른 메일 서버로 전달하는 프로그램, 보통 메일서버 프로그램 지칭

: sendmail, qmail, postfix, MS Exchange Server 등

2) MUA (Mail User Agent)

: 사용자가 메일을 읽고 보낼때 사용

: evolution

3) MDA (Mail Delivery Agent)

: 일종의 대리인 역할, 메일박스에 도착한 메일을 대행해서 가져오거나 전달하는 역할

: procmail -> 일종의 대리인 역할, 스팸메일을 필터링이나 메일 정렬 등의 역할 수행

 

- 리눅스에서 많이 사용하는 메일 서버 프로그램 : sendmail, qmail, postfix

- POP3 및 imap 서버 : dovecot

 

* 메일 관련 프로그램 종류가 다른 것? qmail , postfix, dovecot, sendmail

 

* 메일 클라이언트가 메일 서버에 도착한 E-mail을 가져올때 사용되는 프로토콜 ? IMAP, POP3

 

- 메일 보낸 후에 외부로 메일이 전송되었는지 여부 확인하는 명령? mailq (* m4, mail -v X, sendmail -bi 아님!)

 

 

- 샌드메일 (sendmail)

/etc/mail/sendmail.cf

Cw : 메일을 수신할 호스트 이름, 도메인명

Fw : 여러 도메인 사용하는 경우 별도의 File에 지정하는 항목

Dj : 특정 도메인명으로 지정하여 강제적으로 적용할때

O : 특정 계정으로 메일 도착했을 경우 다른계정으로 전송되도록 설정

 

 

- 샌드메일 관련 주요파일

/etc/mail/sendmail.mc

: sendmail 의 매크로 설정 파일, m4라는 매크로 프로세서로 새롭게 생성가능

m4  /etc/mail/sendmail.mc  >  /etc/mail/sendmail.cf

 

 

/etc/mail/access

: 메일 서버로 접근하는 접근 제어하는 파일

ex) From:spammer@aol.com    REJECT

makemap hash /etc/mail/access  <  /etc/mail/access

 

* makemap hash 명령을 사용해야 할 파일조합?  /etc/mail/access, /etc/mail/virtusertable

 

/etc/aliases

: 특정 계정으로 들어오는 메일을 다른 계정으로 전송되도록 설정

: webmaster라는 계정으로 들어오는 메일을 회사의 고객지원실에 근무하는 다수의 사용자에게 메일을 전달하려고 할때 사용

ex) webmaster:  posein, yuleje...  

실행 명령어 : sendmail -bi

 

~/.forward

: 개인이 자신에게 들어오는 메일을 다른 메일 주소로 포워딩 전달 할때

 

 

 

 

 

[DNS]

 

: 호스트의 도메인 이름을 IP주소로 바꾸거나 그 반대의 변환

/etc/hosts : DNS 서버가 등장하는 계기가 된 파일

 

-DNS 서버 프로그램 : BIND

: 가장 널리 쓰이는 DNS 서버 프로그램 (* ypbind, dnsserver 아님!!)

 

* DNS 서버 종류 - Caching DNS

: 관리하는 도메인 없어도 리졸빙 만을 위해 구성하는 서버이다. 도메인에 대한 리졸빙 결과를 저장하고 서버에 기록된 정보에 대한 요청이 들어오는 경우에 직접 조회하지 않고 바로 응답해주는 역할 수행

 

 

- /etc/named.conf 파일

: DNS 서버의 기본 환경 설정 파일

include 지시자를 선언하여 별도의 파일에 추가 정의 할 수 있음

ex) include  "/etc/name.rfc  1912.zones";  (* directory 아님!)

 

 

* options  구문

directory "/var/named" ( 사용자가 선언하는 존 파일이 위치하는 디렉터리 명  */etc/named/zones 아님!)

forward (only|first);

-> only는 자신에게 돌아온 도메인 질의를 지정한 다른 서버로 넘기도록 하는 것

    first는 타 서버에서 응답이 없을 때 자신이 응답하도록 할 때

forwarders { 네임서버주소1; 네임서버주소2; ...}

-> 도메인에 대한 질의를 다른 서버로 넘길때, 복수 형태로 지정 가능 , 구분은 세미콜론(;) 한다

ex) options {

     forward first;

     forwarders {168.126.63.1;}'

}  (해당 서버로 들어온 질의를 168.126.63.1로 넘기고 응답이 없을 경우에 해당 서버에서 처리)

 

 allow-query {192.168.0/24; };

-> 네임 서버에 질의 할 수 있는 호스트 지정

ex ) options{

      allow-query {192.168.0/24; };

      }

 

 

* acl 구문

: 여러 호스트를 하나의 명칭으로 지정

ex) acl "member" { 210.96.52.100; 210.96.52.200; 210.96.52.300; };

ex) zone "." IN{

     type hint;

     file "named.ca";

}

 

 

* zone 구문

: 도메인을 관리

ex) zone "도메인명" IN {

     type (master | slave | hint);

     file "존파일명";

};

-> type: master는 Primary, slave는 Secondary

 

* 도메인이 ihd.or.kr이고 zone 파일명을 ihd.zone 으로 지정 시 

zone "ihd.or.kr," IN { -> ind.or.kr. 아님!!

     type master;

     file "ihd.zone";

};

 

* DNS서버의 IP주소가 192.168.12.22이고, 도메인이  ihd.or.kr 이다. 리버스 존 파일 지정하면?

zone "12.168.192.in-addr.arpa" IN { 

     type master;

     file "ihd.zone";

};

 

 

 

- zone 파일

 /var/named : 기본설정 디렉터리, 사용자가 선언하는 zone파일 등 위치한 디렉터리 (* /etc/named, /etc/named/zones 아님!)

zone 파일은 일반 존 파일과 리버스 존 파일로 나눠짐

* 리버스 존 파일에만 사용하는 레코드 타입? PTR  (*RX 아님, MX 아님, CNAME아님)

 

* www IN A 192.168.12.22

  www IN CNAME www

 

* 22 IN PTR ihd.or.kr  -> (A, MX, CNAME 아님!!)

 

* IN SOA nameserver contact-email-address(  -> ex) 관리자계정.도메인 kaituser.ihd.co.kr.  (*마지막에 .꼭!!붙이기!!!! kaituser@ihd.co.kr. 아님!,)

)

 

* directory "/var/named "   : zone파일이 위치하는 디렉터리  ( * zone X, path X, include X)

 

* zone파일에서 메일 서버 설정, 도메인 ihd.or.kr 일 경우

             IN    MX 0      ihd.or.kr 

www       IN    A           192.168.12.22

 

 

* 시스템에서 사용하는 네임서버(DNS 서버) 설정하는 파일 ? /etc/resolv.conf

 

 

- DNS 서버 구성시 리버스 존 파일을 생성하지 않았을 경우?

IP주소에 대한 도메인 조회 불가능

 

[네트워크 관련 파일]

- /etc/sysconfig/network 

: 전체 네트워크 설정과 관련된 항목들이 들어있는 파일이다. 게이트웨이주소, 호스트네임 등이 기록된다.

ex) NISDOMAIN=ihd.or.kr

 

 

 

 

[가상화]

- 가상화 기능

1) 에뮬레이션 : 한 컴퓨터가 다른 컴퓨터처럼 똑같이 작동하도록 사용하는 기법, 가상 SCSI 버스를 구현하는 iSCSI 또는 물리적 디스크 스토리지 상에 구현된 가상 테이프 스토리지 등이 속함

2) 절연 : 가상화된 자원들과 물리적 자원들 간의 상호 맵핑, 투명한 변경 

3) 단일화 : 가상의 자원을 여러 개의 물리적 자원들에 걸쳐서 만들 수 있으며 이를 통해 외견상 전체 용량을 증가시키고, 전체적인 관점에서 활용과 단순화시킬 수 있다.

 

-가상화의 효과

프로비저닝 : 사용자의 요구사항에 맞게 할당, 배치, 배포 할 수 있도록 세밀한 조각 단위에서 가능

 

- 서버 가상화

1) 하드웨어 레벨 가상화

전가상화: Bare-Metal/Hypervisor, VMware ESX Server  ( * Oracle-virtual Box: 전가상화 이용하나 Bare-Metal X!)

반가상화: Citrix사의 XenServer

호스트 기반 가상화: Micosoft의 Virtual Server

- 반가상화 ? 게스트 운영체제와 VMM 과의 원활한 통신을 위해 게스트 운영체제의 커널 일부분을 수정하여 적용

 

- 리눅스 기반 서버 가상화 기술의 분류 및 특징

- Openstack

 : vmware기반의 가상머신과 xenserver 기반의 가상머신 통합 관리

: KEN, KVM 등으로 나누어서 운영되는 가상화 환경을 통합 관리할때 유용한 프로그램

 

1) 젠(Xen)

: CPU 반가상화 , 전가상화 지원

: CPU를 포함해서 이더넷 카드, Disk I/O, VGA 그래픽 인터페이스 등의 반가상화를 지원함

: 설치한 후에 해당 기술이 포함된 커널로 재부팅해야만 서비스 운영이 가능한 가상화 기술

 

- libvirtd

: Xen 기반 가상 머신 생성하기 위해 데몬 실행

ex) service libvirtd start

 

2) KVM(for Kernel-based Virtual Machine)

: 2005년에 설립된 Qumranet에서 개발한 하이퍼바이저로 x86 시스템 기반으로 CPU 전가상화 방식 사용

: 인텔의 VT 및 AMD-V를 기반으로 동작

: CPU 반가상화 기술은 지원하지 않으나 이더넷 카드, Disk I/O, VGA 그래픽 인터페이스 등은 반가상화 지원

: 상용화된 제품은 RHEV

 

* KVM이 반가상화 지원하지 않는 하드웨어? CPU 

 

3) 버추얼박스(VirtualBox)

: 인텔의 하드웨어 가상화인 VT-x 와 AMD-V기반으로 전가상화 지원

: 호스트기반 가상화

: 지원 디스크이미지 형식 - VDI, VHD, VMDK (*VMC아님)

 

4) 도커(Docker)

: 하이퍼바이저를 사용하거나 게스트 운영체제도 설치하지 않고!

 

* 다양한 하이퍼바이저 들을 통합 관리하기 위해 플랫폼에 해당하는 기술?

OpenStack, CloudStack, Eucalyptus (* vSphere 아님!)

 

 

- 가상화 서비스 구축

virt-manager : 가상 머신 관리자

 

* 가상화가 지원되는 최신의 AMD CPU를 구입하여 사용중이다. 서버 가상화 프로그램을 실행하였더니 가상화 지원 여부가 비활성화 상태라는 오류 메시지를 접하게 되었다. 메인보드의 BIOS에서 활성화 여부를 확인해야 할 항목? SVM

 

 

 

 

- virsh 명령

: 텍스트 기반의 콘솔 환경에서 가상 머신을 관리해주는 도구

ex) virsh  destory  VM1

 

- CPU 자원 사용량 확인

: 가상 머신만을 대상으로 CPU 자원 모니터링 한다면 virt-top 명령 이용

 

- /etc/mail/virtusertable 

: 하나의 메일 서버에 각 각 ihd.co.kr이라는 도메인을 갖는 회사와 kait.co.kr이라는 도메인을 갖는 회사의 호스팅 서비스를 운영중이다. 이 두 개 회사에서 ceo라는 e-mail계정을 요구함., 관련 설정 파일명

(* /etc/mail/local-host-names X)

 

- /etc/mail/local-host-names

: 회사에서 두 개의 도메인을 사용하는 관계로 두 개의 도메인 모두 메일을 받을 수 있도록 파일에 등록하는 파일

 

 

 

 

[슈퍼데몬]

리눅스 서버에서 서비스되는 다른 데몬들 제어하며, 각 각 서비스 요청 연결

 

- TCP Wrapper

: inetd 에 의하여 수행되는 서비스들의 접근을 제어하도록 하는 프로그램

접근 제어 가능- sshd, vsftpd, in.telnetd  (*squid 아님!! - 리눅스 프로시 서버 프로그램 )

* vsftpd.conf 에서 TCP Wrappers 이용한 접근제어 가능 설정

tcp_wrappers=YES   (* tcp_wrappers=ON 아님!)

 

* ip 주소가 ~인 호스트의 접근을  Tcp Wrapper이용해 접근차단

ex ) in.telnetd : 192.168.5.13

      in.telnetd@192.168.1.254: 192.168.1.  -> telnet X, telnets X, telnetservice X

 

 

- xinetd

: inetd 대체

: 사용자가 많지 않고 빠른 응답도 요구되지 않는 서비스에 적합

* cps  = 50  10 (초당 요청 수가 50개 이상일 경우 10초동안 접속연결 중단한다)

 

* enabled

: 사용 가능한 서비스 목록 지정

 

* disabled

: 특정 서비스의 사용 막을 때

: disabled = yes -> 서비스 허가

 

* disable = no

: xinetd 기반 텔넷 서버 활성화

: no 면 서비스 사용하는 것이고, yes면 서비스 이용하지 않는다

* disable = yes -> xinetd 기반 텔넷 서비스 중단 설정 (* enable=no X )

 

- xinetd.conf 파일에서 instances 항목? 

: 동시에 서비스 할 수있는 서버 최대개수

 

 

[프록시 관리]

: 자주 방문하는 사이트를 저장하는 일종의 캐시 서버

 

- squid

: 리눅스 프로시 서버 프로그램

squid.conf 파일 주요 설정

http_port  3128  -> squid 프록시 서버의 포트 번호를 지정하는 목록, 기본 포트값은 3128번이다

(* Port X, Listen X, proxy_port X 아님!!)

ex) cache_dir ufs /var/spool/squid 100 16 256

 

http_access allow : 특정 네트워크 대역만 사용 허가

 

[DHCP]

: 클라이언트에게 자동으로 IP주소, Gateway  주소 등 할당

 

- /etc/dhcp/dhcpd.conf 의 주요 설정

option domain-name-server  ns1.example.org, ns2.example.org

( * name-servers X, domain-name  X, dns-servers X)

: DHCP 서버를 사용하는 모든 네트워크 설정되는 도메인명과 도메인 네임서버, 임대요청 관련 시간을 설정

 

option routers : 게이트웨이 주소 지정

 

 

 

[VNC (Virtual Network Computing)]

: RFB (Remote Frame Buffer ) 프로토콜 사용하여 원격의 다른 컴퓨터 데스크톱 공유 ex) teamviewer

 

 

 

[NTP (Network Time Protocol)]

: 컴퓨터 시간 동기화, Stratum  계층 사용

: 서버들의 시간이 일정하지 않아서 동기화 시켜주는 서버를 구축하려고 한다.

 

 

 

 

 

 

2. 네트워크 보안

 

[DoS 공격]

* UDP Flooding 

: UDP 패킷을 대량 발생 시켜 특정 시스템의 서비스 방해

 

* TCP SYN Flooding

: 연결 요청 대기 Queue 쌓이면 Backlog Queue 공간 가득 채워 다른 연결 요청 저장 불가

 

* Teardrop Attack

: 시퀀스 넘버 조작

 

* Smurf Attack

: IP 주소를 공격 서버의 IP 주소로 위장

 

* SYN Flooding, UDP Flooding , ICMP Flooding ,  Teardrop Attack 비교하기

* ICMP Flooding: ping을 보내 패킷을 정상적인 크기보다 아주 크게 만들어 보내는 공격법, iptables을 이용한 공격대비

 

 

- 시스템 자원 고갈 공격

1) 가용 디스크 자원 고갈

2) 가용 메모리 자원 고갈  * mallac ()와 관련

3) 가용 프로세스 자원 고갈

 

* DoS공격? 파괴공격, 시스템 자원 고갈 공격, 네트워크 자원 고갈 공격

 

[DDos]

: 여러 대의 공겨격자 분산 배치해 동시에 Dos 공격

 

-DDos 도구

Trinoo : 다수의 호스트로부터 통합된 UDP Flooding 공격

TFN : Trinoo 와 거의 유사 , 공격자 시스템과 마스터 시스템 간 연결이 평문으로 되어있음

TFN 2K : TFN의 발전된 형태

Stacheldraht : 독어로 철조망, TFN 참고 

 

* DDos 공격 도구의 종류가 다른 것? Boink, Trinoo, TRN 2K, Stacheldraht

 

- SSH 무작위 대입 (SSH Brute force) 공격

: SSH 기반으로 로그인 시에 무차별적으로 아이디와 패스워드 대입으로 접근 시도 공격

 

* 트로이 목마 : 시스템 운영 및 관리에 밀접한 명령어들인 ps, ls ,find 등이 변조되어 특정 프로세스나 파일을 찾을 수 없게 되는 공격

 

[공격 대비책]

 

-침입 탐지 시스템(IDS)

-침입 방지 시스템(IPS)

 

- 리눅스 기반 IDS 및 IPS 시스템

1) Snort

: 가장 대표적

2) Suricata

: Snort의 대안

* SSH 뿐만 아니라 아파치 웹 등의 로그 파일 분석하여 공격 차단하는 기능 제공?

 fail2ban (suricata X, sshguard X, DenyHosts X)

 

* /etc/hosts.deny

: ssh 침입을 시도하는 특정 호스트 차단

ex) sshd : 192.168.7.4

 

* 침입 탐지 시스템으로 이용되는 도구? Suricata

 

 

[iptables]

: 방화벽을 설정하는 도구

 

- iptables 구조

filter : iptables의 기본 테이블로 패킷 필터링 담당

nat : Network Address Translation , IP 주소 변환

ipchains : FORWARD 사슬 역할 확장, 한 개의 공인 IP주소를 가지고 여러대의 컴퓨터를 사용, 하나의 공인 IP 주소를 가지고 여러대의 서버 운영

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

raw : 넷필터의 연결추적 하위시스템과 독립적으로 동작해야 하는 규칙 설정, 자신만의 고유한  사슬 집합있다

security : 리눅스 보안 모듈인 SELinux 에 의해 사용규칙 적용

 

 

iptables -D : 사슬의 규칙 제거(delete) * -R 아님!!

* iptables -D INPUT 2 ( INPUT 사슬에 설정한 두 번째 정책 삭제)

 

 

- iptables의 타겟 값 DROP

패킷을 거부하는 것으로 더 이상 어떤 처리도 수행되지 않고 버린다.

* iptables -P INPUT DROP ( INPUT 사슬에 대한 기본 정책을 거부로 설정)

 

 

- iptables의 로그 기록

: /var/log/messages

: 콜론(:) 으로 표준메시지 구분되어 기록

 

- iptables에서 NAT의 분류

1) SNAT

: 공인 IP주소 하나로 다수의 컴퓨터가 인터넷 접속 가능

: NAT테이블의 POSTROUTING 사슬에 정책 설정

2) DNAT

: 하나의 공인 IP주소로 다수의 서버를 운영하는 경우

: NAT테이블의 PREROUTING 사슬 정책 설정

 

 

- iptables의 nat 테이블에서 사용가능한 사슬? OUTPUT, POSTROUTING ,PREROUTING (INPUT아님!)

 

* IPv4와 비교해서 IPv6의 주소체계 ? 주소 표시 공간이 32비트에서 64비트로 확장되면서 거의 무한에 가까운 주소를 제공한다.

반응형

'서버 운영 > Linux' 카테고리의 다른 글

리눅스 마스터 1급 2차 기출 정리 - 파일 시스템 관리  (0) 2021.10.10
리눅스마스터1급 2차 실기 기출 및 예상문제 풀이 - 사용자 관리  (0) 2021.10.07
[리눅스 마스터 1급] 1차 필기 기출 내용 정리(2) - 2과목  (0) 2021.09.05
[리눅스 마스터 1급] 1차 필기 기출 내용 정리(1) - 1과목  (0) 2021.09.03
리눅스(Linux) 란?  (0) 2021.08.26
    '서버 운영/Linux' 카테고리의 다른 글
    • 리눅스 마스터 1급 2차 기출 정리 - 파일 시스템 관리
    • 리눅스마스터1급 2차 실기 기출 및 예상문제 풀이 - 사용자 관리
    • [리눅스 마스터 1급] 1차 필기 기출 내용 정리(2) - 2과목
    • [리눅스 마스터 1급] 1차 필기 기출 내용 정리(1) - 1과목
    meong_j
    meong_j
    #it #개발일기 #개발공부 #개발자 #백앤드 #생각정리 #시간은 실력에 비례한다 #뭐든지 꾸준히 열심히 #오늘의 내가 내일의 나를 만든다

    티스토리툴바