DAY16
DAY16

미션1: st.kr의 메인 페이지를 수정하라!

(주)산특시큐리티

cd /var/www/html > root권한 (FTP연결 불가능)
su
nano index.html
    ctrl w > apache2 default page를 (주)산특시큐리티로 변경

Bootstrap Example

가상 하드디스크 추가하기

cd /home
fdisk -l
sda 확인

[oracle]
3server
hdd1~4 생성
(3,1,2,2기가 .vmdk)
fdisk -l
    추가된 하드디스크 확인(~sde)

fdisk /dev/sdb(sdb/sdc/sdd/sde)
(교재365p.)
m(메뉴얼)
n(생성)
p(정보보기)
enter enter enter enter
md(?)
w(저장)

(하드디스크에 파티션만 만듦, 아직 사용은 못함)
fdisk -l (확인)



하드디스크
교재 430p.

Bootstrap Example

LVM 설정

LVM
물리볼륨: /dev/sdb1, /dev/sdc1...
볼륨그룹: 물리볼륨을 합쳐서 1개의 물리 그룹으로 만든 것
논리볼륨: 볼륨 그룹을 1개 이상으로 나눈 것

파일 시스템 유형을 8e(lvm)로 지정하자
fdisk /dev/sdb(sdc)
m
n(생성)
t
l
8e

or
기존 타입을 삭제후 변경 가능함
d(삭제)
n
p
enter
t
8e

w(저장)

----------
볼륨그룹생성
pvcreate /dev/sdb1
pvcreate /dev/sdc1
vgcreate myVG /dev/sdb1 /dev/sdc1
vgdisplay
lvcreate --extents 100%FREE --name myLG myVG
ls -l /dev/myVG
(cd /dev/myVG/myLG ---> ../dm-1)
mkfs.ext4 /dev/myVG/myLG

cd /
ls

/home
cd /home
dvwa master word web web2 log
tar cvzf home.tar.gz ./ (압축)
cp home.tar.gz /backup (백업)
mount /dev/myVG/myLG /home (사전점검)
cd ..
cd /home
ls
(내용 사라짐)

nano /etc/fstab (이사)
    /dev/myVG/myLG /home ext4 defaults 0 0
reboot

cd /home
(비어있음)

cp /backup/home.tar.gz ./
ls
tar xvzf home.tar.gz (압축해제, 이사완료)


Bootstrap Example

도메인 연결 오류

kali
dvwa.st.kr
연결 오류 > netstat -ant | grep 80
    systemctl enable apache2
    systemctl start apche2
    netstat -ant | grep 80
dvwa.st.kr 재연결

Bootstrap Example

RAID 1 설정

파일 시스템 유형을 fd(RAID1)로 설정하자!
fdisk /dev/sdd(sde)
m
n(생성)
t
l
fd

or

d(삭제)
n
p
enter
t
fd

w(저장)

cd /
ls

mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdd1 /dev/sde1 (sdd, sde를 raid1 장치인 md1로 생성)
y

blkid | grep md

mdadm --detail --scan(생성확인)
mkfs.ext4 /dev/md1 (/dev/md0 포맷)
***마운트 하기 전에 cp * ..* /tmp 하지 않으면 전부 삭제된다...

cd /tmp
ls
mkdir /backup (마운트할 디렉토리 /backup 생성 (이미 있음))

mount /dev/md1 /backup (마운트=연결)
df(확인)

nano /etc/fstab
    /dev/disk/by-uuid/df17c082-35f3-46c1-98ca-3aed49dccc65 /backup ext4 defaults 0 0
systemctl deamon-reload
reboot

df(확인)
    왜인지 md127로 붙었다!!!

home > lvm (용량 크기 때문)
backup > raid (안전)

Bootstrap Example

접속시 메일로 알림이 오는 시스템 구축하기

cd /var/log
tail -f auth.log로 일일이 보는 대신 로그인 하면 알림이 오게 하고싶다~~!

[workbench]

SELECT * FROM Syslog-SystemEvents where FromHost='mail' and Message like '%user root%';

mysql
show Syslog;
use Syslog;
show tables;
select * from SystemEvents;
select FromHost from SystemEvents;


select FromHost,Message from SystemEvents limit 0, 10;



알림은 오는가?
log계정을 만들고 log로 메일을 보내자!

[3server]
adduser log
cd /
ls
만든 log 계정으로 서버에 로그인하기

thunderbird에 log@mail2.st.kr 계정도 만들기

cd /home/log
ls -a
    .bash_logout
    (로그인쉘이 종료할 때마다 읽고 실행한다.)
    .bashrc
    (사용자별 쉘 환경을 정의)
    .profile 등 확인 가능 (기본 생성 파일)
    (로그인 쉘이 시작될 때 실행되는 초기화 파일)
    >프로그램 실행 명령 넣어두기 좋다

    .bash_profile
    (시스템에 로그인할 때마다 읽고 실행한다.)
   
=> .profile 파일 내 실행 명령어를 넣어보자!


echo "test" | mail -s "title" log@mail2.st.kr (수동으로 메일 보내기)

cd /home/log
nano alert.sh
    1트
    IP="127.0.0.1"

    echo '' $IP '' on '' | mail -s '' log@mail.st.kr

    2트
    IP= "$(echo $SSH_CONNECTION)" (포트번호 보임)

    echo '' $IP '' on '' | mail -s '' log@mail.st.kr

    3트
    IP="$(echo $SSH_CONNECTION | cut -d " " -f 1)" (포트번호, 서버 없애줌)
    Hostname=$(hostname)
    NOW=$(date + "%e %b %Y, %a %r")
    echo 'Someone from '$IP' logged into '$HOSTNAME' on '$NOW'.';
    mail -s 'SSH Login Notification'



chmod 777 alert.sh
./alert.sh
(메일 오는지 확인 가능! 교재 448p. 환경변수)

source .profile (실행)

nano .profile (log사용자 로그인 시 알림)
    ."$HOME/alert.sh"

source ./profile (수정 적용)

su
nano /etc/profile (모든 사용자 로그인 시 알림)
    ./home/log/alert.sh

cd /home/log
cp alert.sh /tmp
(tmp는 임시 디렉토리)


Bootstrap Example

미션1: 해커가 접속 시 메일로 탐지해보자!

nano /etc/hosts.allow
nano /etc/hosts.deny
설정 다 리셋(#)

kali(master)로 접속했을 때 메일 오는지 확인
    발신자 확정안됨...?

workbench
SELECT * FROM Syslog.SystemEvents where Fromhost='IP214' and Message like '%user master%' order by ID desc limit 10;