본문 바로가기

자격증/리눅스 1급 - 필기 기록

[ 리눅스 1급 요약 ] - 시스템 보안 및 관리

728x90
반응형


1. 다음 중 /etc/rsyslog.conf 파일에서 ssh 와 같이 인증이 필요한 프로그램에서 발생한 메세지를 처리하는 facility 로 알맞은 것은 ?

 

1️⃣ auth

2️⃣ authpriv

3️⃣ daemon

4️⃣ syslog

 

더보기

2️⃣ authpriv

 

authpriv  ?

authpriv는 ssh 와 같이 인증을 필요한 프로그램 유형이 발생한 메세지로 사용자 추가 시에도 메세지가 발생함 

facility 는 일종의 서비스를 의미하는데, 메세지를 발생시키는 프로그램의 유형이라고 볼 수 있다.

priority 는 위험의 정도를 나타내는데, 설정한 수준을 포함해서 높으면 메세지를 보낸다.

action 은 메세지를 보낼 목적이나 행동들에 관한 설정으로 보통 파일명이나 아이디 등을 적는다.

facility 의 나열은 콤마를 사용하고 facility.priority 의 조합은 나열은 새미콜론 (;) 을 사용한다.

priority 앞에 '=' 를 사용할 경우에는 해당 수준 (priority) 의 위험도와 같은 경우에만 메세지를 기록하고,

! 기호와 함께 사용하면 해당 수준만 제외 시킬 때 사용한다.

 


2. 다음 중 /etc/rsyslog.conf 파일에 설정하는 가장 높은 priority 로 알맞은 것은 ?

 

1️⃣ crit

2️⃣ alert

3️⃣ error

4️⃣ warning

 

더보기

2️⃣ alert

 

none

지정한 facility 를 제외, 보통 앞에 다른 facility 에 대한 설정을 하고 ; 뒤에 특정한 facility 를 제외할 때 사용

 

debug

프로그램을 디버깅 할 때

 

info

통계, 기본 정보 메세지

 

notice

특별한 주의를 필요하나 에러는 아닌 메세지

 

warning, warm

주의가 필요한 경고 메세지

 

error, err

에러가 발생하는 경우

 

crit

크게 급하지는 않지만 시스템에 문제가 생기는 단계의 메세지

 

alert

즉각적인 조정을 해야하는상황

 

emerg, panic

모든 사용자들에게 전달해야 할 위험한 상황

 


3. 관련 로그를 로그인한 posein 사용자의 터미널로 전송하려고 한다. 다음 ( ? ) 안에 들어 갈 내용으로 알맞은 것은 ?

 

# vi /etc/rsyslog.conf
authpriv.* ( ? )

 

1️⃣ posein

2️⃣ @posein

3️⃣ *posein

4️⃣ +posein

 

더보기

1️⃣ posein

 

p.436
authpriv.* /dev/tty2인증 관련 로그를 /dev/tty2 로 전송한다.

4. /etc/logrotate.conf 파일에서 로그 파일에 해당 날짜는 덧붙혀서 생성하는 설정으로 알맞은 것은 ?

 

1️⃣ date

2️⃣ dateext

3️⃣ day

4️⃣ dayext

 

더보기

2️⃣ dateext

 

dateext

로테이션으로 생성되는 로그 파일에 해당 날짜를 덧붙혀서 생성하는 항목이다.

예를 들면 maillog 라면 maillog-20150513 으로 생성된다.

 


5. 다음 중 logrotate 에 대한 설명으로 틀린 것은 ?

 

1️⃣ 로그 파일은 하루, 일주일, 한달 단위로 로테이션 할 수 있다.

2️⃣ 파일 크기에 제한을 통해 로테이션 할 수 있다.

3️⃣ 로그 파일 압축은 제공하지 않는다.

4️⃣ cron 에 의해 스케줄링되어 실행된다.

 

더보기

3️⃣ 로그 파일 압축은 제공하지 않는다.

 

logrotate

로그 파일은 계속적으로 덧붙혀지면서 쌓이는 형태라 파일의 크기도 계속 커지게 된다.

이를 방지하기 위해서 로그 파일을 여러 개로 분활해주는 프로그램이 logrotate 이다.

logrotate 는 로그 파일의 자동 로테이션 기능, 압축 기능, 제거 등을 지원한다.

각각의 로그 파일은 하루, 일주일, 한달, 연 단위로 로테이션을 할 수 있고, 파일의 크기를 지정하여 로테이션을 실행할 수 있다.

시스템과 관련된 기본적인 로그 설정은 /etc/logrotate.conf 에서 제어하고, 응용 프로그램은 /etc.loglotate.d 디렉터리 내에서 위치하여 로그 파일을 관리하고 있다. 명령행에서 logrotate 를 직접 사용이 가능하지만, 현재 리눅스에서는 /etc/cron.daily 디렉터리에 등록되어서 cron 에 의해 스케쥴링 되어 실행되고 있다.

 


6. 다음 조건에 맞게 로그 파일 관련 설정을 할 때 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?

 

# vi /etc/logroate.conf
/var/log/wtmp {
monthly
create (ㄱ)(ㄴ)(ㄷ)
rotate 1
}

 

조건 1

 

가 . 파일 소유자는 root, 소유 그룹은 utmp
나 . 파일 허가권은 0644

 

1️⃣ ㄱ - root , ㄴ - utmp , ㄷ - 0644

2️⃣ ㄱ - 0644 , ㄴ - root , ㄷ - utmp

3️⃣ ㄱ - 0644 , ㄴ - root , ㄷ - utmp

4️⃣ ㄱ - 0644 , ㄴ - utmp , ㄷ - root

 

