๐ก
Born2beroot ๋ณธ๋ฌธ
Project overview
0. ๊ฐ์๋จธ์ ์ด๋
ํ๋์ ์ปดํจํฐ๋ก ์๋ก ๋ค๋ฅธ ์ด์์ฒด์ ๋ฅผ ์คํํ๊ณ ์ ํ ๋ ์ํํธ์จ์ด๋ก ํ๋์จ์ด ๊ธฐ๋ฅ์ ์๋ฎฌ๋ ์ด์ ํ์ฌ ์คํ
0. debain vs CentOS
- ๋๋ค linux ์ด์์ฒด์
- ์ผํ ์ค๋ ๋ ๋ํ์ด ๊ณต๊ฐํ RHEL์ ๊ฐ์ ธ์์ ๋ ๋ํ์ ๋ธ๋๋์ ๋ก๊ณ ๋ง ์ ๊ฑฐํ๊ณ ๋ฐฐํฌํ ๋ฐฐํฌ๋ณธ. ๋ฌด๋ฃ ์ฌ์ฉ ๊ฐ๋ฅํ์ง๋ง ๋ฌธ์ ๋ฐ์์ ๋ ๋ํ์ด ์๋ ์ปค๋ฎค๋ํฐ ํตํด ์ง์๋๋ฏ๋ก ํจ์น๊ฐ ๋ค์ ๋๋ฆฐ ๊ฐ์ด ์์. ๋ฐ๋น์์ ์ปค๋ฎค๋ํฐ์์ ๋ง๋ค์ด์ง ๋ฐฐํฌํ์ด๋ผ ์ฌ์ฉ๋ฒ์ด ์จ๋ผ์ธ ์น์ฌ์ดํธ๋ ์ปค๋ฎค๋ํฐ์ ์์ธํ ๊ธฐ์ ๋์ด ์๋ค
- ํจํค์ง ๊ด๋ฆฌ : ์ผํ ์ค๋ RPM ํฌ๋งท๊ณผ YUM/DNF ํจํค์ง ๋งค๋์ ์ฌ์ฉ. ๋ฐ๋น์์ DEB ํฌ๋งท๊ณผ dpkg/APT ๋งค๋์ ์ฌ์ฉ
- ์ผํ ์ค๋ ๊ธฐ์ ์ฉ, ๋ฐ๋น์์ ๊ฐ์ธ
0. aptitede vs apt
aptitede : high level ํจํค์ง ๋งค๋์
apt : low level ํจํค์ง ๋งค๋์ gui ์์
-apt๋ ๋ค๋ฅธ ํ์ด๋ ๋ฒจ ํจํค์ง ๋งค๋์ ์ ์ํด ์ฌ์ฉ๋ ์ ์์
aptitude๋ ์ฌ์ฉํ์ง ์๋ ํจํค์ง๋ฅผ ์๋์ ์ผ๋ก ์ ๊ฑฐํด์ค๋ค. ๋ฐ๋ฉด apt๋ ์ถ๊ฐ์ ์ต์ ์ด ํ์ํ๋ค. (ex. 'autoremove', '-auto-remove')
aptitude๋ why์ why-not ์ปค๋งจ๋๋ฅผ ํตํด ํน์ ํจํค์ง๋ฅผ ์ค์นํ ๋ ์ด๋ค ๊ฒ์ด ์๊ตฌ๋๊ณ , ์ด๋ค ๊ฒ๊ณผ ์ถฉ๋ํ๋์ง ํ์ธํ ์ ์๋ค.
aptitude๋ ์ค์น, ์ ๊ฑฐ, ์ ๋ฐ์ดํธ ๊ณผ์ ์์ ์ถฉ๋์ด ์๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ๋์์ ์ ์ํด์ค. apt๋ ๊ทธ๋ฅ ์ ๋๋ค๊ณ ๋ง ํจ.
0. APPArmor
-์์คํ ๊ด๋ฆฌ์๊ฐ ํ๋ก๊ทธ๋จ ํ๋กํ ๋ณ๋ก ํ๋ก๊ทธ๋จ์ ์ญ๋์ ์ ํํ ์ ์๊ฒ ํด์ฃผ๋ ๋ฆฌ๋ ์ค ๋ณด์ ๋ชจ๋์ด๋ค
์ฑ์๋จธ๋ ์ ์ฑ ํ์ผ์ ํตํด ์ด๋ค ์ดํ๋ฆฌ์ผ์ด์ ์ด ์ด๋ค ํ์ผ/๊ฒฝ๋ก์ ์ ๊ทผ ๊ฐ๋ฅํ์ง ํ์ฉํด์ค๋ค.
enforce๋ชจ๋์ complain๋ชจ๋ ๋ ๊ฐ์ง ์กด์ฌ
enforce ๋ชจ๋ : ํ๊ฐ๋์ง ์์ ํ์ผ์ ์ ๊ทผํ๋ ๊ฒ์ ๊ฑฐ๋ถํ๋ ๋ชจ๋
complain ๋ชจ๋ : ์ค์ง์ ์ผ๋ก ๋ณด์์ ์ ๊ณตํ๋ ๊ฒ์ ์๋. ๋์ ์ดํ๋ฆฌ์ผ์ด์ ์ด ํด์ผ ํ ํ๋์ด ์๋ ๋ค๋ฅธ ํ๋์ ํ๋ ๊ฒฝ์ฐ์ ์ฑ์๋จธ๋ ๋ก๊ทธ๋ฅผ ๋จ๊ฒจ์ค๋ค(์ค์งํ์ง๋ ์์).
sudo aa-status : apparmor ์ํ ํ์ธ
Mandatory part
1. sudo ์ค์น & ์ฌ์ฉ์ ๊ทธ๋ฃน ์ค์
dpkg -l sudo : sudo ์ค์น ์ฌ๋ถ ํ์ธ
apt-get install sudo : sudo ์ค์น
groupadd [๊ทธ๋ฃน๋ช ] : [ ] ๊ทธ๋ฃน ์ถ๊ฐ
usermod -aG [๊ทธ๋ฃน๋ช ,๊ทธ๋ฃน๋ช , ... ] [์ฌ์ฉ์๋ช ] : ์ฌ์ฉ์๋ฅผ ๊ทธ๋ฃน์ ์ถ๊ฐ
usermod -g [๊ทธ๋ฃน๋ช ] [์ฌ์ฉ์๋ช ] : primary group ์ค์
id [์ฌ์ฉ์๋ช ] : ์ฌ์ฉ์์ gruop ํ์ธ
2. ufw(Uncomplicated Firewall) ์ค์
sudo apt install ufw : ufw ๋ฐฉํ๋ฒฝ ์ค์น
sudo ufw status verbose : ์ํ ํ์ธ
sudo ufw enable : ๋ถํ ์ ufw ํ์ฑํ ํ๊ธฐ
sudo ufw default deny : ๊ธฐ๋ณธ incoming deny
sudo ufw allow 4242 : ssh ์ฐ๊ฒฐ ํ์ฉ
- sudo ufw status numbered : ๊ท์น๋ฒํธ ํ์ธ
- sudo ufw delete ๊ท์น๋ฒํธ : ๊ท์น๋ฒํธ ์ญ์
3. SSH(Secure Shell Protocol) ์ค์
-๋คํธ์ํฌ ํ๋กํ ์ฝ ์ค ํ๋๋ก ์ปดํจํฐ์ ์ปดํจํฐ๊ฐ ์ธํฐ๋ท๊ณผ ๊ฐ์ Public Network๋ฅผ ํตํด ์๋ก ํต์ ์ ํ ๋ ๋ณด์์ ์ผ๋ก ์์ ํ๊ฒ ํต์ ์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํ๋กํ ์ฝ, ์ฃผ๋ก ๋ฐ์ดํฐ ์ ์ก๊ณผ ์๊ฒฉ์ ์ด์ ์ฌ์ฉ, public key & previate key
apt install openssh-server : ssh ์๋ฒ ์ค์น
systemctl status ssh : openserver ๊ฐ ์คํ์ค์ธ์ง ์ฌ๋ถ ํ์ธ
sudo ufw allow 4242/tcp : 4242ํฌํธ ํ์ฉ
vi /etc/ssh/sshd_config
#Port 22 --- ์ ๊ฑฐ
port 4242 --- ์ถ๊ฐ
.
.
.
PermitRootLogin no --- no๋ก ๋ณ๊ฒฝ
4. Hostname & partitions
hostnamectl : ํธ์คํธ๋ค์ ์ฒดํฌ
sudo hostnamectl set-hostname [ํธ์คํธ๋ค์] : ํธ์คํธ๋ค์ ๋ณ๊ฒฝ
-LVM : ๋ ผ๋ฆฌ์ ๋ณผ๋ฅจ ๋งค๋์
ํ ๊ฐ ํน์ ์ฌ๋ฌ ๊ฐ์ ๋ฌผ๋ฆฌ์ ์ธ ๋์คํฌ๋ฅผ ํ๋์ ๋ ผ๋ฆฌ์ ์ธ ํ์ผ์์คํ ์ผ๋ก ๊ตฌ์ฑ์ ํด์ ์ฌ๋ฌ ๊ฐ์ ๋ฌผ๋ฆฌ์ ์ธ ๋์คํฌ๋ฅผ ํ๋์ ํ์ผ์์คํ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ, ๋ฟ๋ง ์๋๋ผ ํฉ์ณ์ง ๊ฒ์ ๋ค์ ์ํ๋ ๋๋ก ์ฌ๋ฌ ๊ฐ์ ํ์ผ์์คํ ์ผ๋ก ๋๋ ์๋ ์๋ค.
ํํฐ์ ๋ณด๋ค ๋ ์ ์ฐํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
5. Password ์ ์ฑ ๋ณ๊ฒฝ
sudo vi /etc/login.defs
PASS_MAX_DAYS 30
PASS_MIN_DATS 2
PASS_WARN_AGE 7
์ผ๋ก ๋ณ๊ฒฝ
sudo apt install libpam-pwquality
sudo vi /etc/pam.d/common-password
pam_pwquailty.so ์ ์๋ ์ถ๊ฐ
/*
retry=3 : ์ํธ ์ ๋ ฅ 3ํ๊น์ง
minlen=10 : ์ํธ ์ต์ ๊ธธ์ด 10
difok=7 : ๊ธฐ์กด ์ํธ์ ๋ฌ๋ผ์ผ ํ๋ ๋ฌธ์ ์ 7
ucredit=-1 : ๋๋ฌธ์ 1๊ฐ ์ด์
dcredit=-1 : ์ซ์ 1๊ฐ ์ด์
reject_username : username์ด ๊ทธ๋๋ก ๋๋ ๋ค์งํ์ ํจ์ค์๋์ ๋๋ฌ์๋์ง ๊ฒ์ฌ, ๋ค์ด์์ผ๋ฉด ๊ฑฐ๋ถ
enforce_for_root : root ์ฌ์ฉ์๊ฐ ์ํธ๋ฅผ ๋ฐ๊ฟ๋ ์์ ์กฐ๊ฑด๋ค ์ ์ฉ
*/
6. sudoer ํ์ผ ์ค์
sudo mkdir /var/log/sudo/ : ๋ก๊ทธํ์ผ ์ ์ฅํ ๊ฒฝ๋ก ๋๋ ํ ๋ฆฌ ์์ฑ
sudo visudo : /etc/sudoers ํ์ผ ์์
Defaults secure_path="๊ฒฝ๋ก์ค์ "
.
.
.
//๋ง์ง๋ง ์ค์ ์ถ๊ฐ
Defaults authfail_message="Authentication attempt failed." -- ๊ถํ ํ๋ ์คํจ ์ปค์คํ
๋ฉ์ธ์ง
Defaults badpass_message="Wrong password!" -- ์ํธ ์คํจ ์ปค์คํ
๋ฉ์ธ์ง
Defaults log_input -- sudo input ์ ๋ก๊ทธ์ ๊ธฐ๋ก
Defaults log_output -- sudo output ์ ๋ก๊ทธ์ ๊ธฐ๋ก
Defaults requiretty -- The TTY mode has to be enabled for security reasons.
Defaults iolog_dir="/var/log/sudo/" -- ๋ก๊ทธ ์ ์ฅํ ๊ฒฝ๋ก
7. monitoring.sh
cron : ์์ ์์ฝ์ค์ผ์ฅด๋ฌ
sudo crontab -e
*/10 * * * * /monitoring.sh | wall
์ด๋จ์๋ก ์ปจํธ๋ก ํ๋ ค๋ฉด
* * * * * sleep [ ]; command
- signature.txt ๋ง๋ค๊ธฐ
.vdi ๊ฐ ์๋ ๋๋ ํ ๋ฆฌ์์
shasum [ ].vdi ํ ๋์จ ๊ฐ์ ๋ณต์ฌ
-----------------------------------
ํ๊ฐ ํ์ shasum ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ์ด ๋ฐ๋์ด ์๋๊ฒ์ ๋ณผ์ ์๋ค. ๊ทธ๋์ signature.txt๋ฅผ ๋ง๋ค๊ธฐ ์ง์ ์ ๋ฒ์ธ์ผ๋ฐ์ค์์ ์ค๋ ์ท์ ์ฐ์ด ๋์ ํ ๋ค์ ํ๊ฐ ๋ ์ฐ์ด๋์ ์ค๋ ์ท์ผ๋ก ๋์๊ฐ์ ๋ค์ shashum ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด signature.txt์ ๋๊ฐ์ ๊ฐ์ ์ถ๋ ฅํด์ค๋ค.
https://tbonelee.tistory.com/m/16
https://jootc.com/p/201808031460
https://jootc.com/p/201808031462
๋ฆฌ๋ ์ค SSH ์ ์ ๋ฐฉ๋ฒ (SSH ํ๋กํ ์ฝ ์ฐ๊ฒฐ ํ์ฉ ์ค์ ํ๊ธฐ) - JooTC
๋ฆฌ๋ ์ค SSH ์ ์ ๋ฆฌ๋ ์ค ์๋ฒ์ ์ ๊ทผํ๊ธฐ ์ํด ์ง์ ๋ก์ปฌ PC์์ ํฐ๋ฏธ๋์ด๋ ๊ทธ๋ํฝ ์ธํฐํ์ด์ค๋ฅผ ํ์ฉํ์ฌ ์์ ์ ์งํํ๊ฑฐ๋, ์๊ฒฉ์ง์์ ํธ์คํธ ์ ์์ ์ํ ํํ ๋ก์ฝ์ ์ฌ์ฉํ ์ฐ๊ฒฐ์ด ์์ต
jootc.com
'42' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
FdF (0) | 2021.11.30 |
---|---|
push_swap (0) | 2021.07.15 |
ft_printf (0) | 2021.05.30 |
get_next_line (0) | 2021.05.13 |