DAY6
DAY6

xshell로 서버 구축하기


UTM 실행(호스트 전용 네트워크 사용)
ubuntu(서버) 실행(포트포워딩 22(ssh))

192.168.0.214(서버) 접속

ip addr
ping 168.126.63.1

네트워크 환경은 NAT
10.0.2.15(가짜 IP) <-(NAT)-> 192.168.0.XXX (진짜 IP)

sudo apt update
sudo apt upgrade

sudo netstat -ant
sudo apt -y install net-tools
sudo netstat -ant
Bootstrap Example

포트 번호 암기하기


20, 21 ftp
22 ssh
23 telnet
25 SMTP
53 DNS
80 HTTP
110 POP
143 IMAP
443 HTTPS
3306 MYSQL



1. 텔넷 서버 구축
sudo apt-get install xinetd telnetd
2. 삼바 서버 구축
sudo apt-get install samba
3. dhcp 서버 구축
sudo apt-get install isc-dhcp-server
4. 프록시 서버 구축
sudo apt-get install squid
5. NFS 서버 구축
sudo apt-get install nfs-kernel-server
6. 웹 서버 구축
#일반적인 설치
sudo apt -y install lamp-server^


cd /var/www/html
sudo wget https://ko.wordpress.org/wordpress-6.6.1-ko_KR.tar.gz

7. 네임서버구축
sudo apt-get -y install bind9
8.메일서버구축
8.1 샌드메일 구축
sudo apt-get install sendmail
8.3 dovecot 설치
sudo apt-get -y install dovecot-core dovecot-pop3d dovecot-imapd
8.4 roundcube 설치
sudo apt-get -y install roundcube[no]



Bootstrap Example

kali로 방화벽 뚫기

kali
ssh master@125.246.95.152(사진;SSH)
연결 확인
100.100.100.254(r1 f0/0)
ping 1.1.1.1(r1 s1/0)
ping 1.1.1.2 (r2 s1/0)
ping 125.246.95.254(r2 f0/0)
ping 125.246.95.152(utm e1)

125.246.95.152 < 마스커레이딩(사진;InsidetoOutside)--- 192.168.0.0
125.246.95.152 --- NAT > 192.168.0.0

Bootstrap Example

보안1:22번 포트로 접근하는 100.100.100.1 차단하기

(사진; AnytoOutside(방화벽), InsidetoAny(방화벽))
1. 네트워크에서 22번 포트로 접근하는 100.100.100.1을 차단하는 방법(access-list)
config t
access-list 100 deny ssh 100.100.100.1 host 125.246.95.152 eq 22
access-list 100 permit ip any any
interface serial1/0
ip access-group 001 in
exit
exit
show access-lists


2. 서버에서 100.100.100.1 ip를 차단하는 방법(tcpwrapper)
꼭 allow 먼저 설정할 것
master >
      sudo nano /etc/hosts.allow
            sshd : 100.100.100.1
      sudo nano /etc/hosts.deny
            ALL : ALL

kali > ssh master@125.246.95.152

kex_exchange_identification: read: Connection reset by peer
Connection reset by 125.246.95.152 port 22


Bootstrap Example

해킹1:kali에서 웹서버에 접속하기


sudo nano /etc/hosts.deny 파일 내
            *ALL : ALL* 삭제

nat설정 OutsidetoDMZ(80)(사진;HTTP)

kali > master > netstat -ant | grep 80 (포트 80(http) 열려있는지 확인)
파이어폭스 > http:://125.246.95.152 접속



Bootstrap Example

해킹2: kali에서 st.kr로 접속하기


도메인 : st
st.kr
kali > master > netstat -ant | grep 53 (포트 53(dns) 열려있는지 확인)(사진;DNS)
      communications error to 192.168.2.1#53: host unreachable
      ;; no servers could be reached

Bootstrap Example

DNS 문제 해결


dns를 10.0.2.15로 두면 외부 네트워크가 어려움
dns 를 192.168.2.1 -> 125.246.95.152로 변경


Bootstrap Example

서버 문제 해결


에러 메세지
nslookup st.kr
;; Got recursion not available from 125.246.95.152
Server:       125.246.95.152
Address:       125.246.95.152#53

** server can't find st.kr: REFUSED
서버를 찾을 수 없음


서버 (root@master) >
nslookup st.kr
    communications error to 127.0.0.53#53: timed out
      ;; no servers could be reached

su (권한 실패)
sudo passwd root (123456으로 패스워드 생성)
su (/home/master로 이동, root)

cat /etc/hosts (호스트 파일 보기)
nano /etc/hosts (호스트 파일 수정)
      10.0.2.15 st.kr 추가
nslookup st.kr (파일 확인, kali 내부 네트워크상 연결 완료)
nano /etc/resolv.conf
      nameserver *10.0.2.15* 변경
cd /etc/bind
ls
nano named.conf.default-zones
아래 내용 추가
zone "naver.com" {
            type master;
            file "/etc/bind/naver.com.zone";
};

zone "127.in-addr.arpa" {
      type master;
        file "/etc/bind/db.127";
};


systemctl restart named

cp db.local st.kr.zone (db.local 파일을 st.kr에 복사)
chown root:bind st.kr.zone (권한변경?)
nano st.kr.zone (아래 내용 추가)
      @             IN          NS           ns.st.kr.
      @             IN           A             10.0.2.15
      ns           IN           A             10.0.2.15
      www       IN          A           10.0.2.15
      mail       IN           A       10.0.2.15
      php           IN           A             10.0.2.15
      study      IN            A             10.0.2.15
      *       IN      A       10.0.2.15

systemctl restart named

nslookup st.kr (서버, kali 둘다 뜸!)
      10.0.2.15 > 서버에서 사용하는 주소이므로 외부 연결 어려움(서버문제)

nano st.kr.zone (10.0.2.15를 125.246.95.152로 바꿔줌)
systemctl restart named


심화:파이어폭스에서 jyb.kr 웹페이지 띄워보기
nano named.conf.default-zones(아래 내용 추가)
zone "jyb.kr" {
      type master;
      file "/etc/bind/jyb.kr.zone";
};

nano st.kr.zone 내용 복사해서 nano jyb.kr.zone에 붙여넣기
systemctl restart named


Bootstrap Example

보안2: 칼리에서 ssh 접속시 email로 알람설정 하기


(월요일에 이어서)

ip addr

sudo apt update
sudo apt(-get) -y install evolution(NAT)

ubuntu >
netstat -ant | grep 25
netstat -ant | grep 110
netstat -ant | grep 143
systemctl start sendmail

utm >
SMTP(사진;smtp), POP3(사진;pop3), IMAP(사진;imap) NAT 규칙 추가