*ํจ์ค์๋ ์ ์ฅ ์ ์ฑ
-์ผ๋ฐ ํจ์ค์๋ ์ ์ฑ : passwd ํ์ผ ๋ด ๊ณ์ ์ ๋ณด์ ํจ๊ป ์ ์ฅ
-shadow ํจ์ค์๋ ์ ์ฑ : shadow ํ์ผ์ ํจ์ค์๋ ๋ณ๋๋ก ์ ์ฅ
*passwd(/etc/passwd) ํ์ผ
| [user_account]:[user_password]:[user_ID]:[group_ID]:[comment]:[home_directory]:[login_shell] |
| root:x:0:0:root:/root:/bin/bash |
-๋ก๊ทธ์ธ์ด ๋ถํ์ํ ๊ณ์ ์ ๋ก๊ทธ์ธ ์์ "/sbin/nologin" or "/bin/false"๋ก ์ค์
*shadow(/etc/shadow) ํ์ผ
| [user_account]:[encrypted_password]:[last_change]:[minlife]:[maxlife]:[warn]:[inactive]:[expires] |
| root:$1$inieWe43S$wefEWKFwfoewO/:16118:0:99999:7::: |
-last_change : ๋ง์ง๋ง์ผ๋ก ํจ์ค์๋ ๋ณ๊ฒฝํ ๋ (1970๋ 1์ 1์ผ ๊ธฐ์ค ์ผ์)
-minlife : ํจ์ค์๋ ์ต์ ์ฌ์ฉ ๊ธฐ๊ฐ
-maxlife : ํจ์ค์๋ ์ต๋ ์ฌ์ฉ ๊ธฐ๊ฐ
-warn : ํจ์ค์๋ ๋ง๋ฃ ์ด์ ๊ฒฝ๊ณ ์ผ์
-inactive : ํจ์ค์๋ ๋ง๋ฃ ์ดํ ๊ณ์ ์ด ์ ๊ธฐ๊ธฐ ์ ๊น์ง ๋นํ์ฑ ์ผ์
-expires : ๊ณ์ ๋ง๋ฃ์ผ ์ค์
$ID$Salt$encrypted_password
$1$inieWe43S$wefEWKFwfoewO/
-ID : ์ํธํ์ ์ ์ฉ๋ ์ผ๋ฐฉํฅ ํด์ ์๊ณ ๋ฆฌ์ฆ ์๋ณ ID
(1) 1:MD5
(2) 2:BlowFish
(3) 5:SHA-256
(4) 6:SHA-512
-Salt : ํจ์ค์๋ ์ํธํ ๊ฐ๋๋ฅผ ๋์ด๊ธฐ ์ํ ์์์ ๊ฐ. ์ฌ์ฉ์๊ฐ ์ง์ ํ ํจ์ค์๋์ ์ํธ๋ฅผ ์ถ๊ฐํ์ฌ ์ํธํ๋ ํจ์ค์๋ ์์ฑ
(1) ๋์ผํ ํจ์ค์๋๋ฅผ ์ฌ์ฉํด๋ ์๋ก ๋ค๋ฅธ ์ํธ์ ์ํด ์ค์ ์ํธํ๋ ํจ์ค์๋(ํด์๊ฐ)์ ์๋ก ๋ค๋ฆ
(2)๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ ๊ณต๊ฒฉ์ ๋์ ๊ฐ๋ฅ
- ๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ ๊ณต๊ฒฉ์ ํตํด ์ํธํ๋ ํจ์ค์๋์ ํ๋ฌธ ํจ์ค์๋๋ฅผ ์์๋ด๋๋ผ๋, ์ด๋ ์ํธ์ ์กฐํฉ๋ ํจ์ค์๋์ ํด์๊ฐ์ ๋ํ ํ๋ฌธ ํจ์ค์๋๋ก ์ค์ ํจ์ค์๋๊ฐ ์๋๋ค. ํฌ๋๋ ํ๋ฌธ ํจ์ค์๋๋ก ๋ก๊ทธ์ธ์, ํจ์ค์๋ ๊ฒ์ฆ์ ํ๋ฉด ์ ๋ ฅํ ํจ์ค์๋์ ์ํธ๋ฅผ ์ถ๊ฐํ ๊ฐ๊ณผ ํด์๊ฐ์ ๋น๊ตํ๋ฏ๋ก ๋ก๊ทธ์ธ์ ์คํจ๊ฐ ๋จ
*ํ๋ก์ธ์ค ์คํ๊ถํ(SUID,SGID)
-RUID : ํ๋ก์ธ์ค ์คํ์ํจ ์ฌ์ฉ์์ UID
-EUID : ํ๋ก์ธ์ค๊ฐ ์คํ์ค์ธ ๋์์๋ง ๋ถ์ฌ๋๋ UID
-SUID : ํ๋ก์ธ์ค๊ฐ ์คํ์ค์ธ ๋์์ ์ผ์์ ์ผ๋ก ํด๋น ์คํํ์ผ์ ์์ ์ ๊ถํ์ผ๋ก ์์์ ์ ๊ทผํ ์ ์๋๋ก ํ๋ ๊ถํ ์ค์
ex)SUID ์ค์ ๋ ํ๋ก์ธ์ค ์คํ ์ EUID๋ ํ์ผ ์์ ์์ UID๊ฐ ๋๊ณ , RUID๋ ์คํ์ํจ ์ฌ์ฉ์์ UID
| ํน์๊ถํ(3bit) | user(3bit) | group(3bit) | other(3bit) | ||||||||
| 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
| s(suid) | s(sgid) | t(sticky-bit) | r | w | x | r | w | x | r | w | x |
ex)755 ์ ๊ทผ๊ถํ text.out์ suid ์ค์
: chmod 4755 text.out (or chmod u+s text.out)
*๋๋ ํฐ๋ฆฌ ์ ๊ทผ๊ถํ(Sticky-Bit)
: sticky-bit๊ฐ ์ค์ ๋ ๋๋ ํฐ๋ฆฌ๋ ์์คํ ์ ์๋ ๋ชจ๋ ์ฌ์ฉ์๋ค์ด ์์ ๋กญ๊ฒ ํ์ผ ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑ๊ฐ๋ฅํ๋,
ํ์ผ ์ญ์ ๋ฐ ํ์ผ๋ช ๋ณ๊ฒฝ์ ์์ ์ ๋๋ root๋ง ๊ฐ๋ฅ
*๋ณด์ ์[SSH]
: ์ํธ ํต์ ์ ์ด์ฉํ์ฌ ๋คํธ์ํฌ ์์ ๋ค๋ฅธ ์ปดํจํฐ์ ์ ์ํ์ฌ ์๊ฒฉ์ผ๋ก ๋ช ๋ น์ ์คํํ๊ฑฐ๋ ํ์ผ ์กฐ์ํ๋ ์์ฉ ํ๋ก๊ทธ๋จ ๋๋ ํ๋กํ ์ฝ
-์ํธํ๋ ์๊ฒฉ ํฐ๋ฏธ๋ ์๋น์ค
-์ํธํ๋ ํ์ผ ์ก์์ ์๋น์ค
-rsh, rlogin, Telnet, fTP ์ทจ์ฝ์ ๋์ฒด
-22/tcp
*์ํผ ์๋ฒ[inetd ๋ฐ๋ชฌ]
: ๊ณตํต์ ์ธ ๋ถ๋ถ์ ์ฒ๋ฆฌํ๋ ๋ฐ๋ชฌ
-๋ฐ๋ชฌ์ ๋ฐ๋ชฌ ํ๋ก์ธ์ค๋ผ๋ ์๋ฏธ
-๊ฐ๋ณ ์๋น์ค๋ฅผ ๋ฑ๋กํ๊ฒ ํ์ฌ ํด๋ผ์ด์ธํธ ์์ฒญ์ ์ํผ ๋ฐ๋ชฌ์ด ๋ชจ๋ ์ฒ๋ฆฌํ๊ณ , ๊ฐ๋ณ ์๋น์ค๋ฅผ ํธ์ถํด์ฃผ๋ ๋ฐฉ์
(1) Stand-Alone : ๊ฐ๋ณ ์๋น์ค๋ณ๋ก ์๋ฒ ํ๋ก์ธ์ค๊ฐ ๋์ํ๋ ๋ฐฉ์.
์๋๋ ๋น ๋ฅด๋, ์๋ฒ ๋ฆฌ์์ค๋ฅผ ๋ง์ด ์ ์
(2) inetd(xinetd) : ์ํผ ๋ฐ๋ชฌ์ ์ด์ฉํ์ฌ ๊ฐ๋ณ ์๋น์ค๋ฅผ ๋์์ํค๋ ๋ฐฉ์.
์๋์ ์ผ๋ก ์๋๋ ๋๋ฆฌ๋, ์๋ฒ ๋ฆฌ์์ค ์ ์ฝ
-N๊ฐ์ ๊ฐ๋ณ ์๋ฒ๋ฅผ ํ๋๋ก ํตํฉํ์ฌ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์๋น์ค ์์ฒญ์ด ์ฌ ๋๋ง๋ค ํด๋น ์๋น์ค์ ๊ด๋ จ๋ ์คํ ๋ชจ๋ ์คํ
-์ต์ด ์คํ ์ /etc/inetd.conf ํ์ผ ์ ๋ณด ์ฐธ์กฐ
์๋น์ค๋ช
์์ผํ์
ํ๋กํ ์ฝ ํ๋๊ทธ ์ฌ์ฉํ ์ฌ์ฉ์ ๊ณ์ ์คํ ๊ฒฝ๋ก๋ช
์คํ ์ธ์
ftp stream tcp nowait root /user/sbin/in.ftpd in.ftpd -l -a
-์๋น์ค ๋ช : inetd ๋ฐ๋ชฌ์ /etc/services ํ์ผ์ ๋ฑ๋ก๋ ํฌํธ๋ฒํธ๋ฅผ ์ฐธ์กฐํ์ฌ ์๋น์คํ ํ๋ก์ธ์ค์ ํฌํธ ๊ฒฐ์
-์์ผ ํ์ : tcp ๊ธฐ๋ฐ ์๋น์ค๋ stream, udp ๊ธฐ๋ฐ ์๋น์ค๋ datagram
-ํ๋กํ ์ฝ : /etc/protocols ํ์ผ์ ํ๋กํ ์ฝ ์ค ์ฌ์ฉ๊ฐ๋ฅํ ํ๋กํ ์ฝ ์ค์ .
-ํ๋๊ทธ : ์๋น์ค ์์ฒญ์ ๋ฐ์ ์ดํ ์ฆ์ ๋ค์ ์๋น์ค ์์ฒญ์ ์ฒ๋ฆฌํ ์ง (nowait) ์๋๋ฉด
์์ฒญ ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋ ๋๊น์ง ๋๊ธฐํ์๋ค๊ฐ ๋ค์ ์์ฒญ ์ฒ๋ฆฌ(wait)
*๋ถํ์ํ/์ทจ์ฝํ ์๋น์ค ๋นํ์ฑํ
-Dos ๊ณต๊ฒฉ์ ์ทจ์ฝํ Simple TCP ์๋น์ค : echo(7/tcp), discard(9/tcp),daytime(13/tcp),chargen(19/tcp)
-r ๊ณ์ด ์๋น์ค : rlogin, rsh, rexec
-๋ถํ์ํ rpc(remote procedure call) ์๋น์ค : rpc.cmsd, rusersd
-finger, tftp, talk

