13일차
mysql
CREATE DATABASE word;
CREATE USER 'word'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON word.* TO 'word'@'localhost';
FLUSH PRIVILEGES;
CREATE DATABASE dvwa;
CREATE USER 'dvwa'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa'@'localhost';
FLUSH PRIVILEGES;
CREATE DATABASE web1;
CREATE USER 'web1'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON web1.* TO 'web1'@'localhost';
FLUSH PRIVILEGES;
CREATE DATABASE web2;
CREATE USER 'web2'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON web2.* TO 'web2'@'localhost';
FLUSH PRIVILEGES;
#외부접속허용(엄청 위험한 행위)
CREATE USER 'word'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON word.* TO 'word'@'%';
FLUSH PRIVILEGES;
#외부접속허용(본인의 IP만 추가)
CREATE USER 'word'@'192.168.0.204' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON word.* TO 'word'@'192.168.0.204';
FLUSH PRIVILEGES;
CREATE DATABASE dvwa;
CREATE USER 'dvwa'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa'@'localhost';
FLUSH PRIVILEGES;
CREATE DATABASE web1;
CREATE USER 'web1'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON web1.* TO 'web1'@'localhost';
FLUSH PRIVILEGES;
CREATE DATABASE web2;
CREATE USER 'web2'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON web1.* TO 'web2'@'localhost';
FLUSH PRIVILEGES;
rsyslog 시스템 구축
hostname > LOG
3대 서버로부터 전송된 로그를 분석 및 저장함
nano /etc/rsyslog.conf
서버는 포트(514)를 열고 3대 서버로부터 데이터가 전송되는 것을 기다림
module(load="imtcp")
input(type="imtcp" port="514")
$AllowedSender TCp,10.0.2.0/24, *.st.kr
apt -y install net-tools
systemctl restart rsyslog
netstat -ant | grep 514
로그를 데이터베이스에 저장하기
apt -y install mariadb-server
apt -y install rsyslog-mysql
yes
123456
mysql
use Syslog;
desx SystemEvents;
select * from SystemEvents;
#Rsync 설정
apt -y install rsync
nano /etc/rsyncd.conf
# create new
#any name you like
[backup]
# target directory to copy
path =/backup
# hosts you allow to access
hosts allow = 10.0.2.15
hosts deny = *
list = true
uid = root
gid = root
read only = false
systemctl start rsync
#3대 서버
rsync -avz --delete --exlude-from=/etc/rsync_exclude.lst /backup log.st.kr::backup
#데이터가 전송되기 때문에 /backup 디렉토리는 저장 공간이 많이 필요함
LVM:
용량: 3G 1G
RAID: 미러링 저장 기능때문에 주로 데이터베이스를 RAID에 저장하여 안전하게 저장함
용량: 2G 2G
#데이터베이스 복제 기능 활성화 시키기
apt -y install awstats
#3대서버
데이터 백업하기
cd /
mkdir /backup
public_html에 있는 php파일
데이터베이스 .sql파일
프로그램이 필요함
cron은 주기적으로 반복되는 일을 하도록 하는 서비스
nano backup.sh
#!/bin/sh
set $(data)
fname="backup-$1$2$3tar.xz"
tar cvzf /backup/$fname /home/word/public_html
chmod 755 backup.sh
./backup.sh
cd /
mkdir backup
chmod 777 /backup
nano /etc/crontab
10 16 * * * root /home/dvwa/backup.sh
cd /backup
ls
systemctl restart cron
리눅스 시간 동기화
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime