Skip to content

Latest commit

ย 

History

History
789 lines (506 loc) ยท 26.3 KB

born2beroot.md

File metadata and controls

789 lines (506 loc) ยท 26.3 KB

1. General instructions

  • .vdi ํŒŒ์ผ์˜ signature๊ณผ ์ œ์ถœํ•œ signature๊ฐ€ ๋™์ผํ•œ๊ฐ€?

2. ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

1. ๊ฐ€์ƒ๋จธ์‹  ๋™์ž‘ ์›๋ฆฌ

๊ฐ€์ƒ๋จธ์‹ ์ด๋ž€?

์ปดํ“จํŒ… ํ™˜๊ฒฝ์„ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๊ตฌํ˜„ํ•œ ๊ฒƒ์œผ๋กœ, ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ๊ฐ€์ƒํ™”ํ•œ ๊ฒƒ์ด๋‹ค.

ํ•˜๋‚˜์˜ ๋ฌผ๋ฆฌ ์„œ๋ฒ„์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์šด์˜์ฒด์ œ๋ฅผ ๊ตฌ๋™ํ•  ์ˆ˜ ์žˆ๋„๋กํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค.

๋™์ž‘์›๋ฆฌ

virtual machine์€ Hypervisor ์œ„์—์„œ ์ž‘๋™ํ•œ๋‹ค.

Hypervisor๋Š” ํ•˜๋“œ์›จ์–ด์—์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ VM์„ ์ƒ์„ฑํ•˜๊ณ  ๊ตฌ๋™ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๋‹ค.

  • hypervisor ๋ถ„๋ฅ˜

    1. ํ˜ธ์ŠคํŠธํ˜• : ํ•˜๋“œ์›จ์–ด ์œ„์— ๋ฐ”๋กœ Hypervisor๊ฐ€ ์„ค์น˜๋˜๋Š” ํ˜•ํƒœ

    2. ๋„ค์ดํ‹ฐ๋ธŒํ˜• : ํ˜ธ์ŠคํŠธ ์šด์˜ ์ฒด์ œ ์œ„์— Hypervisor๊ฐ€ ์„ค์น˜๋˜๋Š” ํ˜•ํƒœ์ด๊ณ , ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” virtualbox์—ญ์‹œ Type 2์— ์†ํ•จ

Host์™€ Guest

Hypervisor๊ฐ€ ์„ค์น˜๋˜๋Š” ๋ฌผ๋ฆฌ ํ•˜๋“œ์›จ์–ด๋ฅผ Host, Hypervisor์—์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์—ฌ๋Ÿฌ VM์„ Guest๋ผ๊ณ  ํ•œ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ์˜ macOS์—์„œ ๋‹ค๋ฅธ OS์ธ Debian์„ ๊ตฌ๋™์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์ด์œ ๋„ Hypervisior ๋•๋ถ„์ด๋‹ค.

virtual machine์˜ ์žฅ์ 

  1. ๋น„์šฉ ์ ˆ๊ฐ

    ์—ฌ๋Ÿฌ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ํ•˜๋‚˜์˜ ์ธํ”„๋ผ(ํ•˜๋“œ์›จ์–ด)์—์„œ ์„ค์น˜ํ•˜๊ธฐ์— ๋ฌผ๋ฆฌ์  ์ธํ”„๋ผ ์„ค์น˜ ๊ณต๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ด ๋•Œ๋ฌธ์— ๋งŽ์€ ์„œ๋ฒ„๋ฅผ ์œ ์ง€ ๋ณด์ˆ˜ํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ณ  ๋งŽ์€ ์ „๋ ฅ์„ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†์–ด ๋น„์šฉ์„ ์ค„์ด๋Š” ๋ฐ ๋„์›€์ด ๋œ๋‹ค.

  2. ๊ฐ„ํŽธํ•จ + ์†๋„

    ์ƒˆ๋กœ์šด ํ™˜๊ฒฝ(OS)์„ ๊ตฌ๋™ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์ƒˆ ํ™˜๊ฒฝ ์ „์ฒด(๋ฌผ๋ฆฌ์  ์„œ๋ฒ„ ํฌํ•จ)๋ฅผ ์ค€๋น„ํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค ๋น ๋ฅด๊ณ  ๊ฐ„ํŽธํ•˜๋‹ค.

  3. downtime์˜ ์ตœ์†Œํ™”

    VM์€ ํ˜ธ์ŠคํŠธ๊ฐ€ ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ์ค‘๋‹จ๋  ๊ฒฝ์šฐ ๋‹ค๋ฅธ ๋ฌผ๋ฆฌ์  ์„œ๋ฒ„์˜ Hypervisor๋กœ ์ด์ „ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ์œ ์šฉํ•œ ๋ฐฑ์—… ๋Œ€์ฑ…์— ๋งˆ๋ จ๋˜์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.


2. ์„ ํƒํ•œ ์šด์˜์ฒด์ œ ๋ฐ CentOS์™€ Debian์˜ ์ฐจ์ด์ 

CentOS์™€ Debian์€ ๋ชจ๋‘ linux ์šด์˜์ฒด์ œ๋กœ, ์ปค๋„ + ์ž์œ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๊ตฌ์„ฑ๋œ ๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ์ด๋‹ค.

๋‘ OS์ฐจ์ด๋Š” ์ž์œ ์†Œํ”„ํŠธ์›จ์–ด(ํŒจํ‚ค์ง€ ํฌ๋งท, ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํˆด ๋“ฑ)์ด๋‹ค.

CentOS

- RHEL์—์„œ ์‚ฌํ›„ ๊ธฐ์ˆ ์ง€์›๊ณผ ์ƒํ‘œ๊ถŒ์„ ๋ฐฐ์ œํ•˜๊ณ  ์ œ์ž‘ํ•œ ์˜คํ”ˆ์†Œ์Šค์ด๋‹ค.
- ํŒจํ‚ค์ง€ ํฌ๋งท์œผ๋กœ .rpm ํ™•์žฅ์ž๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , yum/dnf์„ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํˆด๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
- ๋‹ค์–‘ํ•œ ์•„ํ‚ค์ฒต์ฒ˜๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.
- ์‰ฌ์šด GUI๊ฐ€ ์—†๋‹ค.
- ๊ธฐ์—…์šฉ ์„œ๋ฒ„์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

Debian

- debian project์—์„œ ์ œ์ž‘ํ•œ ์˜คํ”ˆ์†Œ์Šค์ด๋‹ค.
- ํŒจํ‚ค์ง€ ํฌ๋งท์œผ๋กœ .deb ํ™•์žฅ์ž๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , dpkg์™€ APT๋ฅผ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํˆด๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
- ๋งŽ์€ ํŒจํ‚ค์ง€๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ๊ฐ€ ๋งค์šฐ ํŽธํ•˜๋‹ค.
- ๋ฐ์Šคํฌํ†ฑ ์นœํ™”์ ์ธ GUI๊ฐ€ ์žˆ๋‹ค.

3. ๊ฐ€์ƒ๋จธ์‹ ์˜ ๋ชฉ์ 

  1. ํ•˜๋‚˜์˜ ํ•˜๋“œ์›จ์–ด์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ๋‘๊ฐœ ์ด์ƒ์˜ ์šด์˜์ฒด์ œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•จ

  2. ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ž์›์„ ๋…๋ฆฝ๋œ ํ™˜๊ฒฝ์œผ๋กœ ๋ถ„๋ฆฌ์‹œ์ผœ์„œ ๋ถ„๋ฐฐํ•˜๊ณ  ์‹ถ์„ ๋•Œ

  3. ํ•˜๋“œ์›จ์–ด์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ๋…๋ฆฝ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ณ  ์‹ถ์„ ๋•Œ

    ex)์•…์„ฑ์ฝ”๋“œ ๋ถ„์„ ์‹œ, ๊ฐ์—ผ ๋“ฑ์˜ ์˜ํ–ฅ ๋ฐฉ์ง€


