# sudo ๊ถํ ๋ถ์ฌ
# ncloud ์๋ฒ
# ncloud alias ์ ๋ณด ํ์ธ
# cat .bashrc | grep ncloud
cat .profile | grep ncloud
# ncloud ์ง์
ncloud
# user ์ฒดํฌ
cat /etc/passwd
cat .bashrc
exit
# root๊ฐ ์๋๋ผ ding-co user๋ก ์ ์
ssh ding-co@mydealh -p 50000
whoami
# sudo ๊ถํ ์ฒดํฌ
sudo bash
# ํ์ฌ ๊ถํ์ด ์์ด์ read-only ์ํ์
vi /etc/hosts
hostname
# ๋๊ฐ๋ค๊ฐ root ๊ถํ์ผ๋ก ๋ค์ ์ ์
ncloud
visudo
# ๊ฒ์
/wheel
# ์ฃผ์ ํ์ด์ฃผ๊ธฐ
%wheel ALL=(ALL) NOPASSWD: ALL
# ding-co user์๊ฒ sudo ๊ถํ ์ฃผ๊ธฐ
usermod -aG wheel ding-co
# ๋๊ฐ๋ค๊ฐ ding-co user๋ก ๋ค์ ์ ์
sudo bash
# ๋ง์ฝ ์๋๋ฉด,
# ๋๊ฐ๋ค ๋ค์ ๋ค์ด์ค๊ธฐ
exit
hostname
ssh ding-co@mydealh -p 50000
hostname
# ์ด๋ฒ์๋ ๋ฐ๋ก ๋ค์ด๊ฐ
sudo bash
whoami
exit
whoami
# ding-co
sudo vi /etc/hosts
# ์์ ๊ฐ๋ฅ
# ๋ง์ง๋ง์ ์ฃผ์ ์ถ๊ฐ
# This is write sudo test
# ์ ์ ์ฅ๋จ ์ฒดํฌ
cat /etc/hosts
# ํ ํ๋ก์ ํธ์,
# root ๊ถํ ์ฃผ๋ ๊ฒ์ ์๋๊ณ ํ์ผ ๋ฑ ์ธํ
ํ ์ ์๋ ๊ถํ ์ฃผ๊ธฐ
-
ํ์ผ ์์ถ
- legacy - gzip ๋ง์ด ์ฌ์ฉ
- ์ต๊ทผ์๋ xz (์์ถ๋ฅ ๋์), bzip2 ๋ง์ด ์ฌ์ฉ
# ncloud ์๋ฒ (root)
# nginx log๋ก ์ด๋
cd /var/log/nginx/
# ํ์ผ ์์ถ
gzip error.log
ll
# ํ์ผ ์์ถ ํด์
gzip -d error.log.gz
# ํ์ผ ํ๋ ์์ถํด์ ๋ณด๊ดํ ๋ gzip ๋ง์ด ์ฌ์ฉํจ
# ์ฉ๋ ์ฒดํฌ
gzip error.log
ll
gzip -d error.log.gz
# xz (์์ถ๋ฅ ๋ ์ข์)
xz error.log
xz -d error.log.xz
# bizp2 ์ค์น
yum install bzip2 -y
# bzip2๋ก ์์ถ
bzip2 error.log
ll
bzip2 -d error.log.bz2
# ํ์ฅ์ ๋ณด๊ณ ์์ถ ํ์ผ ํ์ ํ์ธ ๊ฐ๋ฅ
# ์๋์ฐ์ฉ ์ํด zip
# ๋ง๋ค_ํ์ผ๋ช
- ์์ถํ _ํ์ผ๋ช
์์
zip error.log.zip error.log
ll
# ์์ถ ํด์
unzip error.log.zip
n
# zip์ ์๋ก ์์ถํ์ผ ๋ง๋ฆ (์๋ณธ ํ์ผ ๋ณด์กดํ๊ณ ์๋ก ๋ง๋ฆ)
unzip error.log.zip
# rename
r
err2.log
ll
rm -f err2.log
ll
# ์ค๋ฌด์์ tar ๊ฐ์ฅ ๋ง์ด ์ (ํ์ผ ์ฌ๋ฌ๊ฐ ๋ฌถ์ผ๋ฉด์ ์์ถ๊น์ง ํจ)
# create vfz, tar๋ก ๋ฌถ์ด์ gz๋ก ์์ถ
tar cvfz xxx.tar.gz *.log
ll
# home dir๋ก ์ฎ๊น
mv xxx.tar.gz ~/
# home dir
cd ~
# extract vfz (z ๋น ์ ธ์์ผ๋ฉด ๋ฌถ๋๊ฑธ ํ๊ธฐ๋ง ํจ, z ๋ถ์ผ๋ฉด gzip์ผ๋ก ์์ถ๊น์ง)
# ๋ง์ฝ z์๋ฆฌ์ J๋ฉด xz์ผ๋ก ์์ถ, j๋ฉด bzip2๋ก ์์ถ (tar๋ก ๋ฌถ์ด์)
tar xvfz xxx.tar.gz
ll
ll *.log
rm -r *.log
# back ์ผ๋ก ์ด๋
cd -
rm error.log.zip
y
ll
# ๋น๋ฒ ๊ฑธ๋ฉด์ ์์ถ
zip -P "x1234" error.zip error.log
unzip error.zip
x1234
# rename
r
xx
# zip์ ํ์ผ ๊ทธ๋๋ก ๋จ์์ ์ง์ ๋ถํจ -> ์ ์์
-
ftp, sftp
- ํ์ผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํจ
- ftp (21) - ๋ณด์์ ์ทจ์ฝ
- sftp (22) - SSH ๊ธฐ๋ฐ, ๋ณด์์ฑ ๊ฐํ
(ssh ๊ธฐ๋ฐ์ด๋ฏ๋ก sshd์ ํฌํจ๋์ด ์์) - samba - windows remote directory ์ฐ๊ฒฐ
- ownCloud (์คํ ์์ค ํด๋ผ์ฐ๋) - dropbox ๊ตฌ์ฑ ๊ฐ๋ฅ
(mariadb, httpd, php, ๋ฑ ์ค์น ํ์ํด์ ์กฐ๊ธ ๋ฒ๊ฑฐ๋ก์)
# sftp settings (ftp server)
# ์ธ๋ถ ์
์ฒด์ ๋ณ๋ ๊ณ์ ์์ฑ
whoami
# false (๋ก๊ทธ์ธ ์์ฒด ๋ชปํ๊ฒ ๋ง๋ฆ)
useradd -s /bin/false ftpuser
cat /etc/passwd
# ํจ์ค์๋ ์ค์ (์ธ๋ถ์
์ฒด์๊ฒ ์ค์ผ ํจ)
passwd ftpuser
# ์ํธ
seniorcoding
vi /etc/ssh/sshd_config
# Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
systemctl restart sshd
# ํ์ฌ ์๊ฐ์ผ๋ก ์ ๋ธ
ps -ef | grep sshd
# -------
# ์ฌ์ฉํ๋ ์ชฝ
# ์๋์ฐ - ์ftp ๋ฑ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ ๋ง์
# SFTP ์ฐ๊ฒฐ ์ค์
# Server ssh ์ ์์ฉ ip, username, password, port(50000 -> 22), utf8 ์ค์
# -------
cd ~ftpuser
ll
# ftpuser home
pwd
# ํ๊ธ ๊นจ์ง๋์ง check
echo "This is ftp ํ
์คํธ" > ftptest.txt
# --
# ์ฌ์ฉํ๋ ์ชฝ
# ์๋ก๊ณ ์นจ ํด์ ํ์ผ ์ฒดํฌ -> ํ๊ธ ์๊นจ์ง (์ธ์ฝ๋ฉ ์ ๋ง์ถ๋ฉด ๋จ)
# drag & drop ํ์ผ ์ด๋
# --
# ftp ํ๋ก๊ทธ๋จ ์์ ๋
# docker server
hostname
sftp -P 50000 ftpuser@<์๋ฒ์ ์IP>
seniorcoding
ls
# ftp ๋ช
๋ น์ด ์ฒดํฌ
help
# home์ ftp user (์๋ฒ์ pwd)
pwd
# local(client)์ pwd (ํ์ผ ๊ฐ์ ธ์ฌ ๊ณณ)
lpwd
# server ls
ls
# local์ ls
lls
# ํ์ผ ๊ฐ์ ธ์ค๊ธฐ
get ftptest.txt
lls
# ์
๋ก๋
put test.txt
# ํด๋ผ์ฐ๋ ์๋ฒ ---
mkdir ttt
ll
echo "ttt" > ttt/ttt.txt
# ํด๋ผ์ฐ๋ ์๋ฒ ----
# ํด๋ ์ ์ฒด๋ฅผ ๊ฐ์ ธ์ค๊ธฐ (-r : directory)
get -r ttt
lls
# ํด๋ ์
๋ก๋
put -r <ํ์ฌ ๋ก์ปฌ์ ์กด์ฌํ๋ ํด๋๋ช
>
# -- ftp user๋ ๋ค๋ฅธ user์ ๋ค์ด๊ฐ์ง ๋ชปํจ (ftp ํ๋ก๊ทธ๋จ์์)
# bye / quit
# ftp ๋๊ธฐ
bye
# ๋ถํ์ ํ์ผ ์ ๊ฑฐ
rm -rf ttt
-
์ง๋ log ํ์ผ ์ ๋ฆฌ
- ์ค๋๋ log ํ์ผ ์ญ์
# ๊ฐ๋ฐ ์๋ฒ
cd /var/log/nginx
ll
# ์ด๋ฏธ ์์ถ์ ๋์ด ์์ด์ ๋ฌถ๊ธฐ๋ง ํจ
tar cvf err.tar error.log*
ll
# ๋ฌถ์ ํ์ผ์ ncloud ์๋ฒ๋ก ์ฎ๊ธฐ๊ธฐ
# --- ncloud ์๋ฒ์์ ์ฐ์ /var/log/nginx ์ tmp dir ์์ฑ
# ncloud ์๋ฒ
mkdir tmp
ll
pwd
cd tmp
pwd
--- ncloud ์๋ฒ
# --- ๊ฐ๋ฐ ์๋ฒ
# user๋ก ์ค๋ ์๊ด์์
rsync -avz err.tar root@<์๋ฒ-์ ์์ฉ-ip>:/var/log/nginx/tmp/ -e "ssh -p 50000"
# ncloud ์๋ฒ ์ํธ ์
๋ ฅ
# --- ๊ฐ๋ฐ ์๋ฒ
# --- ncloud ์๋ฒ
pwd
ll
# tar ํ๊ธฐ
tar xvf err.tar
ll err.tar
# ftpuser home dir๋ก ์ด๋
mv err.tar ~ftpuser/
# --- ncloud ์๋ฒ
# --- ๊ฐ๋ฐ ์๋ฒ
sftp -P 50000 ftpuser@<์๋ฒ-์ ์์ฉ-ip>
seniorcoding
ls
get err.tar
# --- ๊ฐ๋ฐ ์๋ฒ
# ์ค๋๋ log ํ์ผ ์ง์ฐ๊ธฐ
# --- ncloud ์๋ฒ
find . -name "*.gz"
# word count ์ธ๋ฐ line ๋จ์๋ก ๋ณด์ฌ์ค
find . -name "*.gz" | wc -l
# 60์ผ ์ง๋ ๊ฒ๋ค๋ง ๋ณด์ฌ์ค
find . -name "*.gz" -mtime +60
# 60์ผ ์ง๋ ๋ก๊ทธ ํ์ผ ์ญ์
find . -name "*.gz" -mtime +60 -delete
ll
find . -name "*.gz" | wc -l
# ๋งค๋ฒ ์์
ํ๊ธฐ ๋ฒ๊ฑฐ๋ก์์ crontab์ ๊ฑธ๋ฉด ๋จ
pwd
# bin ํด๋์ ์คํํ์ผ๋ค ๋ชจ์ฌ ์์
mkdir ~/bin
vi ~/bin/rmoldlogs.sh
#!/bin/bash
cd /var/log/nginx/tmp
find . -name "*.gz" -mtime +30 -delete
:wq
chmod +x ~/bin/rmoldlogs.sh
# crontab์๋ full ๊ฒฝ๋ก๊ฐ ๋ค์ด๊ฐ์ผ ํจ
crontab -e
# ์๋์ ๋ด์ฉ ์ถ๊ฐ
* * * * * /root/bin/rmoldlogs.sh 2>&1
:wq
ll | wc -l
# *๋ ํน์๊ธฐํธ์ด๋ฏ๋ก "" ๋ถ์ด๊ฑฐ๋ ์ญ์ฌ๋์ ๋ถ์ด๋ฉด ๋จ
find . -name \*.gz -mtime +30
# ์ ์ง์์ง
# --- ncloud ์๋ฒ
crontab -e
# ์๊ฐ ์์
0 1 * * *
:wq
!vi
# ๋ด์ฉ ์์
#!/bin/bash
cd /var/log/nginx
find . -name "*" -mtime +30 -delete
:wq
ps -ef | grep atd
# atd๋ ์ผํ์ฑ
at -l
# ์๊ฐ ์ง์
at -f /root/bin/rmoldlogs.sh 00:00
date
# ํ
์คํธ์ฉ
!vi
#!/bin/bash
#cd /var/log/nginx
cd /var/log/nginx/tmp
find . -name "*" -mtime +10 -delete
:wq
date
at -l
date
ll
# ๋ค์ ์์
!vi
#!/bin/bash
cd /var/log/nginx
#cd /var/log/nginx/tmp
find . -name "*" -mtime +30 -delete
:wq
crontab -l
at -l
# sort, uniq
# ๋๊ตฐ๊ฐ๊ฐ ๋ด ์น ์๋ฒ์ DDOS ๋ ๋ฆฐ๋ค๊ณ ๊ฐ์
# ๋๊ฐ ์ด๋ทฐ์ง ํ๋์ง ๊ทธ ์ฌ๋ ip ์ฐพ์๋ณด๊ธฐ
# ncloud ์๋ฒ
# nginx ํด๋์ธ์ง ์ฒดํฌ
pwd
ll
tail -10 access.log
clear
# ์ฒซ๋ฒ์งธ ์ด ์ฒดํฌ
cat access.log | awk '{print $1}'
# ๊ฐ ip๋ณ๋ก count๊ฐ ๋์ด
cat access.log | awk '{print $1}' | uniq -c
# ip ์์๋๋ก sort + uniq
cat access.log | awk '{print $1}' | sort | uniq -c
# reverse sort (descending)
cat access.log | awk '{print $1}' | sort | uniq -c | sort -r
# ํ์นธ ๋์
cat access.log | cut -d" " -f1 | sort | uniq -c
# url๊น์ง ๋์ด
cat access.log | cut -d" " -f1,7 | sort | uniq -c
# cut์ ์ด๋ฐ ํ์ผ๋ค ๋ณผ ๋ ์ข์
cat /etc/passwd
# delimiter๋ :
# ์ฒซ๋ฒ์งธ ์ด๊ณผ 7๋ฒ์จฐ ์ฃผ์ธ์
cat /etc/passwd | cut -d: -f1,7
- Name Server - DNS (resolv.conf)
# ๊ณต์ธ ip ๋์ด
nslookup ding-co.topician.com
# ํด๋ผ์ฐ๋ ํ๋ซํผ์ ๋ค์์๋ฒ
cat /etc/resolv.conf
# ๊ฐ๋ ๋ค๋ฅธ ๋ค์ ์๋ฒ ์ผ๋๋ฐ ๋๋ ค์ง -> ๋๋ฉ์ธ ์ฐพ๋ ๊ฒ์ด ๋๋ ค์ ๊ทธ๋ผ
# ์์ ํํ
๊ฐ์ฅ ๊ฐ๊น์ด ๋ค์์๋ฒ ๊ฑธ๋ฉด ๋จ
# ํ์ฌ๋ NCloud๊ฐ ๊ฑธ๋ ค ์์
# ๊ธฐ๋ณธ DNS ์๋ฒ ์ฃฝ์ผ๋ฉด ๋ณด์กฐ DNS ์๋ฒ๊ฐ ์๋ ค์ค
-
๊ฐ์ข ์๋ฒ monitoring ๋๊ตฌ (vmstat, sar, netstat)
-
NFS ๊ตฌ์ฑ
- Network File System
- ๊ฐ๋ฐ ์๋ฒ๊ฐ 2๋ ์ด์ ๋์์ ๋ ํ์ผ ๊ณต์ ์ ํ์
- ๊ฐ๋ฐ ์๋ฒ - ์ค ์๋ฒ ์ฐ๋/๋ฐฑ์ ํ ๋๋ ํ์
- DNS; ๋๋ฉ์ธ ๊ฐ์ง๊ณ ๋ผ์ฐํฐ ๊ฑฐ์ณ์ ๋ค์์๋ฒ ์ฐพ์๊ฐ
์ฐพ์ ๋ค์์๋ฒํํ ๊ฐ์ IP ์ฃผ์ ํ์ธํ๊ณ ์น์๋ฒ๋ก ๊ฐ์
์น์๋ฒ์ ip์ฃผ์๋ฅผ ๊ฐ์ง๊ณ html ๋ด๋ ค์ค (๋ธ๋ผ์ฐ์ ์) - .com์ด ๋ค์์๋ฒ์ ๊ฐ์ฅ ์์ ๋ ์ด์ด (๊ฐ์ฅ ๋จผ์ ์ฐพ์)
- httpd (apache)
-
DDOS ๊ฐ์ ํดํน ๊ณต๊ฒฉ์ ๋ํ ๊ณต๊ฒฉ์์ ip ์ฃผ์๋ฅผ ํ์ธํ๊ธฐ ์ํด์ uniq, sort ๋ฑ ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ์ฌ
ip ์ฃผ์๋ฅผ ์ถ์ ํ์ ๋ค๊ณ ํ์ จ๋๋ฐ, ํ์ง๋ง ๊ณต๊ฒฉ์๊ฐ ๋จ์ํ ์์ ์ ip ์ฃผ์๋ฅผ ๊ทธ๋๋ก ๋ ธ์ถํด์
๋ณด๋ผ ๋ฆฌ๋ ์ ๋๋ก ์๋ค๊ณ ์๊ฐํฉ๋๋ค. IP spoofing ๊ฐ์ ๊ธฐ๋ฒ์ ํตํด์ source address๋ฅผ ์์กฐํ์ฌ
๋ณด๋ด๋ฉด ๊ทธ์ ๋ํ ip ์ฃผ์๋ฅผ ์ญ์ถ์ ํ๋ ๊ฒ์ด ์ด๋ ต๋ค๊ณ ์๊ฐ๋๋๋ฐ
๋ง์ฝ ์ด์ ๋ํด์ ์ค๋ฌด์์ ์ค์ ๋ก DDOS์ ๊ฐ์ ํดํน ๋ฐฉ์ง๋ฅผ ์ํด ์ด๋ ํ ๋ฐฉ๋ฒ์ ์ฃผ๋ก ํ์ฉํ๊ฑฐ๋
์ฌ๋ก ๊ฐ์ ๊ฒ์ด ์๋์ง ์ ์ ์์๊น์?=> DDOS ๊ฐ์ ๊ฒฝ์ฐ VPN์ด๋ IP Spoofing๊ฐ์ ๊ฑธ ์ฐ๋ฉด ๋ง์ด ๋๋ ค์ง
DDOS์ ์๋ช ์ ๋จ์๊ฐ ๋ด์ ๋ง์ ์์ฒญ์ ๋ณด๋ด์ผ ํจ
์ค๋ฌด์์๋ uniq, sort ๋ณด๋ค L4, L7 ๊ฐ์ ๋คํธ์ ์ฅ๋น์์ DDOS๋ฅผ ๋จผ์ ์ฐจ๋จํจ
ํน์ ์ด๋ทฐ์ง ํจํด ๋ฑ์ ์ฐจ๋จํ๋๋ก ์ค์ ํด ๋๊ธฐ ๋๋ฌธ์ ์๋ฒ๊น์ง ๋ชป ๋ค์ด์ด
์กฐ๊ทธ๋ง ์๋น์ค๋ L4๋ L7์ด ๋น์ธ๊ธฐ ๋๋ฌธ์ ๋๋ถ๋ถ ์ฌ์ฉํ์ง ์์