산대특 5기

5일차 250627

http : 웹서비스 ftp : 파일 전송 서비스 두가지 사용하는 포트 번호가 다르다 잘 알려진 포트 번호 21 : ftp 22 : SSH 23 : Telnet 25 : SMTP 53 : DNS 80 : http 110 : POP3 143 : IMAP 3306 : MYSQL 포트포워딩 : 연결한 포트를 보고 연결을 해준다 -> UTM에 기능이 있음(NAT) NAT란? 공인 ip를 사설 ip로 바꿔서 쓰는 것 마스커레이딩(Masquerading) : 안쪽(사설 ip)에서 밖으로 나갈때 사용 -> 사설 ip는 라우팅 할 수 없기 때문에 바꿔줘야함 NAT : 밖에서 안쪽(사설 ip)으로 포트를 통해 들어올 때 => http,dns,ftp http, ftp, dns 연결하기 위해서 NAT 규칙 만들기 서버로 들어오기 위해선 일단 152까지는 들어와야 함 => 트래픽 목적지를 Outside(Address)로 설정 목적지는 서비스에 없기 때문에 추가해줘야함 후 kali에서 nslookup해보기 어제 윈도우 서버의 dns 설정을 192.168.1.1로 설정했었기 때문에 주소가 1.1로 뜸 공유기로 NAT 확인하기 공유기도 라우터 안에 NAT기능을 하는 부품이 있고 이것도 어제 공부했던 UTM처럼 웹으로 접속할 수 있음 공유기를 웹으로 접속하면 설정 중 포트포워드 설정이 있음 dmz에는 서버를 여러개 둘 수 있음 => 윈도우 서버를 dns로 쓰고 나머지 web서버는 linux로 rocky linux 설치하기 root -> 비활성화 활성화하면 외부에서 접속해 변경시킬 수 있기 때문에 안전하게 차단 ubuntu virtualbox에 설치하기 enp0s3 eth - DHCPv4 10.0.2.15/24 08:00:27:4e:5a:19 install openssh server을 체크하지 않으면 서버로 가서 설정해야함 * 설치완료( 우분투용 ) 1.업데이트 업그레이드 sudo apt update sudo apt upgrade 2. 필수 프로그램 설치 sudo apt -y install lrzsz sudo apt -y install net-tools -> netstat 명령어위해 설치 sudo apt -y install unzip 2-1 명령어 ip addr netstat netstat -ant sz 파일명 3. 서버 프로그램 설치 -> -y : 질문 없이 설치 sudo apt -y install xinetd telnetd sudo apt -y install openssh-server sudo apt -y install xrdp sudo apt -y install bind9 bind9utils [v]sudo apt -y install lamp-server^ : 포트 80번을 추가하고 웹으로 가서 컴퓨터 주소에 접속하면 기본 우분투 화면이 뜸 php 8.3 사용 #일반사용자 계정 허용하기 -> root로 들어가기엔 위험도가 높으니 일반사용자인 master로 접속 http://192.168.0.201 http://flowbysy.co.kr 기본 경로 : /var/www/html (주인 : root) sudo a2enmod userdir sudo systemctl restart apache2 Forbidden 확인 ls mkdir public_html chmod 711 $HOME chmod 755 /home/master/public_html cd public_html touch index.html 일반사용자 허용하면 http://192.168.0.201 http://flowbysy.co.kr/~master 이렇게 뜸 이걸 http://flowbysy.co.kr 이렇게 바꾸려면 일반사용자의 홈디렉토리를 변경해야함 cd /etc/skel mkdir public_html cd public_html touch index.php touch index.html mkdir auth mkdir includes mkdir logs cd logs touch access.log touch error.log #호스팅설정 cd /etc/apache2/sites-available nano hosting.conf nano /etc/apache2/sites-available/hosting.conf # create new # settings for new domain <VirtualHost *:80> DocumentRoot /home/master/public_html ServerName flowbysy.co.kr ServerAdmin master@flowbysy.co.kr ErrorLog /home/master/public_html/logs/error.log CustomLog /home/master/public_html/logs/access.log combined </VirtualHost> => 이제 master의 public_html이 기본경로가 됨 a2ensite hosting systemctl reload apache2 #프레임워크 설치 https://codeigniter.com/download public_html에 codeigniter 업로드하고 unzip [파일명] 하여 압축 풀기 파일을 CI4로 옮기기 CI4 : php 프레임워크 따라서 nano index.php 생성 #추가설정 ->codeigniter를 적용했는데 php가 정상적으로 작동하지 않으니 작동을 위한 환경을 구축 sudo apt -y install php8.3-fpm sudo a2enmod proxy_fcgi setenvif sudo a2enconf php8.3-fpm sudo systemctl restart php8.3-fpm apache2 === [v]sudo apt -y install roundcube : 메일을 웹으로 가져와서 확인 sudo apt -y install sendmail sudo apt -y install dovecot-pop3d sudo apt -y install dovecot-imapd 이 3개가 설치 되어야 roundcube가(email) 작동함 sudo apt -y install mariadb-server mariadb-client [v]sudo apt -y install vsftpd : 파일 업로드 sudo apt -y install proftpd sudo apt -y install nfs-kernel-server sudo apt -y install nfs-common sudo apt -y install samba sudo apt -y install isc-dhcp-server sudo apt -y install squid sudo apt -y install isc-dhcp-server tftpd-hpa inetutils-inetd prelinux sudo apt -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt -y install docker-ce docker-ce-cli containerd.io docker run hello-world docker pull centos 4. ELK, SPLUNK sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg -y curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elastic-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/elastic-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list sudo apt update sudo apt install elasticsearch -y sudo apt install kibana -y sudo apt install logstash -y === 리눅스를 Xshell로 접속하기 위해서는 컴퓨터주소를 쳐줘야함 : 192.168.0.201 포트포워딩을 해줘야함 우분투로 가서 ssh 설정해주기 +Xshell에서 ssh 연결이 안될때 유닉스 -> 설정 -> 네트워크 -> NAT으로 설정되어있는지 확인 후 Xsehll에서 ssh 192.168.0.201 === 연결 점검표! 1. kali의 ip는 정상적인가? -> ip addr (가까운 곳부터 연결되는지 확인하기) 100.100.100.1 ping 100.100.100.254 ping 4.4.4.1 ping 4.4.4.2 ping 125.246.95.254 ping 125.246.95.152 2. 도메인 조회 -> nslookup flowbysy.co.kr > 방화벽 (NAT 설정) > 서버 (DNS 설정) === php에 wordpress나 owncloud를 사용할 수 있으나 수업은 웹해킹을 목적으로 하기 때문에 이건 개인적으로 설치해볼것!