더보기

3️⃣ ㄱ - 0644 , ㄴ - root , ㄷ - utmp

 

0644 : 소유자는 읽기와 쓰기, 그룹과 기타 사용자는 읽기 권한

create 은 로테이트를 한 후에 비어 있는 로그 파일을 생성하도록 설정하는 항목이다.

 

아래는 로그 파일명을 명기한 후에 {} 로 묶어서 관련 내용을 설정하면 운영이 가능하다.

/var/log/wtmp 는 한 달마다 로테이트하지만,

파일 크기가 1MB 가 되면 그 이전이라도 로테이트를 실행한다.

파일 생성시에 허가권 값은 0644, 소유자는 root, 소유 그룹은 utmp 로 설정한다.

또한 로테이션으로 생성되는 백로그 파일은 1개만 설정한다.

 

/var/log/wtmp {
    monthly
    create 0644 root utmp
        minsize 1M
    rotate 1
}


7. 다음 중 /var/log/secure 파일에 쌓이는 로그 기록과 가장 거리가 먼 것은 ?

 

1️⃣ telnet

2️⃣ ftp

3️⃣ ssh

4️⃣ xinetd

 

더보기

2️⃣ ftp

 

/var/log/secure

인증을 기반으로 접속과 관련된 로그가 기록되는 파일로

보통 login (telnetssh) , tcp_wrappers, xinetd 관련 로그가 쌓인다.

 

ftp 관련 로그는 /var/log/xferlog에 기록된다.


8. 다음 중 접속한 실패한 기록만 저장하는 로그 파일명으로 알맞은 것은 ?

 

1️⃣ /var/log/messages

2️⃣ /var/log/secure

3️⃣ /var/log/wtmp

4️⃣ /var/log/btmp

 

더보기

4️⃣ /var/log/btmp

 

wtmp (콘솔 , telnet, ftp 등 이용하여 접속한 사용자 기록, 시스템을 재부팅한 기록 등의 로그가 쌓이는 파일이다. ) 와 반대되는 로그로 접속이 실패한 경우를 기록한다.  바이너리 파일로 되어 있으며 , lastb 라는 명령어로 확인한다.

 


9. 다음 중 접속한 실패한 기록만을 확인할 때 사용하는 명령으로 알맞은 것은 ?

 

1️⃣ last

2️⃣ lastb

3️⃣ lastw

4️⃣ lastlog

 

더보기

2️⃣ lastb

 

wtmp (콘솔 , telnet, ftp 등 이용하여 접속한 사용자 기록, 시스템을 재부팅한 기록 등의 로그가 쌓이는 파일이다. ) 와 반대되는 로그로 접속이 실패한 경우를 기록한다.  바이너리 파일로 되어 있으며 , lastb 라는 명령어로 확인한다.

 

root@DESKTOP-9IVP0T4:/etc# lastb

btmp begins Sun Jul  4 14:42:48 2021

 


10. 다음 중 /var/log/wtmp 파일과 가장 관련이 있는 명령으로 알맞은 것은 ?

 

1️⃣ last 

2️⃣ lastb

3️⃣ lastw

4️⃣ lastlog

 

더보기

1️⃣ last 

 

p.422

 

last 명령은 /var/log/wtmp 가 만들어진 후 관련 정보를 출력한다.

 

콘솔 , telnet, ftp 등 이용하여 접속한 사용자 기록, 시스템을 재부팅한 기록 등의 로그가 쌓이는 파일이다. 이 파일은 바이너리 파일로 last 라는 명령으로 확인한다.

 

root@DESKTOP-9IVP0T4:/etc# last

wtmp begins Sun Jul  4 15:36:17 2021

11. 다음 중 cat 명령으로 로그 확인이 가능한 파일로 알맞은 것은 ?

 

1️⃣ /var/log/btmp

2️⃣ /var/log/secure

3️⃣ /var/log/lastlog

4️⃣ /var/log/wtmp

 

더보기

2️⃣ /var/log/secure

 

인증을 기반으로 접속과 관련된 로그가 기록되는 파일로 보통 login ( telnet 및 ssh ) , tcp_wrappers, xinetd 관련 로그가 쌓인다.

 

바이러니 파일로 되어 있어서 읽지못함

1️⃣ /var/log/btmp

3️⃣ /var/log/lastlog

4️⃣ /var/log/wtmp

 