4. aptitude์™€ apt์˜ ์ฐจ์ด์ (debian)

aptitude์™€ apt ๋ชจ๋‘ APT(Advanced Packaging Tool)์ด๋‹ค.

aptitude

- GUI์™€ CLI ๋ชจ๋‘ ์ œ๊ณตํ•œ๋‹ค.
- ์ฃผ์š” ํŒจํ‚ค์ง€ ์ž‘์—… ๊ณผ์ •์„ ์ž๋™ํ™”ํ•˜์—ฌ ๊ฐ€๋Šฅํ•œ ์‰ฝ๊ฒŒ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์คŒ
- apt-get์˜ command-line argument๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— apt-get์„ ์™„์ „ํžˆ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋‹ค.
- apt-get ์™ธ์— apt-chche, apt-mark์™€ ๊ฐ™์€ ํˆด๋„ ์ œ๊ณตํ•œ๋‹ค.

apt

- CLI๋งŒ ์ œ๊ณตํ•œ๋‹ค.
- ์‹ค์งˆ์ ์œผ๋กœ apt๋Š” dpkg์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•œ๋‹ค.
- ํ•˜์ง€๋งŒ, ํ•„์š”ํ•œ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฒ€์ƒ‰, ๋‹ค์šด๋กœ๋“œ, ์„ค์น˜, ์—…๊ทธ๋ ˆ์ด๋“œ, ๊ฒ€์‚ฌ ๋“ฑ ๋Œ€๋ถ€๋ถ„์˜ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž‘์—…์€ apt ๋‹จ๋…์œผ๋กœ ๊ฐ€๋Šฅ
- ์—ฌ๋Ÿฌ๊ฐ€์ง€ APT(cache, mark, get)์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์˜ต์…˜๋งŒ ์ถ”์ถœํ•˜์—ฌ ์‚ฌ์šฉ์ž๋“ค์ด ๋ณด๊ธฐ ํŽธํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“  ๊ฒƒ์ด๋‹ค.

5. APPArmor(Application Armor)๋Š” ๋ฌด์—‡์ธ๊ฐ€?

๋ฆฌ๋ˆ…์Šค ์ปค๋„์˜ ๋ณด์•ˆ ๋ชจ๋“ˆ๋กœ, ์˜คํ”ˆ ์†Œ์Šค์ด๊ณ , ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž๊ฐ€ ํ”„๋กœ๊ทธ๋žจ ํ”„๋กœํ•„ ๋ณ„๋กœ ํ”„๋กœ๊ทธ๋žจ์˜ ์—ญ๋Ÿ‰์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

ํŠน์ • ํ”„๋กœ๊ทธ๋žจ์—์„œ ํ•„์š”ํ•œ ๋ฆฌ๋ˆ…์Šค ๊ธฐ๋Šฅ, ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ ์—ฌ๋ถ€, ํŒŒ์ผ ๊ถŒํ•œ ๋“ฑ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๋Š” ์„ค์ •ํŒŒ์ผ๋กœ ๊ตฌ์„ฑํ•œ๋‹ค.

DAC

- ์ž„์˜์ ‘๊ทผ์ œ์–ด, Discretionary Access Control
- ์†Œ์œ ์ž๊ฐ€ ์‚ฌ์šฉ์ž ๋˜๋Š” ๊ทธ๋ฃน์ด ์ž์›์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ์กฐ์ ˆ

MAC

- ๊ฐ•์ œ์ ‘๊ทผ์ œ์–ด, Mandatory Access Control
- ์‚ฌ์šฉ์ž์—๊ฒŒ ์ •์˜๋œ ์ •์ฑ…์„ ํ™œ์šฉํ•ด ์‚ฌ์šฉ์ž์™€ ํ”„๋กœ์„ธ์Šค์˜ ํ–‰๋™์„ ์ œ์–ด

3. ๊ธฐ๋ณธ ์„ค์ •

Setup 1.

  • ๊ฐ€์ƒ๋จธ์‹  ๊ทธ๋ž˜ํ”ฝ ํ™˜๊ฒฝ ์—†๋Š”์ง€ ํ™•์ธ
  • ๊ฐ€์ƒ๋จธ์‹  ์—ฐ๊ฒฐ ์‹œ๋„ ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์š”๊ตฌํ•˜๋Š”์ง€ ํ™•์ธ
  • ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ policy์— ๋งž๋Š”์ง€? - ๊ธธ์ด 10์ž ์ด์ƒ, ๋Œ€๋ฌธ์ž, ์ˆซ์ž ํฌํ•จ, ๊ฐ™์€ ๋ฌธ์ž ์ตœ๋Œ€ 3๋ฒˆ

Setup 2.

  • UFW ์„œ๋น„์Šค๊ฐ€ ์‹œ์ž‘๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
$ sudo ufw status (verbose)

Setup 3.

  • SSH ์„œ๋น„์Šค๊ฐ€ ์‹œ์ž‘๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
$ systemctl status ssh

Setup 4.

  • OS๊ฐ€ Debian์ธ๊ฐ€?
$ uname -a

4. ์‚ฌ์šฉ์ž

  • ์œ ์ €๊ฐ€ ์ž˜ ์ถ”๊ฐ€๋˜์—ˆ๋Š”์ง€ ํ™•์ธ. ์ด๋•Œ, ์œ ์ €๊ฐ€ sudo์™€ user42 ๊ทธ๋ฃน์— ์†ํ•˜๋Š”์ง€ ํ™•์ธ
$ groups
// or
$ getent group sudo user42
// or
$ id
  • ์ƒˆ๋กœ์šด ์œ ์ € ์ƒ์„ฑ ํ›„ ํ‰๊ฐ€์ž๊ฐ€ password policy์— ๋งž๋Š” password๋ฅผ ๋งŒ๋“  ๋’ค, password policy์˜ ์„ค์ • ๋ฐฉ๋ฒ• ์„ค๋ช…ํ•˜๊ธฐ

    adduser

      - ์ด๊ฑด home ๋””๋ ‰ํ† ๋ฆฌ์— username์˜ ํด๋”๊ฐ€ ์ƒ๊ฒจ๋ฒ„๋ฆผ
      - ๊ทธ๋ฃน์— ๋‹ค ํฌํ•จ๋จ
    

    useradd

      - ์ด๊ฑฐ๋Š” ๊ทธ๋ƒฅ ์‚ฌ์šฉ์ž๊ฐ€ ์ƒ์„ฑ๋จ
      - ์ €์ˆ˜์ค€์˜ ์‚ฌ์šฉ์ž ์ถ”๊ฐ€
    
1. ์ƒˆ๋กœ์šด ์œ ์ € ์ƒ์„ฑํ•˜๊ธฐ
$ sudo adduser <Nusername>
2. ์ œ์‹œ๋œ ๊ทœ์น™์— ๋งž๊ฒŒ ์ž„์˜๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋งŒ๋“ฆ
3. ํ”ผํ‰๊ฐ€์ž๋Š” ๊ณผ์ œ์— ์ œ์‹œ๋œ ๊ทœ์น™์„ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ–ˆ๋Š”์ง€ ์„ค๋ช…ํ•จ

$ sudo vi /etc/login.defs
 