*์ ๊ทผ ํต์ [TCP Wrapper]
: ์ธ๋ถ์์ ๋ค์ด์ค๋ ํด๋ผ์ด์ธํธ์ ๋ํด ์ ๊ทผํต์ ๊ธฐ๋ฅ ์ ๊ณต
-ํด๋ผ์ด์ธํธ์ IP ์ฃผ์ ํ์ธํ ์์คํ ๊ด๋ฆฌ์๊ฐ ์ ๊ทผ์ ํ์ฉํ ํธ์คํธ๋ค์ ๋ํด์๋ง ์๋น์ค ํ์ฉ
-์ ๊ทผ ํ์ฉ ๋ฐ ์ฐจ๋จ ํ๋จ : /etc/hosts.allow ์ /etc/hosts.deny ํ์ผ์ ์ ์๋ ํธ์คํธ ์ ๋ณด ๊ธฐ์ค
(1)hosts.allow ํ์ผ ๋จผ์ ์ฐธ์กฐ
| service_list : client_list [: shell_command] |
| service_list // ํ ๊ฐ ์ด์์ ๋คํธ์ํฌ ์๋น์ค ๋ช
๋๋ ์์ฝ์ด. ๊ตฌ๋ถ์๋ "," client_list // ํ ๊ฐ ์ด์์ ํธ์คํธ๋ช , ๋๋ฉ์ธ๋ช , IP์ฃผ์, ๋คํธ์ํฌID, ๋๋ ์์ฝ์ด. ๊ตฌ๋ถ์๋ "," shell_command //์ผ์นํ๋ ๊ฒ์ด ์์ ๋ ์ ํ์ ์ผ๋ก tcpd๊ฐ ์คํํ๋ ์ ๋ช ๋ น |
| hosts.deny | hosts.allow | ์ค๋ช |
| ALL : ALL | ALL : 192.168.1.1 | 192.168.1.1 IP ์ฃผ์์ ๋ํด ๋ชจ๋ ์๋น์ค ์ด์ฉ ๊ฐ๋ฅ |
| ALL : ALL | ALL EXCEPT in.telnetd : ALL | ๋ชจ๋ ํธ์คํธ์ ๋ํด Telnet ์๋น์ค๋ฅผ ์ ์ธํ ๋ชจ๋ ์๋น์ค ๊ฐ๋ฅ |
*์ํผ ๋ฐ๋ชฌ[xinetd]
:๊ธฐ์กด inetd ์ํผ ๋ฐ๋ชฌ์ ๋นํจ์จ์ ์ธ ๋ฆฌ์์ค ๊ด๋ฆฌ์ ๋ณด์์ฑ ๋ฌธ์ ๊ทน๋ณต์ ์ํด ๋์จ ์ํผ ๋ฐ๋ชฌ
-/etc/xinetd.conf : ๊ธ๋ก๋ฒ xinetd ์ค์ ํ์ผ
-/etc/xinetd.d/์๋น์ค ์ค์ ํ์ผ : ๊ฐ๋ณ ์๋น์ค ์ค์ ํ์ผ
telnet
---------------
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
no_access = 192.168.57.20 10.10.10.0/24
#only_from = 10.10.10.0/24
access_times = 09:00-12:00 13:00-18:00
cps = 50 10
instances = 100
per_source = 10
}
-cps : ์ฒซ๋ฒ์งธ ์ธ์๋ ์ด๋น ์ฐ๊ฒฐ ๊ฐ์, ๋ ๋ฒ์งธ ์ธ์๋ ์ด๋น ์ฐ๊ฒฐ ๊ฐ์๋ฅผ ์ด๊ณผํ๋ฉด ์ผ์์ ์ผ๋ก ์๋น์ค ์ค์ง ๋๊ธฐ ์๊ฐ
-instances : ๋์์ ์๋น์ค ํ ์ ์๋ ์๋ฒ์ ์ต๋ ๊ฐ์
-per_source : ์ถ๋ฐ์ง IP ๊ธฐ์ค์ผ๋ก ์ต๋ ์๋น์ค ์ฐ๊ฒฐ ๊ฐ์
*PAM(Pluggable Authentication Modules, ์ฅ์ฐฉํ ์ธ์ฆ ๋ชจ๋)
: ๋ฆฌ๋ ์ค ์์คํ ๋ด ์ฌ์ฉ๋๋ ๊ฐ์ข ์ดํ๋ฆฌ์ผ์ด์ ์ธ์ฆ์ ์ํด ์ ๊ณต๋๋ ์ธ์ฆ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ์ผ๋ฐ์ ์ผ๋ก /lib/security ๋๋ /usr/lib/security ๋๋ ํฐ๋ฆฌ์ ์ ์ฅ
-PAM ์ฌ์ฉ์ ์ธ์ฆ ์ ์ฐจ
(1) ๊ฐ ํ๋ก๊ทธ๋จ(login, FTP ๋ฑ)์ด ์ธ์ฆ์ด ํ์ํ ๋ถ๋ถ์ PAM ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธ์ถ
(2) PAM ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธ์ถ ์ ํด๋น ํ๋ก๊ทธ๋จ์ PAM ์ค์ ํ์ผ ์ฐธ์กฐํ์ฌ ๋ฑ๋ก๋ ์ฌ๋ฌ PAM ๋ชจ๋ ์ํ, ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ฐํ
(3) ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ฐํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ด์ฉํ์ฌ ์ธ์ฆ ์ฌ๋ถ ๊ฒฐ์