root@DESKTOP-9IVP0T4:/# cat /var/log/secure
cat: /var/log/secure: No such file or directory
root@DESKTOP-9IVP0T4:/# cat /var/log/lastlog
root@DESKTOP-9IVP0T4:/etc# cat /var/log/btmp
root@DESKTOP-9IVP0T4:/# cat /var/log/wtmp
r~~~shutdown5.4.72-microsoft-standard-WSL2V`Qroot@DESKTOP-9IVP0T4:/#

12. 다음 중 last 명령을 이용하여 posein 사용자가 접속한 기록을 확인하려 할 때 알맞은 것은 ?

 

1️⃣ last posein

2️⃣ last -l  posein

3️⃣ last -u posein

4️⃣ last -t posein

 

더보기

1️⃣ last posein

 

last posein

posein 사용자의 로그인 정보를 출력한다.

 

root@DESKTOP-9IVP0T4:/# lastlog
Username         Port     From             Latest
root                                       **Never logged in**
daemon                                     **Never logged in**
bin                                        **Never logged in**
sys                                        **Never logged in**
sync                                       **Never logged in**
games                                      **Never logged in**
man                                        **Never logged in**
lp                                         **Never logged in**
mail                                       **Never logged in**
news                                       **Never logged in**
uucp                                       **Never logged in**
proxy                                      **Never logged in**
www-data                                   **Never logged in**
backup                                     **Never logged in**
list                                       **Never logged in**
irc                                        **Never logged in**
gnats                                      **Never logged in**
nobody                                     **Never logged in**
systemd-network                            **Never logged in**
systemd-resolve                            **Never logged in**
syslog                                     **Never logged in**
messagebus                                 **Never logged in**
_apt                                       **Never logged in**
lxd                                        **Never logged in**
uuidd                                      **Never logged in**
dnsmasq                                    **Never logged in**
landscape                                  **Never logged in**
sshd                                       **Never logged in**
pollinate                                  **Never logged in**
binsoo                                     **Never logged in**

13. 다음 중 재부팅한 기록을 확인하려 할 때 알맞은 것은 ?

 

1️⃣ last shutdown

2️⃣ last system

3️⃣ last reboot

4️⃣ last halt

 

더보기

3️⃣ last reboot

 

last reboot

시스템이 재부팅된 정보를 출력한다.

 

root@DESKTOP-9IVP0T4:/# last reboot

wtmp begins Sun Jul  4 15:36:17 2021

14. 다음 중 lastlog 명령을 이용하여 posein 사용자가 최종 접속한 기록을 확인하려 할 때 알맞은 것은 ?

 

1️⃣ lastlog posein

2️⃣ lastlog -l posein

3️⃣ lastlog -u posein

4️⃣ lastlog -t posein

 

더보기

3️⃣ lastlog -u posein

 

lastlog 는 각각의 사용자가 마지막으로 로그인한 정보를 출력해주는 명령으로

바이너리 파일인 /var/log/lastlog 의 내용을 출력한다.

 


15. 다음 ( ? ) 안에 들어갈 옵션으로 알맞은 것은 ?

 

# last ( ? ) /var/log/btmp.1

 

1️⃣ -p

2️⃣ -s

3️⃣ -b

4️⃣ -f

 

더보기

4️⃣ -f

 

last -f 파일명 로그 로테이션 설정이 되어 있는 경우, 기본 로그 파일 이외의 다른 로그 파일의 기록을 볼 경우에 사용한다.
root@DESKTOP-9IVP0T4:/# lastb binsoo

btmp begins Sun Jul  4 14:42:48 2021

16. 다음 중 dmesg 명령어에 대한 설명으로 알맞은 것은 ?

 

1️⃣ /var/log/dmesg 파일의 내용을 출력하는 명령이다.

2️⃣ 커널 링 버퍼의 내용을 출력하고 제어하는 명령이다.

3️⃣ /var/log/boot.log 파일의 내용을 출력하는 명령이다.

4️⃣ /var/log/btmp 파일의 내용을 출력하는 명령이다.

 

더보기

2️⃣ 커널 링 버퍼의 내용을 출력하고 제어하는 명령이다.

 

p.444

 

dmesg

커널링 버퍼(kernel ring buffer) 의 내용을 출력하고 제어하는 명령이다.

17. 단일 사용자 모드로 접근을 제어하기 위해 grub.conf 파일에 패스워드를 설정하려고 한다.

다음 중 grub 프롬프트에서 암호화된 패스워드 설정을 위해 실행하는 명령으로 알맞은 것은 ?

 

1️⃣ md5sum

2️⃣ md5crypt

3️⃣ crypt

4️⃣ encrypt

 

더보기

2️⃣ md5crypt

 

MD5는 무엇을 의미합니까?
MD5는 'Message-Digest algorithm 5'의 약자입니다.
MD5 알고리즘은 파일의 암호화 또는 지문 기능으로 사용됩니다.
데이터베이스 암호를 암호화하는 데 자주 사용되는 MD5는 파일 지문을 생성하여 

예를 들어 전송 후 파일이 동일한지 확인할 수도 있습니다.
MD5 해시는 32개의 16진수 문자로 구성됩니다.
위의 MD5 암호화 형식에 단어를 입력하면 해당 MD5 ​​해시를 알 수 있습니다.

 


17-1. CentOS 7 시스템에서 root 패스워드의 변경을 막기 위해 GRUB 패스워드를 설정하는 파일로 알맞은 것은?

 

1️⃣ /etc/grub/grub.conf

2️⃣ /boot/grub/grub.cfg

3️⃣ /etc/grub.d/00_header

4️⃣ /boot/grub/grub.conf

 

더보기

3️⃣ /etc/grub.d/00_header

 


 

18. 다음은 'Hello Linux' 라는 메세지와 함께 PID 를 로그 파일에 기록하는 과정이다. ( ? ) 안에 들어갈 명령으로 알맞은 것은 ?

 

# ( ? ) -i -f /var/log/messages 'Hello Linux'

 

1️⃣ dmesg

2️⃣ last

3️⃣ lastb

4️⃣ logger

 

더보기

4️⃣ logger

 

명령행에서 로그 시스템에 메세지를 전송할 때 사용하는 명령으로 기본적으로는 /var/log/message 파일에 기록된다.

 

-i

PID 기록할 때 사용

 

-f

저장되는 파일명 지정할 때 사용

 

-t

지정한 태그를 함께 기록할 때 사용

 

-s 

표준 출력 (모니터) 에도 메세지를 출력

 


19. 다음 중 logger 명령으로 로그 시스템에 메세지를 전송할 때 기본적으로 저장되는 파일명으로 알맞은 것은 ?

 

1️⃣ /var/log/dmesg

2️⃣ /var/log/messages

3️⃣ /var/log/tallylog

4️⃣ /var/log/boot.log

 

더보기

2️⃣ /var/log/messages

 

명령행에서 로그 시스템에 메세지를 전송할 때는 기본적으로 /var/log/message 에 기록 된다.

 


20. ping 응답하지 않기 위해 커널 파라미터값을 조정하려고 한다. 다음 중 관련 명령으로 알맞은 것은 ?

 

1️⃣ sysctl -n net.ipv4.icmp_echo_ignore_all=0

2️⃣ sysctl -n net.ipv4.icmp_echo_ignore_all=1

3️⃣ sysctl -w net.ipv4.icmp_echo_ignore_all=0

4️⃣ sysctl -w net.ipv4.icmp_echo_ignore_all=1

 

더보기

4️⃣ sysctl -w net.ipv4.icmp_echo_ignore_all=1

 

cd /proc/sys/net

cd ipv4

vi icmp_echo_ignore_all

솜언니가 이거를 열었는데 0 하나 들어있었다.

 

sysctl

sysctl명령은 커널 매개변수의 값을 제어하여 시스템을 최적화 할 수 있는 명령이다.

즉 /proc/sys 디렉터리에 존재하는 매개 변수를 제어하는 명령이다.

sysctl 에서 매개변수 호출하는 형식은 /proc/sys 를 최상위 디텍터리 (root) 로 인식하고

하위 디렉터리 구분은 '.' 으로 대체하여 명령을 수행한다.

sysctl 명령으로 커널 매개 변수값을 확인하거나 변경 가능하지만 재부팅하면 초기화된다.

해당 설정을 재부팅시에도 계속적으로 반영하게 하려면 /etc/sysctl.conf  파일에 등록해야한다.

 

-a , -A

커널 매개변수와 값을 모두 출력한다.

 

-p [파일명]

환경 변수 파일에 설정된 값을 읽어 들여서 반영하고 출력한다.

파일명이 지정하지 않으면 /etc/sysctl.conf 파일이 적용된다. ( --values )

 

-w 변수=값

매개변수에 값을 설정한다. ( --write )

 


21. 다음 중 SSH 에 대한 설명으로 틀린 것은 ?

 

1️⃣ 평문 전송을 통해 안전하고 속도가 빠르다.

2️⃣ rlogin 처럼 패스워드 입력 없이 로그인이 가능하다.

3️⃣ 원격 복사를 지원한다.

4️⃣ 원격 셸을 지원한다.

 

더보기

1️⃣ 평문 전송을 통해 안전하고 속도가 빠르다.

 

ssh

ssh 는 원격 시스템에 로그인하여 명령을 실행하는 프로그램으로 기본적인 사용법은 telnet 과 유사하다.

telnet 은 클라이언트와 서버간의 데이터 전송 기에 일반 텍스트 형태로 패킷을 전달하여

패킷의 내용을 유출당할 수 있지만, 

ssh 는 패킷 전송 암호화시키므로 안전하게 전송할 수 있다.

ssh 는 ssh2 와 ssh1 두 가지 버전이 있는데, ssh2 는 ssh1 을 개선한 것으로 호환은 되지만

기본적으로 호환성을 포함하고 있는 것이 아니므로

ssh1 을 지원하려면 ssh1 서버 같이 운영 해야 한다. 

SSH2 는 이중-암호화 RSA 키 교환을 비롯하여 다양한 키-교환 방법을 지원한다.

 

ssh 특징

- 패킷을 암호화하여 다른 원격 로그인 프로그램인 telnet 이나 rlogin 에 비해 안전하다.

- rlogin 처럼 패스워드 입력 없이 로그인이 가능하다.

- rsh 처럼 원격 셸을 지원한다.

- 원격 복사 (scp) 를 지원한다.

- 안전한 파일 전송(sftp)을 지원한다.

 


22. 다음 중 sshd_config 에서 root 접속을 막기 위한 설정으로 알맞은 것은 ?

 

1️⃣ RootLogin yes

2️⃣ RootLogin no

3️⃣ PermitRootLogin yes

4️⃣ PermitRootLogin no

 

더보기

4️⃣ PermitRootLogin no

 

PermitRootLogin yes

root 로그인 허용 여부를 결정하는 것이다.

yes 는 root 로 접속이 가능하다는 의미로 보안을 강화하기 위해서는 no 로 바꾼다.

 


23. ssh 명령을 이용해 IP 주소가 192.168.12.22 인 ssh 서버에 접속하려는데, 포트번호가 180 번으로 변경되었다.

다음 중 해당 서버에 접속하는 방법으로 알맞은 것은 ?

 

1️⃣ ssh 192.168.12.22 180

2️⃣ ssh 192.168.12.22:180

3️⃣ ssh 192.168.12.22 -p 180

4️⃣ ssh 192.168.12.22 -P 180

 

더보기

3️⃣ ssh 192.168.12.22 -p 180

 

ssh 클라이언트 명령어

리눅스에서는 openssh-clients 패키지를 설치하면 ssh 명령을 이용해서 접속할 수 있고,

윈도우에서는 SecureCRT, Xshell 등과 같은 프로그램을 이용해야 한다.

 

-p

ssh 서버의 포트번호가 22가 아닌 경우 -p 옵션을 사용해서 바뀐 포트를 지정할 때 사용한다.

 


24. SSH 서버 접속할 때에 별도의 인증 파일을 통해 접근하려고 한다. 다음 중 SSH 서버에 생성하는 인증 파일로 알맞은 것은 ?

 

1️⃣ id_rsa

2️⃣ id_rsa.pub

3️⃣ authorized_keys

4️⃣ auth_keys

 

더보기

3️⃣ authorized_keys

 

인증키를 이용한 SSH 서버 접속 : ssh-keyzen

SSH 서버를 접속할 때 패스워드를 입력하여 접속하지만 인증키를 이용하여 접속할 수 있다.

SSH 클라이언트에서 ssh-keygen 명령을 이용해서 비밀키와 공개키를 생성하고,

SSH 서버에 공개키를 복사 ( .ssh/authorized_keys ) 하면 된다.

 


25. 다음 중 SSH 클라이언트에 비밀키와 공개키를 생성할 때 사용하는 명령으로 알맞은 것은 ?

 

1️⃣ ssh-genkey

2️⃣ ssh-keygen

3️⃣ gnupg

4️⃣ gpg

 

더보기

2️⃣ ssh-keygen

 

인증키를 이용한 SSH 서버 접속 : ssh-keyzenSSH 서버를 접속할 때 패스워드를 입력하여 접속하지만 인증키를 이용하여 접속할 수 있다.SSH 클라이언트에서 ssh-keygen 명령을 이용해서 비밀키와 공개키를 생성하고, SSH 서버에 공개키를 복사하면 된다.

26. ssh 명령을 이용해 IP 주소가 192.168.12.22 인 ssh 서버에 접속하려는데, 현재 계정인 posein 이 아닌 yuloje 로 접속하려고 한다. 다음 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?

 

[posein@www~]$ ssh ( ? )

 

1️⃣ -u yuloje 192.168.12.22

2️⃣ yuloje@192.168.12.22

3️⃣ -p yuloje 192.168.12.22

4️⃣ -r yuloje 192.168.12.22

 

더보기

2️⃣ yuloje@192.168.12.22

 

ssh 사용법

ssh 계정이름@호스트네임-l

 

옵션 대신에 사용하는 방법으로 클라이언트 계정과 서버 계정이 다르면 이름을 명시해야 한다.

 

ssh yuloje@192.168.12.22

192.168.12.22 서버에 yuloje 라는 계정으로 접속을 시도한다.

 


27. 다음에서 설명하는 내용으로 알맞은 것은 ?

 

사용자를 인증하고 그 사용자의 서비스에 대한 접근을 제어하는 모듈화된 방법을 말한다.
보통 응용 프로그램들에게 사용자 인증 방법을 선택할 수 있는 공유 라이브러리 묶음을 제공한다.

 

1️⃣ sudo

2️⃣ pam

3️⃣ ssh

4️⃣ john the ripper

 

더보기

2️⃣ pam

 

PAM ( Pluggable Authentication Module ) PAM 은 사용자를 인증하고 그 사용자에 대한 접근을 제어하는 모듈화된 방법을 말한다.PAM 은 응용 프로그램들에게 사용자 인증 방법을 선택할 수 잇는 공유 라이브러리의 묶음을 제공한다.리눅스에서 PAM 프로젝트의 목적은 소프트웨어 개발과 안전한 권한 부여 및 인중 체계를 분리하는데 있다.현재 PAM 은 대부분의 배포판 리눅스에 기본적으로 설치되어 있고특정 서비스에 대한 사용자들의 허가 목록 파일, 특정 서비스에 대한 사용자 ( 또는 그룹 ) 들의 거부 목록 파일, 사용자의 패스워드 길이 등에 사용되고 있다.

28. 다음 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?

 

PAM 에서 제공하는 라이브러리 ( ㄱ ) 에 위치하고 동적으로 로드 가능한
오브젝트 파일 (.so) 형태로 되어있다.
PAM 을 이용하는 서비스들은 ( ㄴ ) 디렉터리 안에 설정되어 있다.

 

1️⃣ ㄱ - /lib/modules ,  ㄴ - /etc/pam.d

2️⃣ ㄱ - /lib/modules ,  ㄴ - /etc/pamd.d

3️⃣ ㄱ - /lib/security ,  ㄴ - /etc/pam.d

4️⃣ ㄱ - /lib/security ,  ㄴ - /etc/pamd.d

 

더보기

3️⃣ ㄱ - /lib/security ,  ㄴ - /etc/pam.d

 

PAM 에서 제공하는 라이브러리는 동적으로 로드 가능한 오브젝트 파일 (.so) 형태로 되어 있고, 전통적으로는 /lib/security ( 또는 /lib64/security ) 에 위치하였다.CentOS 7 에서는 상위 디렉터리 통합 정책으로 실제 디렉터리는 /use/lib64/security 이고,/lib64 가 /usr/lib64 의 심볼릭 링크로 제공되어서 /lib64/security 로 접근이 가능하다.

 

PAM 을 이용하는 서비스들은 /etc/pam.d 디렉터리 안에 설정되어 있고, 특별히 지정되지 않은 서비스에 대한 인증은 /etc/pam.d/other 에서 관리한다.

29. 다음에서 설명하는 PAM 관련 모듈로 알맞은 것은 ?

 

접속하는 계정이 root 인 경우에
특정 파일에 기록된 터미널을 통하는 경우에만 허가하도록 한다.

 

1️⃣ pam_securetty.so

2️⃣ pam_nologin.so

3️⃣ pam_listfile.so

4️⃣ pam_deny.so

 

더보기

1️⃣ pam_securetty.so

 

pam_securetty.so 접속하는 계정이 root 인 경우 /etc/securetty 파일에 기록된 터미널을 통하는 경우에만 허가하도록 하고, 그 외 사용자는 항상 인증에 성공한 것으로 처리한다.이 모듈은 /etc/pam.d/login 및 /etc/pam.d/remote 파일에 설정되어 있다.

30. 다음 설명과 관련 있는 보안 도구로 알맞은 것은 ?

 

특정 사용자 또는 특정 그룹에 root 인 경우에 특정 파일에
기록된 터미널을 통하는 경우에만 허가하도록 한다.

 

1️⃣ sudo

2️⃣ pam

3️⃣ nessus

4️⃣ john the ripper

 

더보기

1️⃣ sudo

 

Superuser do

 

sudo 는 특정 사용자 또는 특정 그룹에 root 사용자 권한을 가질 수 있도록 일부 명령 또는 모든 명령을 실행할 수 있도록 해주는 도구이다. 관리자가 visudo 명령을 실행하면 vi 편집기가 /etc/sudoers 파일을 열면서 설정하도록 되어 있다. 적용된 사용자는 'sudo 명령어' 형태로 실행하여 root 권한을 대행한다.

31. 다음 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?

 

sudo 의 환경 설정 파일인 ( ㄱ ) 를 편집하기 위해서 
( ㄴ ) 명령을 실행하면 vi 편집기가 실행된다.

 

1️⃣ ㄱ - /etc/sudo.conf , ㄴ - sudo

2️⃣ ㄱ - /etc/sudo.conf  , ㄴ - visudo

3️⃣ ㄱ - /etc/sudoers , ㄴ - sudo

4️⃣ ㄱ - /etc/sudoers, ㄴ - visudo

 

더보기

4️⃣ ㄱ - /etc/sudoers, ㄴ - visudo

 

visudo

sudo 의 환경 설정 파일인 /etc/sudoers 를 편집할 때 사용하는 명령으로 vi 편집기가 실행된다.

32. 다음 ( ? ) 안에 들어갈 명령으로 알맞은 것은 ?

 

[posein@www~] ( ? ) /usr/bin/useradd joon

 

1️⃣ su

2️⃣ sudo

3️⃣ visudo

4️⃣ sudoers

 

더보기

2️⃣ sudo

 

sudo /usr/sbin/useradd joon joon 이라는 사용자를 추가한다.

root@DESKTOP-9IVP0T4:/usr/sbin# pwd
/usr/sbin
root@DESKTOP-9IVP0T4:/usr/sbin# ls | grep user
adduser
deluser
newusers
useradd
userdel
usermod

33. 다음 설명에 해당하는 명령으로 알맞은 것은 ?

 

/etc/services 파일의 변경, 삭제, 이름 변경, 파일 추가, 링크 파일 생성 등을 불가능하게 설정한다.

 

1️⃣ chattr +a /etc/services

2️⃣ chattr +A /etc/services 

3️⃣ chattr +i /etc/services

4️⃣ chattr +I /etc/services

 

더보기

3️⃣  chattr +i /etc/services

 

리눅스 파일 시스템인 ext2 부터 사용되는 명령어들로써 기본적인 파일 권한 이외에 13가지 속성 (attribute) 를 부여하여 관리할 때 사용한다.

13가지 속성 중에 일부 속성은 현재 커널에 적용되지 않고, 일부 속성은 파일 시스템 또는 특정 커널 버전에만 사용된다.

 

chattr 

파일의 속성을 변경하는 명령으로 root 사용자만 가능하다.

 

chattr 사용법

chattr [option] mode 파일명

 

mode ?

mode 는 기호와 속성으로 이루어지는데, 기호는 _, -, = 를 사용한다.

+는 해당 속성을 부여, -는 해당 속성 해제, =는 해당 속성만 부여하고 해제한다.

 

-i 모드는 해당 파일의 변경, 삭제, 이름 변경, 파일 추가, 링크 파일 생성 등을 불가능하게 한다.

 


34. 다음 설명에 해당하는 명령으로 알맞은 것은 ?

 

posein 사용자가 jalin.txt 파일에 대해 읽고 쓸 수 있는 권한을 부여한다.

 

1️⃣ setfacl -u u:posein:rw jalin.txt

2️⃣ setfacl -m u:posein:rw jalin.txt

3️⃣ setfacl -s u:posein:rw jalin.txt

4️⃣ setfacl -x u:posein:rw jalin.txt

 

더보기

2️⃣ setfacl -m u:posein:rw jalin.txt

 

ACL ( Accrss Control List ) 는 파일이나 디렉터리 접근 권한을 제어할 수 있도록 만든 시스템이다. 

전총적인 유닉스 계열 시스템에서는 파일이나 디렉터리를 user, group, other 3 계층에 read, write, execute 권한으로 관리했으나 공유할 때 많은 문제점을 노출하고 있다. 일반적으로 어떠한 파일에 특정 사용자나 그룹에 권한을 부여하려면 소유 권한을 넘기고 다시 허가권을 부여하는 절차가 필요하다. 이러한 문제점을 해결할 수 있는 것이 ACL 이다. ACL 은 ext3 파일 시스템부터 지원하는데, 초기에는 기본적용이 안 되어서 파티션을 다시 마운트한 후에 사용 가능했으나 현재는 기본적으로 지원한다. ACL 의 확인 및 설정은 getfacl 과 setfacl 명령을 사용한다.

 

setfacl ( set file access control lists )

파일이나 디렉터리에 접근 권한 리스트를 설정하는 명령으로 root 만 사용 가능하다.

 

-m 옵션

권한을 지정하거나 수정할 때 사용한다.

 


35. 다음 중 보안 도구 및 관련 설정 조합으로 틀린 것은 ?

 

1️⃣ nmap : 네트워크 탐지 및 스캐너 도구

2️⃣ tripwire : 무결성 검사 도구

3️⃣ nessus : 취약점 검사 도구

4️⃣ GnuPG : 데이터 암호화 탐지 도구

 

더보기

4️⃣ GnuPG : 데이터 암호화 탐지 도구

 

GnuPG ( GNU Privacy Guard )

GnuPG 는 공개키와 비밀키를 생성하여 암호화하는 기법인 OpenPGP 를 공개 버전으로 구현한 것으로

데이터의 암호화와 디지털 서명 생성등에 사용된다.

일반적인 텍스트 파일인 경우 중간에 의도하지 않은 다른 사람이 해당 파일을 얻게 되면

파일의 내용이 그대로 노출된다.

이러한 문제점은 GnuPG 라는 프로그램을 사용하면 해결할 수 있다.

GnuPG 의 기본 개념은 특정 사용자가 공개키와 비밀키를 생성한 후에

공개키를 다른 사용자에게 제공한다.

공개키를 받은 사용자는 전달할 텍스트 문서를 생성한 후에 공개키를 이용해서

암호화된 문서 파일을 생성하게 되는데,

이 문서는 파일의 비밀키를 가진 사용자 ( 공개키를 배포한 사용자만 ) 이

해독 ( 복호화, decryption ) 하여 내용을 확인할 수 있다.

 

 

nmap ( network mapper )

Nmap 은 네트워크 탐지 도구 및 보안 스캐너로 시스템에 서비스 중인 포트를 스캔하여 관련 정보를 출력해준다.

이 도구를 이용하면 운영 중인 서버에 불필요하게 작동하고 있는 서비스 포트를 확인할 수 있다.

특히, 해커들이 대상을 검색할 때도 많이 사용되는데, 불필요하게 시도하면 상대방 시스템의 IDS 에 감지되어 IP 차단등의 불이익을 당할 수도 있으니 주의해야 한다.

레드헷 계열에 설치되는 nmap 패키지에는 nmap 이외에도 소켓을 리다이렉트시켜주는 ncat, nmap 스캔의 결과를 비교해주는 ndiff, ping 과 유사하게 패킷을 생성해주는 도구인 nping 도 포함되어 있다.

 

tripwire 

Tripwire 는 파일의 변조 여부를 검사하는 파일이다.

모든 파일들에 대한 데이터 베이스를 만들어 이 정보를 통해

파일들의 변조 여부를 검사하는데, 무결성 검사 도구 라고 한다.

보통 공격자가 시스템 침입에 성공하면 다시 들어오기 위한 구멍을 만들고,

관련 정보를 확인할 수 없도록 하기 위해 ps, ls, netstat 등의 명령어도 변조하게 된다.

이렇게 침입 당환 시스템의 파일 변조 여부를 검사할 때 유용한 도구가 tripwire 이다.

tripwire 는 MD5, SHA, CRC-32 등 다양한 해시 함수를 제공하고

시스템에 존재하는 파일들에 대한 데이터베이스를 생성 및 저장한 후에 생성된 데이터베이스와 비교하여

추가, 삭제, 변조된 파일이 있는지를 점검하고 관리자에게 알려주는 프로그램이다.

 

nessus 

Nessus 는 서버의 보안 취약점을 검사해주는 도구로써 문제가 되는 서비스에 대해 정보를 알려주고,

관련 사이트나 대처 방안등을 제시해주는 프로그램이다.


36. 다음 중 SELinux 적용 여부를 확인하는 명령으로 알맞은 것은 ?

 

1️⃣ getenforce

2️⃣ setenforce

3️⃣ selinux

4️⃣ setselinux

 

더보기

1️⃣ getenforce

 

SELinux 는 오픈소스인 리눅스 커널의 보안을 강화하기 위해

미국의 NSA ( National Security Agency ) 에 의해 연구된 프로젝트로 2001년 1월 최초로 등장하였다.

SELinux 의 주목적은 특정 데몬의 버그를 통해 root 권한을 휙득하더라도

해당 데몬에만 root 권한을 행사할 뿐 다른 데몬이나 시스템에는 접근이 불가능하도록 하여

시스템의 보안을 강화하는데 있다.

따라서 SELinux 는 시스템 해킹에서 보편적으로 쓰이는 취약점이나 exploit 을 통해

전체 시스템이 망가지는 것을 방지할 수 있다.

 

SELinux 는 기본적인 적용 확인 및 변경을

/etc/selinux/config 또는 /etc/sysconfig/selinux 에서 vi 편집기 등을 이용한다.

셸 상에서는 getenforce 및 setenforce 명령으로 확인 및 설정 가능하고,

X 윈도에서는 system-config-selinux 라는 도구를 이용해서 설정 가능하다.

 

X 윈도 기반 도구를 사용하려면 'yum install policycoreutils-gui' 명령을 실행해서 관련 패키지를 설치해야 한다.

37. 다음 중 활성화된 SELinux 상태를 비활성화 시키는 명령으로 알맞은 것은 ?

 

1️⃣ getenforce 0

2️⃣ getenforce 1

3️⃣ setenforce 0

4️⃣ setenforce 1

 

더보기

3️⃣ setenforce 0

 

setenforce 0

활성화된 SELinux 상태를 비활성화

 


38. 다음 중 리눅스 백업 대상이 되는 디렉터리로 가장 거리가 먼 것은 ?

 

1️⃣ /etc

2️⃣ /usr

3️⃣ /sys

4️⃣ /var

 

더보기

3️⃣ /sys

 

백업 대상 선택

가능한 많이 백업을 수행하는 것이 좋으나, 쉽게 설치가 가능하거나

항상 자동으로 생성되는 데이터들은 백업할 필요가 없다.

어떠한 영역을 백업할 것인지를 정해야 한다.

예를 들면 리눅스 시스템에서 /etc , /usr , /home , /var 등이 고려할 대상이나 상황에 따라 불필요할 수도 있으니 잘 결정해야 한다.

 


39. 다음은 tar 명령을 이용하여 증분 백업하는 예이다. ( ? ) 안에 들어갈 옵션으로 알맞은 것은 ?

 

#tar ( ? ) list -cvfp home.tar /home

 

1️⃣ -C

2️⃣ -g

3️⃣ -L

4️⃣ -N

 

더보기

2️⃣ -g

 

tar ( tape archive )

유닉스와 리눅스 시스템 모두 사용 가능한 유틸리티로 파일이나 디렉터리들을 하나의 파일로 묶어 주는 역할을 한다.

사용이 쉽고 소량의 파일 백업에 좋고 원본 파일을 남겨두므로 안전하다.

전통적인 유닉스 tar 는 압축 관련 옵션이 없지만, 리눅스에서 사용하는 GNU tar 는 압축을 지원한다.

 

-g

-g 옵션은 증분 백업에 사용하는 옵션으로 list 라는 파일의 내용을 토대로

증분 백업을 시도하는데 처음 사용하는 경우에는 전체 백업을 한다.


40. 다음 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?

 

# find /home | (ㄱ) (ㄴ) > home.backup

 

1️⃣ ㄱ - dump , ㄴ - -0f

2️⃣ ㄱ - dump , ㄴ - -0u

3️⃣ ㄱ - cpio , ㄴ - -ocv

4️⃣ ㄱ - cpio , ㄴ - -icv

 

더보기

3️⃣ ㄱ - cpio , ㄴ - -ocv

 

cpio ( copy input to output )

tar 와 비슷한 유틸리티로 많은 양의 데이터에 대해서는 tar 보다 빠르다.

장치 파일이나 네트워크 파일 등의 특수 파일도 백업이 가능하고 백업본의 크기도 작고, 백업본에 손상된 부분이 있더라도 손상된 부분을 제외하고 나머지 부분을 복구한다.

아울러, 기존의 명령어를 사용하여 백업을 진행하므로 다양한 조건을 활용하여 백업이 가능하다. 단점으로는 증분 백업 기능은 지원하지 않는다.

 

cpio 사용법

$ [셀명령어 | ] cpio option > 파일명

$ cpio option < 파일명

 

cpio 옵션

-o

표준 출력으로 보내어 사용한다 ( --create )

 

-v

과정을 상세히 출력한다. ( --verbose )

 

-c

아카이브 포맷 형식을 'new SVR4 portable format with no CRC' 으로 지정한다.

'-H newc' 옵션과 동일하다.

 

find /home | cpio -ocv > home.cpio

/home 을 home.cpio 파일로 백업한다.

 


41. 다음 ( ? ) 안에 들어갈 내용으로 알맞은 것은 ?

 

(ㄱ) 는 파일들이 아닌 파일 시스템 전체를 백업할 때 
사용하는 유틸리티로 보통 파티션 단위로
백업할 때 사용한다.
데이터 복원 시에는 (ㄴ) 명령을 사용한다.

 

1️⃣ ㄱ : cpio , ㄴ : dd

2️⃣ ㄱ : dd , ㄴ : cpio 

3️⃣ ㄱ : dump , ㄴ : restore

4️⃣ ㄱ : rsync , ㄴ : restore

 

더보기

3️⃣ ㄱ : dump , ㄴ : restore

 

dump 는 파티션 단위로 백업하는 명령이다.

restore 는 dump 로 백업한 내용을 복원할 때 사용하는 명령이다.

 


42. 다음 ( ? ) 안에 들어갈 옵션으로 가장 알맞은 것은 ?

 

#rsync ( ? ) /home /home5

 

1️⃣ -av

2️⃣ -iv

3️⃣ -ov

4️⃣ -uv

 

더보기

1️⃣ -av

 

nsync ( remote synchronous )

네트워크로 연결된 원격지의 파일들을 동기화하는 유틸리티로

예전에 사용하던 rcp ( remote copy ) 에 비해 처리속도도 빠르고 아래와 같은 기능을 제공한다.

- 링크된 파일이나 디바이스 파일도 복사 가능하고, 그룹을 포함한 소유권 및 허가권도 유지하여 복사할 수 있다.

- GNU tar 와 유사한 옵션을 사용하며, 특정 부분만 백업할 수 있다.

- CVS 의 exclude 모드처럼 같은 파일들은 제외할 수 있다.

- ssh 나 rsh 을 이용하여 전송 가능하고 root 권한이 필요하지 않다.

- 내부 파이브 라인을 통하여 전송 기간을 줄인다.

- 익명 (anonymous) 사용자 및 인증된 사용자를 지원하여 미러링 에 이상적이다.

- 로컬 시스템의 백업시에는 별다른 서버 설정 없이 사용이 가능하다.

 

옵션

-a

-riptgoD 를 한 번에 실행할 때 사용하는 옵션이다. ( --archive )

 

-v

진행 사항을 상세히 출력 (--verbose )


43. 다음 중 dd 명령어에 대한 설명으로 틀린 것은 ?

 

1️⃣ 디스크 단위로 백업할 때 사용한다.

2️⃣ 파티션 단위로 백업할 때 사용한다.

3️⃣ 디렉터리 단위로 백업할 때 사용한다.

4️⃣ 소문자로 이루어진 텍스트 파일을 전부 대문자로 전환할 때 사용한다.

 

더보기

3️⃣ 디렉터리 단위로 백업할 때 사용한다.

 

dd ( data dumper )

파티션이나 디스크 단위로 백업할 때 사용하는 유틸리티로 사용하기는 쉬우나 많은 시간이 소요된다.


💚 글이 도움이 되었다면 좋아요와 구독 부탁 드립니다 🧡

 

728x90
반응형