PASS_MAX_DAYS 30 // 30์ผ ํ›„ ๋งŒ๋ฃŒ
PASS_MIN_DAYS 2  // ์ตœ์†Œ ์‚ฌ์šฉ๊ธฐ๊ฐ„ 2์ผ
PASS_WARN_AGE 7  // 7์ผ์ „์— ๊ฒฝ๊ณ  ๋ณด๋‚ด๊ธฐ
$ sudo apt install libpam-pwquality // ํŒจํ‚ค์ง€ ์„ค์น˜

$ sudo vi /etc/pam.d/common-password // ์ด ํŒŒ์ผ์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ •์ฑ… ์ˆ˜์ •

/// common-password ํŒŒ์ผ ์ˆ˜์ •

retry=3   // ์•”ํ˜ธ ์žฌ์ž…๋ ฅ์€ ์ตœ๋Œ€ 3ํšŒ๊นŒ์ง€
minlen=10 // ์ตœ์†Œ ๊ธธ์ด 10
difok=7   // ๊ธฐ์กด ํŒจ์Šค์›Œ๋“œ์™€ ๋‹ฌ๋ผ์•ผ ํ•˜๋Š” ๋ฌธ์ž ์ˆ˜ 7
maxrepeat=3 // ๊ฐ™์€ ๋ฌธ์ž ์—ฐ์†ํ•ด์„œ 3๊ธ€์ž ์‚ฌ์šฉx
ucredit=-1  // ๋Œ€๋ฌธ์ž ํ•œ๊ฐœ ์ด์ƒ ํฌํ•จ
lcredit=-1  // ์†Œ๋ฌธ์ž ํ•œ๊ฐœ ์ด์ƒ ํฌํ•จ
dcredit=-1  // digit ํ•œ๊ฐœ ์ด์ƒ ํฌํ•จ
reject_username // username์ด ๊ทธ๋Œ€๋กœ ํ˜น์€ reversed ๋œ ๋ฌธ์ž๋Š” ํŒจ์Šค์›Œ๋“œ๋กœ ์‚ฌ์šฉ ๋ถˆ๊ฐ€
enforce_for_root // root ๊ณ„์ •๋„ ์œ„์˜ ์ •์ฑ…๋“ค ์ ์šฉ

๋น„๋ฐ€๋ฒˆํ˜ธ ์ •์ฑ…์€ ์ •์ฑ…์ด ๋ณ€๊ฒฝ๋œ ์ดํ›„ ์ƒ์„ฑ๋œ ๊ณ„์ •๋ถ€ํ„ฐ ์ ์šฉ๋œ๋‹ค. ๊ธฐ์กด ๊ณ„์ •๋“ค์— ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋งŒ๋ฃŒ์‹œ์ผœ๋ฒ„๋ฆฐ๋‹ค.

$ passwd -e [username]  //passwd -e (expire) ๋น„๋ฐ€๋ฒˆํ˜ธ ๋งŒ๋ฃŒ ์˜ต์…˜.

/etc/login.defs ๋‚ด์šฉ๋„ ๊ธฐ์กด ๊ณ„์ •๋“ค์€ ๋”ฐ๋กœ ์ ์šฉํ•ด์ค˜์•ผ ํ•œ๋‹ค.

$ sudo chage -m 2 -M 30 -W 7 [username]  #-m MIN_DAYS -M MAX_DAYS -W WARN_DAYS
  • enforce_for_root์˜ ์•”ํ˜ธ ์ •์ฑ… -> root ๊ณ„์ • ์ ์šฉ ์‹œ?

    enforce_for_root๋Š” ์•”ํ˜ธ ์ •์ฑ…์„ root ๊ณ„์ •์—๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ๋œ๋‹ค๋Š” ๋‚ด์šฉ์ธ๋ฐ๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์ง์ „ ๋น„๋ฐ€๋ฒˆํ˜ธ 7์ž ๊ทœ์ •์€ ์ ์šฉ ์•ˆ๋จ

    ๊ทธ ์ด์œ ๋Š” root ๊ณ„์ •์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ์‹œ์—๋Š” ์ง์ „ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ

  • ์ƒˆ๋กœ์šด ์œ ์ €๊ฐ€ ์ถ”๊ฐ€๋œ ์ƒํƒœ์—์„œ evaluating์ด๋ผ๋Š” ๊ทธ๋ฃน์„ ๋งŒ๋“  ํ›„, ํ•ด๋‹น ๊ทธ๋ฃน์— ์ƒˆ ์œ ์ € ์ถ”๊ฐ€

$ sudo groupadd evaluating
$ sudo usermod -aG evaluating <NEW_USER>

// `-G` โ‡’ user๊ฐ€ ๋ช…์‹œ๋œ ๊ทธ๋ฃน์—๋งŒ ์†ํ•˜๊ฒŒ ๋œ๋‹ค.
// `-Ga` โ‡’ user๊ฐ€ ๊ธฐ์กด์— ์†ํ•ด์ ธ ์žˆ๋˜ ๊ทธ๋ฃน + ๋ช…์‹œ๋œ ๊ทธ๋ฃน์— ์†ํ•˜๊ฒŒ ๋œ๋‹ค.
  • password policy์˜ ์žฅ์ ๊ณผ ๋‹จ์ 

    ์žฅ์  : ๋ณด์•ˆ์ด ํ–ฅ์ƒ๋œ๋‹ค.

    ๋‹จ์  : policy๊ฐ€ ๋„ˆ๋ฌด ์–ด๋ ค์šธ ๊ฒฝ์šฐ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž์ฃผ ๊นŒ๋จน์„ ์ˆ˜ ์žˆ๋‹ค.


5. ํ˜ธ์ŠคํŠธ๋ช…๊ณผ ํŒŒํ‹ฐ์…˜๋“ค

  • ์ด ๊ฐ€์ƒ๋จธ์‹ ์˜ ํ˜ธ์ŠคํŠธ๋ช…์ด yerilee42์ธ์ง€ ํ™•์ธ
$ hostnamectl
  • ๋กœ๊ทธ์ธ ํ›„, ์›๋ž˜์˜ ํ˜ธ์ŠคํŠธ ๋ช…์„ ๋ณ€๊ฒฝ ํ›„ restart ํ•˜๊ธฐ โ†’ ์—…๋ฐ์ดํŠธ ํ™•์ธ
$ sudo hostnamectl set-hostname <๋ณ€๊ฒฝํ•  ์ด๋ฆ„>
$ sudo reboot
  • ์›๋ž˜ ์ด๋ฆ„์œผ๋กœ ๋ณต์›ํ•˜๊ธฐ
$ sudo hostnamectl set-hostname <yerilee42>
$ sudo reboot
$ lsblk
  • LVM์— ๊ด€ํ•ด ์„ค๋ช…ํ•˜๊ธฐ (์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€, ๋ฌด์—‡์— ๊ด€ํ•œ ๊ฒƒ์ธ์ง€)

    Logical Volume Manager์˜ ์•ฝ์ž๋กœ, ๋…ผ๋ฆฌ์  ๋ณผ๋ฅจ์„ ๊ด€๋ฆฌํ•˜๋Š” ์ปค๋„์˜ ์ผ๋ถ€์ด์ž ํ”„๋กœ๊ทธ๋žจ
    ํŒŒํ‹ฐ์…˜์ด๋ž€ ๋””์Šคํฌ๋ฅผ ์›ํ•˜๋Š” ํฌ๊ธฐ๋กœ ์กฐ๊ฐ๋‚ด์–ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ๋ฐ, ์‚ฌ์šฉํ•˜๊ธฐ์— ์• ๋งคํ•œ ์—ฌ๋ถ„์˜ ํŒŒํ‹ฐ์…˜๋“ค์„ ํ•ฉ์ณ์„œ ํ•˜๋‚˜์˜ ๊ณต๊ฐ„์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ฒƒ
    
    LVM์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
    1. ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ํ•ฉ์ณ์„œ ํ•˜๋‚˜์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด
    2. ์‚ฌ์šฉํ•˜๊ธฐ ์• ๋งคํ•œ ๊ณต๊ฐ„์˜ ํŒŒํ‹ฐ์…˜๋“ค์„ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด
    3. ๊ธฐ์กด์— ์‚ฌ์šฉ ์ค‘์ธ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•ด
    