- /etc/pam.d : PAM ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด์ฉํ๋ ๊ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ค์ ํ์ผ ์์น

- /lib/security : PAM ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ ๊ณตํ๋ ๋ค์ํ ์ธ์ฆ ๋ชจ๋ ์์น

- /etc/security : PAM ๋ชจ๋ ์คํ์ ํ์ํ ์ถ๊ฐ ์ค์ ํ์ผ ์์น
-PAM ์ค์ ํ์ผ(/etc/pam.d/remote)
remote
----------------------
auth required pam_securetty.so
account required system-auth
-------------------------------------
type control module-path module-arguments
(1) type : PAM ๋ชจ๋ ์ข ๋ฅ
- account(๊ณ์ ) : ์๋น์ค ์ฌ์ฉ์ ๊ณ์ ์ ์ ํจ์ฑ ๊ฒ์ฆ
- auth(์ธ์ฆ) : ์๋น์ค ์ฌ์ฉ์ ๊ณ์ ์ ์ฌ์ฉ์ ์ ์ํ์ธ ์ํ
- password(ํจ์ค์๋) : ์๋น์ค ์ฌ์ฉ์ ๊ณ์ ์ ๋น๋ฐ๋ฒํธ ์ค์ ๋ฐ ๋ณ๊ฒฝ์กฐ๊ฑด ์ง์
- session(์ธ์ ) : ์๋น์ค ์ฌ์ฉ์ ๊ณ์ ์ ์ธ์ฆ์ฒ๋ฆฌ ์ ํ์ ์ํํ ์ง์ ์ง์
(2) control : ๊ฐ ๋ชจ๋ ์คํ ํ ์ฑ๊ณต ๋๋ ์คํจ์ ๋ฐ๋ฅธ PAM ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ๋ ๊ฒฐ์
- requisite : ์ธ์ฆ ์คํจ์ ์ฆ์ ์ธ์ฆ ๊ฑฐ๋ถ
- required : ์ธ์ฆ ์คํจํ๋๋ผ๋ ๋ค์ ๋ผ์ธ ๋ชจ๋ ์คํ, ์ต์ข ๊ฒฐ๊ณผ๋ ์ธ์ฆ ์คํจ
- sufficient : ์ด์ ์์ฒญ ๋ชจ๋ ์คํจํ๋๋ผ๋ ์ฌ๊ธฐ์ ์ฑ๊ณต์ PAM ์ธ์ฆ ์ฑ๊ณต ( ๋จ, ์ด์ ์ ์์นํ required ๋ชจ๋์ด ๋ชจ๋ ์ฑ๊ณต์ผ์)
- optional : ๋ชจ๋ ์ค๊ณต, ์คํจ ๊ฒฐ๊ณผ ๋ชจ๋ ๋ฌด์
(3) module-path : PAM์์ ์ฌ์ฉํ ์ค์ ๋ชจ๋ํ์ผ ์์น ๊ฒฝ๋ก
(4) module-arguments : ๋ชจ๋์๊ฒ ์ ๋ฌ๋๋ ์ธ์
-PAM ํ์ฉ 1 (root ๊ณ์ ์๊ฒฉ ์ ์ ๊ธ์ง)
(1) /etc/securetty ํ์ผ์ ๋ฑ๋ก๋ ํฐ๋ฏธ๋์ด ์๋๋ฉด root ์ ์ ํ์ฉ X๋ก PAM ์ค์
(2) /etc/securetty ํ์ผ์ pts/~ ํฐ๋ฏธ๋์ ๋ชจ๋ ์ฃผ์์ฒ๋ฆฌ ๋๋ ์ ๊ฑฐ
-PAM ํ์ฉ 2 (๊ณ์ ์ ๊ธ ์๊ณ๊ฐ ์ง์ ๋ฐ ์ํธ์ ๋ ฅ ์คํจ ํ์ ์ ํ)
(1) Brute Force ๊ณต๊ฒฉ ๋๋ ์ฌ์ ๊ณต๊ฒฉ ๋ฐ์์ ๋๋นํด ์ํธ์ ๋ ฅ ์คํจ ํ์๋ฅผ ์ ํ
(2) ๊ณ์ ์ ๊ธ ์๊ณ๊ฐ์ ์ง์ (5ํ ์ดํ) ํ ์ด๊ณผ ์ ํจ์ค์๋ ์ผ์ ์๊ฐ ์ ๊ธ
(3) pam_tally2.so ์ด์ฉ
system-auth
--------------------
auth required pam_tally2.so deny=5 unlock_time=120
(4) /etc/pam.d ์ system-auth ์๋น์ค ์ค์ ํ์ผ์ pam_tally2 ๋ชจ๋์ ์ถ๊ฐ
-PAM ํ์ฉ 3 (su ๋ช ๋ น์ด ์ ํ)
(1) su ๋ช ๋ น์ ๊ถํ ์๋ ์ฌ์ฉ์๊ฐ ์ฌ์ฉ ์ root ๊ถํ ํ๋ ๊ฐ๋ฅ
(2) pam_wheel.so ๋ชจ๋ ์ด์ฉ
(3) wheel ๊ทธ๋ฃน์ su ๋ช ๋ น์ด ์ฌ์ฉํ ์ฌ์ฉ์๋ค๋ง ์ถ๊ฐ
su
---------
auth required pam_wheel.so use_uid debug
(4) /etc/pam.d ๋๋ ํฐ๋ฆฌ์ ์๋ su ์๋น์ค ์ค์ ํ์ผ ์์
*sudo ๋ช ๋ น
: ๋ค๋ฅธ ์ฌ์ฉ์ ๊ณ์ ๊ถํ์ผ๋ก ๋ช ๋ น์ด ์คํํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ ๋ช ๋ น์ด
-su ๋ช ๋ น ์ฌ์ฉ์ ๊ด๋ฆฌ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์๋ ค์ค์ผ ํ๋ค๋ ๋ถ๋ด์ด ์์ผ๋ฏ๋ก sudo ๊ถ์ฅ
-sudo ๋ช ๋ น ์ค์ ํ์ผ : sudoers (/etc/sudoers)
| sudo [-u ์คํ ๊ถํ ๊ณ์ ๋ช ] ๋ช ๋ น์ด |
| -u //๋ช ๋ น์ด ์คํํ ๋ ๊ฐ์ง ๊ถํ ๊ณ์ ๋ช . ์๋ต์ root |
| $sudo /batch/log_batch.sh |
๊ณ์ ๋ช
ํธ์คํธ๋ช
=(์คํ ๊ถํ ๊ณ์ ๋ช
) [NOPASSWD:]๋ช
๋ น์ด
test ALL=(ALL) ALL
test 192.168.56.100=(ALL) ALL
-NOPASSWD ์ค์ ์ sudo ๋ช ๋ น ์คํํ๋ ๊ณ์ ๋น๋ฐ๋ฒํธ ๋ฌป์ง ์์
*utmp(x)
: ํ์ฌ ๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ์ํ์ ๋ณด
-binary ํ์ผ
-w, who, finger ๋ช ๋ น์ด ์ด์ฉ
-Linux : /var/run/utmp
-UNIX : /var/adm/utmpx
*wtmp(x)
: ์ฌ์ฉ์์ ์ฑ๊ณตํ ๋ก๊ทธ์ธ/๋ก๊ทธ์์ ์ ๋ณด, ์์คํ Boot/Shutdown ์ ๋ณด์ ๋ํ ํ์คํ ๋ฆฌ
-binary ํ์ผ
-last ๋ช ๋ น์ด ์ด์ฉ
-Linux : /var/log/wtmp
-UNIX : /var/adm/wtmpx
*lastlog
: ๊ฐ์ฅ ์ต๊ทผ(๋ง์ง๋ง) ์ฑ๊ณตํ ๋ก๊ทธ์ธ ๊ธฐ๋ก
-binary ํ์ผ
-lastlog(Linux), finger(Linux, UNIX) ๋ช ๋ น์ด ์ด์ฉ
-Linux : /var/log/lastlog
-UNIX : /var/adm/lastlog
*btmp(Linux), loginlog(UNIX)
: ์คํจํ ๋ก๊ทธ์ธ ์๋
-Linux : /var/log/btmp
(1) binary ํ์ผ
(2) lastb ๋ช ๋ น์ด ์ด์ฉ
(3) ์คํจํ ๋ชจ๋ ๋ก๊ทธ
-UNIX : /var/adm/loginlog
(1) ํ ์คํธ ํ์ผ
(2) vi๋ฑ ํธ์ง๊ธฐ ์ด์ฉ
(3) 5ํ ์ด์ ์คํจ ์ ์คํจํ ๋ก๊ทธ
*sulog
: su ๋ช ๋ น ์ฌ์ฉ ๊ฒฐ๊ณผ ์ ์ฅ
-UNIX : /var/adm/sulog
(1) ํ ์คํธ ํ์ผ
(2) vi ๋ฑ ํธ์ง๊ธฐ ์ด์ฉ
-Linux : /var/log/secure
*acct/pacct
: ์์คํ ์ ๋ก๊ทธ์ธํ ๋ชจ๋ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์์ ํ ๋๊น์ง ์ ๋ ฅํ ๋ช ๋ น์ด, ํฐ๋ฏธ๋ ์ข ๋ฅ, ํ๋ก์ธ์ค ์์ ์๊ฐ
-binary ํ์ผ
-lastcomm ๋ช ๋ น์ด ์ด์ฉ
-Linux : /var/account/pacct
(1) ๊ธฐ๋ณธ ์์ฑ๋๋ ๋ก๊ทธ ํ์ผ์ด ์๋๋ฏ๋ก "accton /var/account/pacct" ์คํ ํ์
-UNIX : /var/adm/pacct
(1) "/usr/lib/acct/accton /var/adm/pacct" ์คํ ํ์
*history
: ๊ฐ ๊ณ์ ๋ณ๋ก ์คํํ ๋ช ๋ น์ด์ ๋ํ ๊ธฐ๋ก
-๋ก๊ทธ ํ์ผ์ ".์์ข ๋ฅ_history" ํ์์ผ๋ก ์์ฑ
-ํ ์คํธ ํ์ผ
-vi ํธ์ง๊ธฐ๋ฅผ ํตํด ํ์ธ ๊ฐ๋ฅ
-history ๋ช ๋ น ์ด์ฉ
*secure
: ์ฌ์ฉ์ ์ธ์ฆ์ ๋ํ ์ ๋ณด๋ฅผ ๊ธฐ๋ก
-์๊ฒฉ์์ ์ ์ํ ๋ด์ญ, su๋ช ๋ น ์ํ ๋ด์ญ ์ ์ฅ
-Linux : /var/log/secure
*messages
: ์์คํ ์ด์์ ๋ํ ์ ๋ฐ์ ์ธ ๋ฉ์์ง ์ ์ฅ
-์์คํ ๋ฐ๋ชฌ๋ค์ ์คํ์ํฉ, ๋ด์ญ, ์ฌ์ฉ์๋ค ์ ์์ ๋ณด, TCP Wrapper ์ ๊ทผ ์ ์ด ์ ๋ณด ๋ฑ ์ ์ฅ
-Linux : /var/log/messages
*dmesg
: ๋ฆฌ๋ ์ค ๋ถํ ์ ์ถ๋ ฅ๋๋ ๋ชจ๋ ๋ฉ์์ง ๊ธฐ๋ก
-ํ ์คํธ ํ์
-dmesg ๋ช ๋ น ์ด์ฉ
-Linux : /var/log/dmesg
*boot.log
: ๋ฆฌ๋ ์ค ๋ถํ ์ ํ์ผ ์์คํ ์ ๋ํ ์ฒดํฌ, ์๋น์ค ๋ฐ๋ชฌ๋ค์ ์คํ ์ํ ๊ธฐ๋ก
-Linux : /var/log/boot.log
*xferlog
: FTP ๋ก๊ทธ ํ์ผ๋ก์ proftpd ๋๋ vsftpd ๋ฐ๋ชฌ๋ค์ ์๋น์ค ๋ด์ญ ๊ธฐ๋ก
-FTP ๋ก๊ทธ์ธ ์ฌ์ฉ์์ ๋ํ ๋ก๊ทธ ๊ธฐ๋ก๊ณผ ์ด๋ค ํ์ผ์ ์ ๋ก๋/๋ค์ด๋ก๋ ํ๋์ง ์์ธํ ๊ธฐ๋ก
-Linux : /var/log/xferlog
Fri Mar 10 12:09:44 2023 1 192.168.159.153 1011 /home/test/test.c a _ i r test ftp 0 * c
-----------------------------------------------------------------------------------------
1 2 3 4 5 6 7 8 9 10 11 12 13 14
(1) ์ ์ก ๋ ์ง ๋ฐ ์๊ฐ
(2) ์ ์ก ์์ ์๊ฐ (์ด)
(3) ์๊ฒฉ ํธ์คํธ ์ฃผ์
(4) ์ ์ก ํ์ผ ํฌ๊ธฐ
(5) ์ ์ก ํ์ผ ๋ช
(6) ์ ์ก ํ์ผ ์ข ๋ฅ
- a: ascii
- b : binary
(7) ์ก์ ํ๋๊ทธ/ FTP ์๋น์ค๋ด ์ ์ฉ ๋ด์ฉ
- _ : ์๋ฌด ์ก์ ์์
- C : ์์ถ ํ์ผ
- U : ์์ถ๋์ง ์์ ํ์ผ
- T : tar๋ก ๋ฌถ์ฌ ์๋ ํ์ผ
(8) ์ ์ก ๋ฐฉํฅ
- i : incoming(ํ์ผ์ ์๋ฒ๋ก ์ฌ๋ฆผ)
- o : outgoing(ํ์ผ์ ์๋ฒ์์ ๋ด๋ฆผ)
- d : delete(ํ์ผ์ ์๋ฒ์์ ์ญ์ )
(9) ์ฌ์ฉ์ ์ ๊ทผ ๋ฐฉ์
- r : real(์ธ์ฆ๋ ์ฌ์ฉ์)
- a : anonymous
(10) ๋ก๊ทธ์ธ ์ฌ์ฉ์๋ช
(11) ์๋น์ค๋ช
(12) ์ฌ์ฉ์ ์ธ์ฆ ๋ฐฉ๋ฒ
- 0 (์์)
(13) ์ธ์ฆ ์ฌ์ฉ์ ID
- ์ธ์ฆ ๋ฐฉ๋ฒ์ ์ํด ๋๋๋ ค์ง๋ User ID
- *(์ธ์ฆ๋ ์ฌ์ฉ์ ID ์ฌ์ฉํ ์ ์๋ค)
(14) ํ์ผ ์ ์ก ์ํ
- c : complete
- i : incomplete
*cron
: cron ์์ ์ ๋ํ์ฌ ๊ธฐ๋ก
-Linux : /var/log/cron
*maillog
: senmail, qmail ๋ฑ๊ณผ ๊ฐ์ ๋ฉ์ผ ์ก์์ ๊ด๋ จ ๋ด์ญ๋ค๊ณผ ipop, imap ๋ฑ๊ณผ ๊ฐ์ ์์ ๋ด์ญ
-๋ฉ์ผ ๋ก๊ทธ ํ์ผ
-Linux : /var/log/maillog
: ์ฌ์ฉ์๋ค์ ๋ํ ๋ฉ์ผ ๋ณด๊ด
-Linux : /var/spool/mail

