-
오늘의 공부 - ec2? 칼리리눅스? 웹서버 ? 리눅스? http?????? 문제투성이...2학년/이모저모 2023. 3. 6. 18:46
혼자서 뭐 하려니까 너무 뭐가 뭔지 모르겠다.
아직 수업을 다 안들어서 그런가 컴구조 리눅스 이런거 들으면 감이 잡히나 ?
궁금한거는 이거다. 백엔드 콘솔로그 과정을 통해 django로 만들었던 백엔드 서버가 뭔가...
아니 도대체 웹서버는 뭔데? ec2로 인스턴스 가상환경 만들면 뭐함 이걸로 뭘 해야할 지 모르겠는데.
이부분이다
그래서 오늘까지 생각하고 공부해 본 거는 다음과 같다. 생각의 방향 주절주절이니 정리는 안되어있음
일단 AWS에 대해서
일단 ec2에 대한 "이론"은 빠싺함.
클라우드 컴퓨팅? EC2? AWS?
서버? 클라이언트의 요청을 이행할 수 있는 서버 클라우드를 이용해서 서버를 열 수 있다 클라우드 컴퓨팅이란? 인터넷을 통해 서버를 요청하면 제공하는 방법 온디맨드( 주문한 시점에 바로 쓸
zmal.tistory.com
AWS자격증 과정 들으면서 정리했던 것. 여기에 대해 그리고 자격증 따는 거 까지는 여기서 제공해준 교재 참고하면서 하면 AWS자격증까진 딸 수 있겠슴!! 근데 나는 실무? 실무라고 하는게 맞나... 가 궁금하다.
진짜 이거 방학때 3일 듣고 난 뒤부터 내내 고민해보고 찾아봤는데 뭔 ec2인스턴스 생성밖에 안 나옴
이 인스턴스 생성 글을 정독하고 참고해서 나온 결론
1. ec2는 웹서버를 만들 수 있다 = 가상머신
2. 웹 서버란 클라이언트 요청을 실행할 수 있는 서버. 아직도 이해가 안돼서 https://velog.io/@zzz0000227/%EC%9B%B9%EC%84%9C%EB%B2%84%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80사이트 봤다.
하드웨어로 웹서버를 본다 - 네이버라는 서버의 html문서, css stylesheets, javascript등과 같은 컴포넌트"파일"들이 모여있는 컴퓨터.
소프트웨어로 웹서버를 본다 - 백엔드 기능
이란 소리 아님? 웹 사용자가 어떻게 호스트 파일들에 접근하지는지 관리하는거면 응답과 반응을 주고받는다...응답해주면 http서버를 통해 "보여줌" 인데
이거 하다가 문득 떠오른 읽었던 책 한 권.. 바로 웹 해킹의 기초 !
여기서 정리하는 웹서버와 http에 대해서가 이해가 잘 되고 깔삼했다.
웹서버 = 서버의 "운영체제 위에" 돌아가는 한 뭉치의 "software" 일뿐이다.
예시로 보면 확 이해가 되는데 대표적인 웹서버가
윈도우서버에서의 인터넷 정보 서비스( 하드웨어 컴퓨터와 같이 directory /bin /usr 이런 거 가진다)
리눅스 서버에서의 아파치 http ( /var/www/ 디렉토리에 위치해있다 )
디렉토리 위치가 있다 >>> 소프트웨어다 라고 생각하면 될 듯
3. http에 관해
http > 평문기반 protocol. 쿠키로써 기타 정보를 저장함
web server 에서 web application이 http 프로토콜로 연결이 되는데 이걸 http cycle이라고함.
http cycle = client(내컴퓨터) 가 요청 > 매개변수로 전달되는 요청값 > webserver에서 확인 후 응답
여기서 오류가 뜰 수 있는데 http 상태코드로 확인 가능하다. 우리가 가장 흔히 보는거는 503, 404가있다
500번대는 서버측 오류, 400번대는 클라이언트 요청 오류인데 503이 뜨면 서버 문제 404가 뜨면 내 요청을 web 이 수행할 수 없다는 뜻. 이것도 웹 해킹의 기초 책에서 이해시켜줬다....
4. 백엔드
저번에 정리한 콘솔로그1주차에서 백앤드에 관해 정의를 적어놨다
백앤드는 데이터 느낌.... 이렇게 하면 너무 그냥 붕 뜬 느낌이죠?
static page와 dynamic page가 있다.
static page : 클라이언트가 바뀌지않는 정보를 웹서버를 통해 요청하면 DB에서 읽어온 후 다시 클라이언트로 응답해줌.
네이버를 켜면, 보이는 image, html, css,javascript와 같은 고정 페이지 인 듯.
dynamic page : 클라이언트 요청에 따라 바뀜. WAS라고 함.
Webserver static서버를 DB 구현하고 WAS dynamic 요청을 http로 보면 쿠키 느낌의 DB에서수행한다.....맞나요.....
그래서 웹서버 아키텍쳐를 보면
client > webserver > DB >ws > client( 고정값 페이지 요청 )
client > WAS > DB > ws > client ( 동적값 페이지 요청 )
client > web Server > WAS > DB (웹서버에서 오류가 발생한 WAS 빼고 수행하여 효율성측면에서 good)
5. 그럼 내가 사이트 만들었던 django는 뭔데?
python기반으로 만든 웹서버 프레임워크...? runserver로 web server 와 web application역할을 둘 다 같이한다고 봄
프로덕션환경에선 이게 웹 프레임워크이기 때문에 다른 서버를 사용하라고 명시되어있음
지금까지보면 그럼 aws는 웹서버이기때문에...클라이언트 요청이 http에서 들어오면 그 요청을 이행할 수 있게 도와주는 가상머신일 뿐이다 !!!!
다음 할 것 :
1. 웹 해킹 기초 책을 보고 백앤드 이런 거 정리하고나니,,,
모의해킹을 위한 웹 서버를 만들고 해보기 위해서는
ec2로 웹서버 만들고 그걸 칼리리눅스에서 모의해킹 해봐야겠다! 인데,,, 쉽지않을 거 같고
https://haerinn.tistory.com/93
[Webhacking] 웹 해킹 환경 구축
환경 구축 : 칼리리눅스(공격자 서버) -> 취약한 웹서버(Beebox), MetasploitableV2, windows pc vmware에 kali-linux(공격자 서버)와 bee-box(웹서버)를 설치할 것이다. vmware workstation 다운 칼리리눅스(공격자 서버)
haerinn.tistory.com
여기 참고해서 BEEbox웹서버로 먼저 해보자.
2. 실습도 중요하다만,, 나는 아직도 웹서버 백엔드 해킹 DB 클라이언트 얘네가 어케 돌아갈 수 있는지...모르겠다 더더더더더더더더더더더 공부하기
3. 아직도 풀리지 않은 ec2인스턴스의 AMI선택... window server 리눅스 서버 우분투 먼데 !!!! 각각 역할과 차이점 알아보기
마지막으로 나는 리눅스가 운영체제이며 윈도우와 다르게 커널 ( 컴퓨터 자원 관리 영역) 으로 GUI 가 없다는 점, 우분투는 리눅스 배포판으로, 커널 리눅스 ( core )가지고 지 입맛대로 IOT 장치를 만들거다 ! 클라우드와 서버를 구성할거다 ! 식의 용도를 찾아 커스터마이징 한 거라는 점, 칼리리눅스도 우분투와 마찬가지로 리눅스 배포판으로 야는 데비안리눅스 기반의 해킹/보안도구가 포함된 리눅스라는 점 !!!!!!을 기억하면 좋겠다...
728x90'2학년 > 이모저모' 카테고리의 다른 글
레지스트리(Registry) (0) 2023.03.10 IP Address (0) 2023.03.08 PORT (0) 2023.03.08 FHS디렉터리 구조 (0) 2023.03.06 SSH (0) 2023.02.12