ํ•˜๋“œ๋””์Šคํฌ์— ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•  ๋•Œ

  1. ์ถ”๊ฐ€ ๋””์Šคํฌ ์žฅ์ฐฉ โ†’ ๋ฐฑ์—…
    1. 9G/10G์—์„œ ์ถ”๊ฐ€๋กœ 30G ์žฅ์ฐฉํ–ˆ๋‹ค๋ฉด
    2. 9G๋‚ด์šฉ์„ ๋ฐฑ์—…ํ•ด์„œ 30G์— ๋„ฃ๊ณ  ๊ธฐ์กด ๋””์Šคํฌ ํ•ด์ œ
    3. ๊ฐœ์ธ ์ปดํ“จํ„ฐ๋Š” ๋ฌธ์ œ ์—†์ง€๋งŒ, ์„œ๋ฒ„ ์ปดํ“จํ„ฐ๋Š” ๋‹ค๋ฃจ๋Š” ๋ฐ์ดํ„ฐ ์–‘์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฑ์—…๋ณด๋‹ค๋Š” ์ถ”๊ฐ€๋””์Šคํฌ ์žฅ์ฐฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํƒํ•จ
  2. ์ถ”๊ฐ€ ๋””์Šคํฌ ์žฅ์ฐฉ โ†’ lvm
    1. ์ถ”๊ฐ€๋กœ 10g, 20g๋ฅผ ์žฅ์ฐฉํ–ˆ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ๊ธฐ์กด์˜ 9G/10G๊ฐ€ 9G/40G์ด ๋˜์ง„ ์•Š์Œ
    2. ์ด๋ฅผ ๋„์™€์ฃผ๋Š” ๊ฒŒ lvm!! ํ•˜๋“œ๋””์Šคํฌ๋ฅผ pe๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ์ด๋ฅผ ์กฐํ•ฉํ•ด์„œ lv๋ฅผ ๋งŒ๋“ค๊ณ  ์ด๋ฅผ ๋””๋ ‰ํ† ๋ฆฌ์— ์žฅ์ฐฉํ•จ

LVM์˜ ํŽธ๋ฆฌํ•จ

  • LVM์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์—, ๊ฐ๊ฐ์˜ ๋ณผ๋ฅจ ๊ทธ๋ฃน์ด ๋ชจ๋‘ ์ฐผ๋Š”๋ฐ ์šฉ๋Ÿ‰์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ, ์ถ”๊ฐ€ ๋””์Šคํฌ(๋ฌผ๋ฆฌ)๋ฅผ ์žฅ์ฐฉํ•˜์—ฌ, ์ƒˆ๋กœ์šด ๋งˆ์šดํŠธ ํฌ์ธํŠธ๋ฅผ ๋งŒ๋“ค๊ณ , ์ถ”๊ฐ€ํ•œ ๋””์Šคํฌ์— ํŒŒํ‹ฐ์…˜์„ ์ƒ์„ฑํ•˜๊ณ  ํฌ๋ฉงํ•˜์—ฌ ๋งˆ์šดํŠธํ•˜๊ณ , ๊ธฐ์กด ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•œ ํ›„์— ๊ธฐ์กด ๋‚ด์šฉ ์–ธ๋งˆ์šดํŠธ ํ›„ ์ƒˆ ํŒŒํ‹ฐ์…˜์„ ๊ธฐ์กด์˜ ํŒŒํ‹ฐ์…˜์— ๋งˆ์šดํŠธ ํ•ด์•ผํ–ˆ์ง€๋งŒ,

  • LVM์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ถ”๊ฐ€๋œ ๋””์Šคํฌ์— ์ƒˆ๋กœ์šดย PVย ๋ฅผ ์ƒ์„ฑํ•˜๊ณ ,ย VGย ์— ์ถ”๊ฐ€ ํ›„, ๊ธฐ์กด์˜ย VGย ์˜ย LVย ์‚ฌ์ด์ฆˆ๋งŒ ํ‚ค์›Œ์ฃผ๋ฉด ๋œ๋‹ค. โ†’ ํ›จ์”ฌ ๊ฐ„ํŽธ

[์†Œ๊ฐœ] LVM(Logical Volume Manager) - ๊ฐœ๋…


LVM ์ž‘๋™ ๋ฐฉ์‹

  1. ํ•˜๋“œ ๋””์Šคํฌ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ๋กœ ๋‚˜๋ˆ„์–ด partition์„ ์„ค์ •ํ•œ๋‹ค.

  2. ๊ฐ parition์„ LVM์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ฌผ๋ฆฌ๋ณผ๋ฅจ(PV)์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค.

  3. ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฌผ๋ฆฌ๋ณผ๋ฅจ(PV)์„ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ๋ณผ๋ฅจ๊ทธ๋ฃน(VG)์œผ๋กœ ๋งŒ๋“ ๋‹ค.

  4. ๊ฐ€์ƒ์˜ partitions์ฒ˜๋Ÿผ ๋ฌผ๋ฆฌ๊ทธ๋ฃน(PG)์„ ๋‚˜๋ˆ„์–ด ํ• ๋‹น ํ•œ ๊ฒƒ์ด ๋…ผ๋ฆฌ๋ถˆ๋ฅจ(LV)์ด๋‹ค.

  5. ๋…ผ๋ฆฌ๋ณผ๋ฅจ(LV)์„ ์ƒˆ ํŒŒ์ผ์‹œ์Šคํ…œ(๋งˆ์šดํŠธ ํฌ์ธํŠธ)๊ณผ 1๋Œ€ 1๋กœ ๋งˆ์šดํŠธ(์—ฐ๊ฒฐ)ํ•œ๋‹ค.

    • ๋ฌผ๋ฆฌ์  ๋ฒ”์œ„(PE) : LVM์ด ๋ฌผ๋ฆฌ๋ณผ๋ฅจ(PV)์„ ๊ฐ€๋ฆฌํ‚ค๋Š”ย ๋‹จ์œ„๋กœย ๊ธฐ๋ณธ ๋‹จ์œ„๋Š” 4MB

    • ๋…ผ๋ฆฌ์  ๋ฒ”์œ„(PE) : LVM์ด ๋…ผ๋ฆฌ๋ถˆ๋ฅจ(LV)์„ ๊ฐ€๋ฆฌํ‚ค๋Š”ย ๋‹จ์œ„๋กœย ๊ธฐ๋ณธ ๋‹จ์œ„๋Š” 4MB

    • ํŒŒ์ผ์‹œ์Šคํ…œ : ํŒŒ์ผ์ด๋‚˜ย ์ž๋ฃŒ๋ฅผ ์‰ฝ๊ฒŒ ๋ฐœ๊ฒฌ ๋ฐ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณด๊ด€ ๋˜๋Š” ์กฐ์งํ•˜๋Š” ์ฒด์ œ

    ํŒŒ์ผ ์‹œ์Šคํ…œ ๋งˆ์šดํŠธ

    [ ๊ธฐ๋ณธ์ •๋ฆฌ ] ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ๋””๋ ‰ํ† ๋ฆฌ ๊ณ„์ธต ๊ตฌ์กฐ

    [Linux] ํŒŒ์ผ ์‹œ์Šคํ…œ