*syslog
-syslog ํ์ค ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ปค๋ ๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ํด ๋ฐ์ํ๋ ๋ก๊ทธ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ์์ฑ ๋ฐ ๊ด๋ฆฌ
-์ปค๋ ๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ด syslog API๋ฅผ ํตํด ๋ก๊ทธ ์์ฑ์ syslogd ๋ฐ๋ชฌ ํ๋ก์ธ์ค๊ฐ syslog.conf ์ค์ ํ์ผ ์ฐธ์กฐํ์ฌ ์ง์ ํ ๋ก๊ทธ ํ์ผ, ์ฝ์ ๋๋ ์ธ๋ถ ์๋ฒ ๋ฑ์ ๋ก๊ทธ ๊ธฐ๋ก
-/etc/syslog.conf : ์์คํ ๋ก๊ทธ ๋ฐ๋ชฌ (syslogd)์ด ์คํ๋ ๋ ์ฐธ์กฐ๋๋ ๋ก๊ทธ ํ์ผ
| facility.priority; facility.priority; ... action(logfile-location) |
| A.B A.B C |
| authpriv.* /var/log/secure //authpriv์ ์ํ๋ ์๋น์ค(xinetd ๋ฑ)์ ๋ชจ๋ ๋ก๊ทธ ์์ค์ ๋ก๊ทธ๋ฅผ ๊ธฐ๋ก |
-A ์๋น์ค์ ๋ํด์ B ๋ก๊ทธ ๋ ๋ฒจ ์ด์ ์ํฉ ๋ฐ์์ C ํ์์ผ๋ก ๋ก๊ทธ ๋จ๊น
*facility : ๋ก๊ทธ ์์ฑ ์๋น์ค
| * | ๋ชจ๋ ์๋น์ค |
| atuh authpriv |
์ธ์ฆ ๋ฐ ๋ณด์ ๊ด๋ จ ๋ฉ์์ง |
| cron | cron ๋ฐ๋ชฌ๊ณผ atd ๋ฐ๋ชฌ์ ์ํด ๋ฐ์๋๋ ๋ฉ์์ง |
| daemon | telnet, ftp ๋ฑ๊ณผ ๊ฐ์ ๋ฐ๋ชฌ์ ์ํ ๋ฉ์์ง |
| kern | kernel์ ์ํ ๋ฉ์์ง |
| lpr | ํ๋ฆฐํธ ๋ฐ๋ชฌ์ธ lpd์ ์ํด ๋ฐ์๋๋ ๋ฉ์์ง |
| sendmail, pop, qmail ๋ฑ์ ๋ฉ์ผ ์์คํ ์์ ๋ฐ์ | |
| news | USENET ๋ฑ ๋ด์ค์์คํ ์ ์ํด ๋ฐ์ |
| uucp | uucp์ ์ํ ์์คํ ๋ฉ์์ง |
| user | ์ฌ์ฉ์์ ์ํด ์์ฑ๋ ํ๋ก์ธ์ค |
| syslog | syslogd์ ์ํด ๋ฐ์๋๋ ๋ฉ์์ง |
| local0~ local7 | ์์คํ ๋ถํ ๋ฉ์์ง ๊ธฐ๋ก |
*UUCP : ๋ด์ค๋ ์ ์ ๋ฉ์ผ์ ์ ์กํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋๊ท๋ชจ ๊ตญ์ ๋คํธ์ํฌ
*priority : ๋ก๊ทธ ์์ค(Level)
| ๋์ ๋ฎ์ |
Emergency (emerg) |
system is unusable |
| alert (alert) |
action must be taken immdiately | |
| Critical (crit) |
critical condition | |
| Error (err) |
error condition | |
| Warning (warning) |
warning condition | |
| Notice (notice) |
normal, but significant condition | |
| Information (info) |
information message | |
| debug (debug) |
debug-level message |
*action : ๋ก๊ทธ๋ฅผ ์ด๋์ ๋จ๊ธธ ๊ฒ์ธ์ง ๊ฒฐ์
| ๋ก๊ทธ ํ์ผ | ํ์ผ๋ช ์ง์ (ex. /var/log/secure) |
| ์ฝ์ | /dev/console ์ง์ ์ ์ฝ์ ์ถ๋ ฅ |
| ์๊ฒฉ ๋ก๊ทธ ์๋ฒ | "@ํธ์คํธ ์ฃผ์"๋ก ์ง์ ํ ํธ์คํธ๋ก ๋ก๊ทธ ๋ณด๋ |
| user | ์ง์ ๋ ์ฌ์ฉ์์ ์คํฌ๋ฆฐ์ผ๋ก ๋ฉ์์ง ๋ณด๋ |
| * | ํ์ฌ ๋ก๊ทธ์ธ๋ ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ๋ณด๋ |
*logrotate : ์์คํ ๋ก๊ทธํ์ผ ๊ด๋ฆฌ ๋๊ตฌ
-๋ก๊ทธ ํ์ผ ์ํ (rotate) ๊ธฐ๋ฅ, ์์ถ(compress) ๊ธฐ๋ฅ ๊ฐ์ง
logrotate.conf
-------------------------------------
weekly
rotate 4
create
dateext
#compress
include /etc/logrotate.d
-daily, monthly, weekly : ์ผ, ์, ์ฃผ ๋จ์ ๋ก๊ทธํ์ผ ์ํ
-rotate n : ์ํ ๋ก๊ทธํ์ผ ๊ฐ์๋ฅผ n๊ฐ๋ก ์ง์
-create [ํผ๋ฏธ์ ] [์์ ์] [์์ ๊ทธ๋ฃน] : ์ํ ์ ์๋กญ๊ฒ ๋ก๊ทธํ์ผ ์์ฑํ๋ฉฐ, ํผ๋ฏธ์ , ์์ ์, ์์ ๊ทธ๋ฃน ์ง์ ๊ฐ๋ฅ
-dateext : ๋ก๊ทธํ์ผ ํ์ฅ์๋ก ๋ ์ง๋ฅผ ๋ถ์ฌ์ ๋ณด๊ด
-compress, uncompress : ๋ก๊ทธํ์ผ ์์ถ, ์์ถ์ํจ
-size n : ์ง์ ํ ํฌ๊ธฐ๊ฐ ๋๋ฉด ๋ก๊ทธํ์ผ ์ํ
-include /etc/logrotate.d : ํด๋น ๋๋ ํฐ๋ฆฌ์ ์๋ ๊ฐ๋ณ ๋ฐ๋ชฌ, ํ๋ก์ธ์ค ์ค์ ํ์ผ ํฌํจ
'์ฌ๋ฌ๊ฐ์ง > ์ ๋ณด๋ณด์ ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [์ ๋ณด๋ณด์ ์ ๋ฆฌ] ์์คํ - UNIX/Linux ์๋ฒ ์ทจ์ฝ์ (0) | 2023.03.15 |
|---|---|
| [์ ๋ณด๋ณด์ ์ ๋ฆฌ] ์์คํ - ์์คํ ํดํน (0) | 2023.03.11 |
| [์ ๋ณด๋ณด์ ์ ๋ฆฌ] ์์คํ - UNIX/Linux ์์คํ ๊ด๋ฆฌ (0) | 2023.03.08 |
| [์ ๋ณด๋ณด์ ์ ๋ฆฌ] ์์คํ - UNIX/Linux ๊ธฐ๋ณธ ๋ฐ ๋ช ๋ น์ด (0) | 2023.03.03 |
| [์ ๋ณด๋ณด์ ์ ๋ฆฌ] ์์คํ - ์๋์ฐ (1) | 2023.03.02 |