6. SUDO

sudo

  • ์œ ๋‹‰์Šค ๋ฐ ์œ ๋‹‰์Šค ๊ณ„์—ด ์šด์˜์ฒด์ œ์—์„œ, ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ๋ณด์•ˆ ๊ถŒํ•œ, ๋ณดํ†ต ์Šˆํผ์œ ์ €๋กœ์„œ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ
  • superuser do์—์„œ ์œ ๋ž˜
  • sudo (๋ช…๋ น์–ด) ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๊ฐ€ root๊ถŒํ•œ์„ ์ž ์‹œ ๋นŒ๋ ค ๋ช…๋ น์„ ์‹คํ–‰
  • su (๊ณ„์ •๋ช…) ํ˜„์žฌ ์‚ฌ์šฉ์ž๋ฅผ ๋กœ๊ทธ์•„์›ƒํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ๊ณ„์ •์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๋ช…๋ น์–ด
  • su - (๊ณ„์ •๋ช…) ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ๊ณ„์ •์œผ๋กœ ์™„์ „ํžˆ ์ „ํ™˜ํ•˜๊ณ , ์ „ํ™˜ํ•œ ์‚ฌ์šฉ์ž์˜ ํ™˜๊ฒฝ์„ค์ •์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ช…๋ น์–ด

sudo ๋ช…๋ น์–ด ์‚ฌ์šฉ์ด์œ 

  • root๋Š” ๋ฌดํ•œ๋Œ€์˜ ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ โ‡’ ์นจ์ž…์ž๋“ค์€ root ๊ถŒํ•œ ์–ป์–ด๋‚ด๋Š”๊ฒŒ ์ตœ์šฐ์„ 
  • root์˜ ๊ถŒํ•œ์€ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž, ์‹œ์Šคํ…œ์ปค๋„ ์ž์ฒด, ์„œ๋น„์Šค ๋ฐ๋ชฌ์˜ ๋Œ€๊ฐœ ์„ธ๊ฐ€์ง€ ๊ฒฝ์šฐ๋กœ ํ•œ์ •

su ๋Œ€์‹  sudo์˜ ์žฅ์ 

  1. ์‹œ์Šคํ…œ ์นจ์ž…์ž๊ฐ€ sudo๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด sudoers์— ์ž์‹ ์ด ๋…ธ์ถœ๋˜๊ธฐ์— ์นจ์ž…์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.
  2. root ๊ณ„์ •์— ์žฅ์‹œ๊ฐ„ ๋จธ๋ฌด๋ฅผ ์ผ์ด ์—†์–ด์ ธ์„œ ์œ„ํ—˜ํ•œ command๋ฅผ ์‹คํ–‰ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์•„์ง„๋‹ค.
  3. sudo ์‚ฌ์šฉ ์‹œ์—๋Š” log๊ฐ€ ๋‚จ์•„ ์ถ”์ ์ด ์‰ฝ๋‹ค. ๐Ÿ’ก root ๊ณ„์ •์—์„œ ์ž‘์—…ํ•˜๋ฉด log๊ฐ€ ๋‚จ์ง€ ์•Š๋Š”๋‹ค
  4. root์˜ password๋ฅผ ํƒ€์ธ๊ณผ ๊ณต์œ ํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ธฐ์— ํšจ์œจ์ (์žฆ์€ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ X, ์™ธ๋ถ€๋กœ์˜ ๋…ธ์ถœ X)์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

  • sudo ํ”„๋กœ๊ทธ๋žจ์ด ๊ฐ€์ƒ๋จธ์‹ ์— ์ œ๋Œ€๋กœ ์„ค์น˜๋˜์–ด์žˆ๋Š”์ง€ ์ฒดํฌ
$ sudo --version
  • ์ƒˆ user๋ฅผ sudo ๊ทธ๋ฃน์— ํ• ๋‹นํ•˜๊ธฐ
$ sudo usermod -aG sudo <์‚ฌ์šฉ์ž์ด๋ฆ„>
$ id <์‚ฌ์šฉ์ž์ด๋ฆ„>
  • sudo์˜ ๋ชฉ์ ๊ณผ ๋™์ž‘
sudo visudo : sudo ์„ค์ •ํŒŒ์ผ ํŽธ์ง‘ -> ๋ฌธ๋ฒ• ์ฒดํฌ๋„ ํ•จ

/*
	**visudo**
	/etc/sudoers ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค.
	/etc/sudoers ํŒŒ์ผ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์“ฐ๊ธฐ ๊ถŒํ•œ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์—
	๊ธฐ์กด์— ์žˆ๋Š” ๋ฆฌ๋ˆ…์Šค ํŽธ์ง‘๊ธฐ์ธ 'vi'๋‚˜ 'nano'๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ 
	visudo ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
*/
# secure_path ๋์— :/snap/bin ์ถ”๊ฐ€  

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

/*
	๋ณด์•ˆ์„ ์œ„ํ•ด secure_path(sudo๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ)๋ฅผ ์ œํ•œํ•˜๋ผ
	`secure_path` : ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด `sudo`๊ฐ€ ์‹คํ–‰ํ•  ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ฐพ๋Š” ๊ฒฝ๋กœ
	`/A:/B` : A์— ์—†์œผ๋ฉด B์—์„œ ์ฐพ์•„๋ผ
*/

# ๋‹ค์Œ ์„ค์ • ์ถ”๊ฐ€

Defaults        passwd_tries=3 
Defaults        authfail_message="Authentication faliure!"
Defaults        badpass_message="Password is wrong!"
Defaults        iolog_dir="/var/log/sudo"
Defaults        log_input
Defaults        log_output
Defaults        requiretty

// ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” password์ธ ๊ฒฝ์šฐ ์ž…๋ ฅ์€ 3ํšŒ๋กœ ์ œํ•œํ•˜๋ผ
// Authentication ํš๋“ ์‹คํŒจ ์‹œ ์ถœ๋ ฅ๋˜๋Š” error ๋ฉ”์‹œ์ง€
// password๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ถœ๋ ฅ๋˜๋Š” error ๋ฉ”์‹œ์ง€
// log(input, output)์˜ ์ €์žฅ์„ ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์— ํ•˜๋ผ
// sudo ๋ช…๋ น์–ด ์‹คํ–‰ ์‹œ ์ž…๋ ฅ๋œ ๋ช…๋ น์–ด๋ฅผ iolog_dir์— log๋กœ ์ €์žฅํ•˜๋ผ
// sudo ๋ช…๋ น์–ด ์‹คํ–‰ ์‹œ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ iolog_dir์— log๋กœ ์ €์žฅํ•˜๋ผ
// ์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์ œ tty๋กœ ๋กœ๊ทธ์ธํ•œ ๊ฒฝ์šฐ์—๋งŒ ์‹คํ–‰์„ ํ—ˆ์šฉ

  • "/var/log/sudo/" ํด๋”๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€, ์ตœ์†Œ ํ•œ๊ฐœ ์ด์ƒ์˜ log ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ
$ sudo ls /var/log/sudo
  • ํŒŒ์ผ์˜ ๋‚ด๋ถ€์—๋Š” sudo์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ ๋ช…๋ น์–ด๋“ค์˜ ๊ธฐ๋ก์ด ์กด์žฌํ•ด์•ผ ํ•จ

    ๊ทธ๋ฆฌ๊ณ  sudo ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉ ํ›„ log ํŒŒ์ผ์ด ์—…๋ฐ์ดํŠธ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ

  • logํŒŒ์ผ์€ /var/log/sudo/00/00์— ๋ช…๋ น์–ด๋‹น ํ•œ ํด๋”์”ฉ ์ƒ์„ฑ๋˜์–ด ์ €์žฅ๋œ๋‹ค.

    • log - sudo ๋ช…๋ น์–ด ์‹คํ–‰ ์œ„์น˜๊ฐ€ ์ €์žฅ๋œ๋‹ค.
    • stderr - ํ‘œ์ค€ ์—๋Ÿฌ ๋ฐœ์ƒ์‹œ ๊ธฐ๋ก๋œ๋‹ค.
    • stdin, stdout - ํ‘œ์ค€ ์ž…์ถœ๋ ฅ ๋ฐœ์ƒ์‹œ ๊ธฐ๋ก๋œ๋‹ค.
    • ttyin, ttyout - tty ์ž…์ถœ๋ ฅ ๋ฐœ์ƒ์‹œ ๊ธฐ๋ก๋œ๋‹ค.
    • timing - ๋ช…๋ น์–ด ์‹คํ–‰์‹œ๊ฐ„๊ณผ ๊ด€๋ จ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.
$ sudo apt update
$ sudo ls /var/log/sudo/00/00

7. UFW

UFW ( Uncomplicated Firewall )

  • ๋ฐ๋น„์•ˆ ๊ณ„์—ด์„ ๋น„๋กฏํ•œ ์—ฌ๋Ÿฌ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ์ž‘๋™ํ•˜๋Š” ๋ฐฉํ™”๋ฒฝ ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ

  • ๋‹จ์ˆœํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด ๋ช…๋ น์–ด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Œ


UFW ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

  • ๋Œ€ํ‘œ์ ์œผ๋กœ ์™ธ๋ถ€ ์นจ์ž…์ž๊ฐ€ ๋‚ด๋ถ€ network์— ์นจ์ž…ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ UFW๋ฅผ ์‚ฌ์šฉํ•จ

  • Linux ์ปค๋„์€ ์„œ๋ฒ„์— ๋Œ€ํ•œ client์˜ ๋„คํŠธ์›Œํฌ ์ ‘์†์„ ์ œ์–ดํ•˜๋Š” netfilter Module์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ.ย netfilter๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ filtering์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ, ์ด๊ฒƒ์„ ์ด์šฉํ•˜์—ฌย ์„œ๋ฒ„ย ์ ‘์†์— ๋Œ€ํ•œย network policy๋ฅผ ์„ธ์šฐ๋Š”ย ํ”„๋กœ๊ทธ๋žจ์ด ๋ฐ”๋กœย Firewall(๋ฐฉํ™”๋ฒฝ)์ž„

  • ํŠนํžˆ ๋ฆฌ๋ˆ…์Šค์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํ•„ํ„ฐ๋Š” iptables ์ด๊ณ , iptables์˜ ์ž‘์—…์„ ๊ฐ„ํŽธํ™” ํ•ด์ฃผ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋ฐ”๋กœ UFW(Uncomplicated FireWall)์ž„


  • UFW์˜ ์„ค์น˜ ์—ฌ๋ถ€ ํ™•์ธ
$ sudo ufw --version
  • UFW์˜ ์ž‘๋™ ์—ฌ๋ถ€ ํ™•์ธ
$ sudo ufw status (verbose)
  • UFW์˜ ํ™œ์„ฑ๋œ ๊ทœ์น™๋“ค์„ ๋‚˜์—ดํ•˜์„ธ์š”, 4242 ํฌํŠธ์— ๋Œ€ํ•œ ๊ทœ์น™๋„ ์žˆ์–ด์•ผ ํ•จ
$ sudo cat /etc/ufw/user.rules
  • 8080 ํฌํŠธ๋ฅผ ์—ด๊ธฐ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๊ทœ์น™์„ ์ถ”๊ฐ€ & ์ž˜ ์ถ”๊ฐ€๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
$ sudo ufw allow 8080
$ sudo cat /etc/ufw/user.rules
  • ์ƒˆ๋กœ์šด ๊ทœ์น™์„ ์‚ญ์ œ
$ sudo ufw status numbered
$ sudo ufw delete <NUMBER>

---------------------------

$ sudo ufw delete allow 8080

8. SSH

SSH ( Secure Shell Protocol)

  • ์ธํ„ฐ๋„ท๊ณผ ๊ฐ™์€ public Network๋ฅผ ํ†ตํ•ด ์ปดํ“จํ„ฐ๊ฐ„์˜ ํ†ต์‹ ์„ ํ•  ๋•Œ, ๋ณด๋‹ค ์•ˆ์ „ํ•˜๊ฒŒ ํ†ต์‹ ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ ์ฃผ๋กœ ์›๊ฒฉ ์ œ์–ด๋ฅผ ํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉ๋จ

SSH ์žฅ์ 

  • SSH๋Š” ์›๊ฒฉ์œผ๋กœ ํ˜ธ์ŠคํŠธ(Shell)์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ๋กœ, ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ์•”ํ˜ธํ™”๊ฐ€ ๋ณด์žฅ๋จ
  • SSH๋Š” ํ•œ ์Œ์˜ key(public key/private key)๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™”ํ•˜๋Š”๋ฐ private key๋Š” ํด๋ผ์ด์–ธํŠธ, public key๋Š” ํ˜ธ์ŠคํŠธ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•จ -> ์ด๋•Œ๋ฌธ์— ์—ฐ๊ฒฐ์‹œ fingerprint ์ƒ์„ฑ ์—ฌ๋ถ€๋ฅผ ๋ฌผ์Œ
  • SSH๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ณด์•ˆ๋•Œ๋ฌธ์ž„


๐Ÿ’ก SSH ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ํฌํŠธํฌ์›Œ๋”ฉ์ด ํ•„์š”ํ•˜๋‹ค

ํฌํŠธํฌ์›Œ๋”ฉ

  • ํฌํŠธํฌ์›Œ๋”ฉ(Port forwarding)์€ ๊ฐ„๋‹จํžˆ ๋งํ•ด ํฌํŠธ(Port)๋ฅผ ์ „๋‹ฌ(Forwarding)ํ•ด์ฃผ๋Š” ๊ฒƒ
  • ํŠน์ •ํ•œ ํฌํŠธ๋กœ ๋“ค์–ด์˜ค๋Š” ๋ฐ์ดํ„ฐ ํŒจํ‚ท์„ ๋‹ค๋ฅธ ํฌํŠธ๋กœ ๋ฐ”๊ฟ”์„œ ๋‹ค์‹œ ์ „์†กํ•ด์ฃผ๋Š” ์ž‘์—…

ํฌํŠธํฌ์›Œ๋”ฉ์˜ ํ•„์š”์„ฑ

๋‚˜๋งŒ์˜ ์›น์„œ๋ฒ„๋ฅผย **๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ**์— ๊ตฌ์ถ•ํ•˜๊ณ  ์‹ถ์–ด์„œ

**Virtual Machine**์—ย **๋ฆฌ๋ˆ…์Šค**๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์ด ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—ย **์›น์„œ๋ฒ„**๋ฅผ ์„ค์น˜ํ•˜์˜€๋‹ค.

(์›น์„œ๋ฒ„๋Š” Nginx ํฌํŠธ๋Š” 80๋ฒˆ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•œ๋‹ค)

์›น์„œ๋ฒ„ ์„ค์น˜๋ฅผ ์™„๋ฃŒํ•˜๊ณ  ์ž˜ ์ ‘์†์ด ๋˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด์„œ

์‹ค์ œ OSํ™˜๊ฒฝ(Windows)์— ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋„์šฐ๊ณ  ์ฃผ์†Œ์ฐฝ์— [http://localhost](http://localhost/) ๋ฅผ ์ž…๋ ฅํ•ด๋ณด์ง€๋งŒ..?ย **์ ‘์† x**

Why? ๊ฐ€์ƒํ™˜๊ฒฝ์—์„œ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ์™€ ์‹ค์ œ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

(์‹ค์ œ ์›น์„œ๋ฒ„๋Š” VM์— ์„ค์น˜๋˜์žˆ์ง€๋งŒ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์‹ค์ œ ๋จธ์‹  ์ฃผ์†Œ๋กœ ์ ‘๊ทผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ ‘์†์ด ์•ˆ๋œ๋‹ค)

๋”ฐ๋ผ์„œ, ์•„๋ž˜์™€ ๊ฐ™์ด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋‚ด localhost ์ฃผ์†Œ๋กœ ์ ‘์† ํ–ˆ์„ ๋•Œ ์‹ค์ œ ๋จธ์‹ ์ด ์•„๋‹Œ Virtual Machine์œผ๋กœ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ์–ด์•ผ ํ•œ๋‹ค.


์ด ์˜ˆ์ œ์— ํ•œํ•ด์„œ, ์œ„์™€ ๊ฐ™์ด 80๋ฒˆ ํฌํŠธ๋ฅผ ํ†ตํ•ดย ๋‚ด ๋จธ์‹ ์— ์ ‘์† ํ–ˆ์„ ๋•Œ

Virtual Machine์œผ๋กœ ์—ฐ๊ฒฐ์‹œํ‚ค๋Š” ๊ณผ์ •์„ ์‰ฝ๊ฒŒ ๋งํ•ด์„œย ํฌํŠธ ํฌ์›Œ๋”ฉ์ด๋ผ ํ•œ๋‹ค.

  • SSH์˜ ์„ค์น˜ ์—ฌ๋ถ€ ํ™•์ธ
$ sudo ssh -V
  • SSH์˜ ์ž‘๋™ ์—ฌ๋ถ€ ํ™•์ธ
$ systemctl status ssh
  • SSH ์„œ๋น„์Šค๊ฐ€ 4242ํฌํŠธ๋งŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ํ™•์ธ
$ sudo vi /etc/ssh/sshd_config

๐Ÿ’ก sshd_config โ‡’ server ์ธก ์„ค์ •
๐Ÿ’ก ssh_config โ‡’ client ์ธก ์„ค์ •
  • SSH๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ์šด ์œ ์ €์— ๋กœ๊ทธ์ธ ํ•˜๊ธฐ & ๊ทธ๋ฆฌ๊ณ  SSH๋กœ root์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†์–ด์•ผ ํ•จ
    • terminal์—์„œ ssh ์ ‘์†

      $ ssh <NEW_USER>@<MAC_IP> -p <HOST_PORT>
      $ ssh yerilee@127.0.0.1 -p 4242
    • ssh๋กœ root ๊ณ„์ • ์™ธ user๋กœ ๋กœ๊ทธ์ธ ( ๋ณด์•ˆ ์ƒ ssh๋กœ root ๊ณ„์ •์œผ๋กœ๋Š” ๋ฐ”๋กœ ์ ‘์† ๋ถˆ๊ฐ€๋Šฅ ํ•˜๋„๋ก ์„ค์ • )

      $ cat /etc/ssh/sshd_config | grep "PermitRootLogin"

9. Script monitoring

  • ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ

    monitoring.sh

    1. ์šด์˜ ์ฒด์ œ ๋ฐ ํ•ด๋‹น ์ปค๋„ ๋ฒ„์ „์˜ ์•„ํ‚คํ…์ฒ˜
    2. ๋ฌผ๋ฆฌ์  ํ”„๋กœ์„ธ์„œ์˜ ์ˆ˜ # ์ฝ”์–ด๋ผ๊ณ  ์ƒ๊ฐ๋จ
    3. ๊ฐ€์ƒ ํ”„๋กœ์„ธ์„œ์˜ ์ˆ˜
    4. ์„œ๋ฒ„์—์„œ ํ˜„์žฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ RAM ๋ฐ ์‚ฌ์šฉ๋ฅ (๋ฐฑ๋ถ„์œจ)
    5. ์„œ๋ฒ„์˜ ํ˜„์žฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์‚ฌ์šฉ๋ฅ (๋ฐฑ๋ถ„์œจ)
    6. ํ”„๋กœ์„ธ์„œ์˜ ํ˜„์žฌ ์‚ฌ์šฉ๋ฅ ์„(๋ฐฑ๋ถ„์œจ)ํ‘œ์‹œ
    7. ๋งˆ์ง€๋ง‰ ์žฌ๋ถ€ํŒ… ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„
    8. LVM์ด ํ™œ์„ฑ ์ƒํƒœ ์—ฌ๋ถ€
    9. ํ™œ์„ฑ ์—ฐ๊ฒฐ ์ˆ˜ # ๋„คํŠธ์›Œํฌ ์†Œ์ผ“์ด ๋ช‡ ๊ฐœ์ธ์ง€ ์ฐพ์œผ๋ฉด ๋จ
    10. ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž ์ˆ˜
    11. ์„œ๋ฒ„์˜ IPv4 ์ฃผ์†Œ ๋ฐ ํ•ด๋‹น MAC(Media Access Control) ์ฃผ์†Œ
    12. sudo ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์‹คํ–‰๋œ ๋ช…๋ น ์ˆ˜
    #!/bin/bash
    #1
    printf "#Architecture: "
    uname -a
    
    #2
    printf "#CPU physical : "
    cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l
    
    #3
    printf "#vCPU : "
    grep -c processor /proc/cpuinfo
    
    #4
    printf "#Memory Usage: "
    free --mega | grep Mem | awk '{printf"%d/%dMB (%.2f%%)\n", $3, $2, $3/$2 * 100 }'
    
    #5
    printf "#Disk Usage: "
    df -Bm | grep /dev/map | awk '{sum += $3}END{print sum}' | tr -d "\n"
    printf "/"
    df -BG | grep /dev/map | awk '{sum += $2}END{print sum}' | tr -d "\n"
    printf "Gb ("
    df -Bm | grep /dev/map | awk '{sum1 += $3 ; sum2 += $2 }END{printf "%d%%)\n", sum1 / sum2 * 100}'
    
    #6
    #apt install sysstat
    printf "#CPU load: "
    mpstat | grep all | awk '{printf "%.2f%%\n", 100-$13}'
    
    #7
    printf "#Last boot: "
    who -b | awk '{print $3, $4}'
    
    #8
    printf "#LVM use: "
    lsblk | grep lvm | wc -l | awk '{if($NF > 0) {print "yes"} else {print "no"}}'
    
    #9
    printf "#Connections TCP : "
    ss | grep -i tcp | wc -l | awk '{if($NF == 0) {print $NF" ""NONE"} else if ($NF >= 1) {print $NF" ""ESTABLISHED"}}'
    
    #10
    printf "#User log: "
    who | wc -l
    
    #11
    printf "#Netwrok: IP "
    hostname -I | tr -d "\n"
    printf "("
    ip addr | grep ether | awk '{print $2}' | tr -d "\n"
    printf ")\n"
    
    #12
    printf "#Sudo : "
    journalctl _COMM=sudo | wc -l | tr -d "\n"
    printf " cmd\n"
    uname -a // ์‹œ์Šคํ…œ์˜ ์ •๋ณด๋ฅผ ์ถœ๋ ฅ [Linux(์ปค๋„ ์ด๋ฆ„) 
    // yerilee42(ํ˜ธ์ŠคํŠธ ๋ช…) 5.10.0-19-amd64(์ปค๋„ ๋ฆด๋ฆฌ์ฆˆ ๋ฒˆํ˜ธ) #1 SMP Debian 5.10.149-2 (2022-10-21)(์ปค๋„ ๋ฒ„์ „๊ณผ ์ปค๋„์ด ๋นŒ๋“œ๋œ ๋‚ ์งœ ์ •๋ณด) x86_64(ํ˜ธ์ŠคํŠธ์˜ ํ”„๋กœ์„ธ์„œ ์•„ํ‚คํ…์ณ ์ •๋ณด) GNU/Linux(์‹œ์Šคํ…œ ์šด์˜์ฒด์ œ ์ด๋ฆ„ ์ •๋ณด)]
    
    cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l // -u : ์ •๋ ฌ์— ์ค‘๋ณต๋œ ๊ฒƒ ์ œ์™ธ
    
    cat /proc/cpuinfo | grep processor | wc -l // ์ „์ฒด ๊ฐ€์ƒ์ฝ”์–ด์ˆ˜ : 48 (=4CPU * 6์ฝ”์–ด * 2์“ฐ๋ ˆ๋“œ)
    
    free -m // ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ mb ๋‹จ์œ„(-m)๋กœ ์ถœ๋ ฅํ•œ๋‹ค
    
    df -P // ๋ฆฌ๋ˆ…์Šค ๋‚ด ๋””์Šคํฌ ๋ฉ”๋ชจ๋ฆฌ ์ „์ฒด ํ˜„ํ™ฉ์„ ํ•œ์ค„๋กœ(-P) ์ถœ๋ ฅํ•œ๋‹ค
    
    mpstat // ํ˜„์žฌ CPU์˜ ์‚ฌ์šฉ๋Ÿ‰์„ ์ถœ๋ ฅํ•œ๋‹ค
    // 100-$13 : $13์€ ์œ ํœด(์ปดํ“จํ„ฐ ์ฒ˜๋ฆฌ ์žฅ์น˜์—์„œ ์œ ํœด ๋˜๋Š” ์•„์ด๋“ค์€ ์–ด๋– ํ•œ ํ”„๋กœ๊ทธ๋žจ์— ์˜ํ•ด์„œ๋„ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ƒํƒœ)์ธ cpu๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ ์šฐ๋ฆฌ๋Š” cpu ์‚ฌ์šฉ๋ฅ ์„ ๋ณด์—ฌ์ค˜์•ผ ํ•˜๋ฏ€๋กœ ์ „์ฒด 100์—์„œ ์œ ํœด ์ƒํƒœ cpu๋ฅผ ๋นผ์ค€ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค.
    
    who -b // ๋งˆ์ง€๋ง‰ ๋ฆฌ๋ถ€ํŠธ ๋‚ ์งœ์™€ ์‹œ๊ฐ„
    
    ss | grep -i tcp // ํ™œ์„ฑํ™”๋œ(ํ˜„์žฌ ์—ฐ๊ฒฐ๋œ) tcp ๋„คํŠธ์›Œํฌ ์ƒํƒœ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค | -i : ๋Œ€๋ฌธ์ž/์†Œ๋ฌธ์ž ๋ฌด์‹œ
    
    who // ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์œ ์ €๋“ค์„ ์ถœ๋ ฅํ•œ๋‹ค
    
    hostname -I // IPv4 ์ฃผ์†Œ
    
    journalctl : ๋ฆฌ๋ˆ…์Šค ๋กœ๊ทธ ํ™•์ธ, _COMM : ํŠน์ • ๋กœ๊ทธ ๋ณด๊ธฐ

    • ์ฝ”์–ด, ์“ฐ๋ ˆ๋“œ, ํ•˜์ดํผ์“ฐ๋ ˆ๋”ฉ

      core (physical core) : cpu ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐ˜๋„์ฒด๋ถ€ํ’ˆ์„ ํ†ตํ•˜์—ฌ ์‹ค์ œ๋กœ ์กด์žฌํ•˜๋Š” ๋ถ€๋ถ„

      thread (logical core) : os์—์„œ ์ธ์‹ํ•˜๋Š” core ์ˆ˜

      hyper threading : ์ฝ”์–ด ์ˆ˜ x 2๋งŒํผ os์—์„œ ์ธ์‹ํ•˜๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ 

      https://information-factory.tistory.com/38

  • cron์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜๊ธฐ

    unix ์šด์˜์ฒด์ œ์—์„œ ์–ด๋–ค ์ž‘์—…์„ ํŠน์ • ์‹œ๊ฐ„์— ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋ฐ๋ชฌ(๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ž‘์—…์„ ํ•˜๋Š”)ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ, crontab ํŒŒ์ผ์„ ํ†ตํ•ด cron ์ž‘์—…์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ

    `๋ฐ๋ชฌ`์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘์ ์œผ๋กœ ์ œ์–ดํ•˜์ง€ ์•Š๊ณ , ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋Œ๋ฉด์„œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งํ•œ๋‹ค. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค์™€ ๋‹ค๋ฅธ์ ์€ ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜์ง€ ์•Š๋Š” ๋…์ž์ ์ธ ํ”„๋กœ์„ธ์Šค๋ž€ ๊ฒƒ์ด๋‹ค.
    • ์Šคํฌ๋ฆฝํŠธ๋ฅผ 10๋ถ„๋งˆ๋‹ค ์‹คํ–‰๋˜๋„๋ก ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

      * * * * * command 
      | | | | |_ // ์š”์ผ
      | | | |_ // ์›”
      | | |_ // ์ผ(๋‚ ์งœ)
      | |_ // ์‹œ๊ฐ„
      |_ // ๋ถ„
      
      // ์˜ˆ์‹œ1) 5์ผ์—์„œ 6์ผ๊นŒ์ง€ 2์‹œ,3์‹œ,4์‹œ์— ๋งค 10๋ถ„๋งˆ๋‹ค test.sh ๋ฅผ ์‹คํ–‰
      */10 2,3,4 5-6 * * /home/script/test.sh
      
      // 10๋ถ„๋งˆ๋‹ค monitoring.sh๋ฅผ ์‹คํ–‰
      */10 * * * * sh /root/monitoring.sh | wall
      
      wall โ†’ ๋ชจ๋“  ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•  ๋•Œ ์“ฐ๋Š” ๋ช…๋ น์–ด
      `-` โ‡’ ๊ทธ ์‚ฌ์ด ๋ชจ๋“  ๊ฐ’
      `,` โ‡’ ์ง€์ • ๊ฐ’
      `/` โ‡’ ํŠน์ • ์ฃผ๊ธฐ๋กœ ๋‚˜๋ˆ„๊ธฐ
    • 1๋ถ„๋งˆ๋‹ค script๊ฐ€ ์‹คํ–‰ ๋˜๋„๋ก ์ˆ˜์ •

      $ sudo crontab -e
      
      // crontab
      */1 * * * * sh /root/monitoring.sh | wall
      
      $ sudo service cron restart
    • ์„œ๋ฒ„ ์‹œ์ž‘ ์‹œ script ์‹คํ–‰ ์•ˆ๋˜๊ฒŒ ์ˆ˜์ •ํ•˜๊ธฐ (crontab ์ˆ˜์ •)

      ๐Ÿ’ก ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ๋‚ด์šฉ ์ˆ˜์ •, ์œ„์น˜ ์ด๋™, ๊ถŒํ•œ ์ˆ˜์ • ๊ธˆ์ง€!

      $ sudo systemctl disable cron
      $ sudo reboot
      $ sudo service cron status
      $ sudo systemctl enable cron // enable ์ƒํƒœ๋กœ ์ˆ˜์ •