환경 구축 전 C/S 프로그램이 뭔지 어떻게 구성되어 있는지 알아보자.
C/S 프로그램이란
- Client&Server 방식으로 만들어진 프로그램을 의미
- Client로부터 받은 요청을 Server가 처리하고 다시 Client에게 결과를 돌려주는 방식
C/S 프로그램 구조
2-Tier
클라이언트와 서버가 두 개의 층으로 구성, 클라이언트가 직접 DB 서버에 접근하여 데이터를 가져온다.
장점
- 개발 및 유지보수가 쉽다: 클라이언트와 서버가 하나의 층으로 구성되어 있기 때문에, 개발 및 유지보수가 쉽습니다.
- 비용이 저렴하다: 서버가 하나만 필요하기 때문에, 비용이 저렴합니다.
단점
- 확장성이 떨어진다: 서버가 하나이기 때문에, 확장성이 떨어집니다.
- 성능이 떨어진다: 애플리케이션 서버와 데이터베이스 서버가 하나의 서버에 있기 때문에, 성능이 떨어집니다.
- 보안성이 떨어진다: 애플리케이션 서버와 데이터베이스 서버가 하나의 서버에 있기 때문에, 보안성이 떨어집니다.
3-Tier
클라이언트, 애플리케이션 서버, 데이터베이스 서버의 세 개의 층으로 구성
클라이언트가 애플리케이션 서버를 경유하여 DB에 접근하고 직접
장점
- 확장성이 좋다: 애플리케이션 서버와 데이터베이스 서버를 각각 독립적으로 확장할 수 있습니다.
- 성능이 좋다: 애플리케이션 서버와 데이터베이스 서버가 분리되어 있기 때문에, 성능이 좋습니다.
- 보안성이 좋다: 애플리케이션 서버와 데이터베이스 서버가 분리되어 있기 때문에, 보안성이 좋습니다.
단점
- 개발 및 유지보수가 어렵다: 클라이언트, 애플리케이션 서버, 데이터베이스 서버로 구성되어 있기 때문에, 개발 및 유지보수가 어렵습니다.
- 비용이 비싸다: 서버가 두 개 이상 필요하기 때문에, 비용이 비쌉니다.
취약한 테스트 C/S 프로그램 설치
준비물
- visual studio
(https://visualstudio.microsoft.com/ko/)
- docker
(https://www.docker.com/products/docker-desktop/)
- betaFAST(3-Tier), betaBANK(2-Tier)
(https://github.com/NetSPI/BetaFast)
1. betaFAST 압축을 풀고 해당 폴더에 접근하면 SLN 파일 확인 가능
Visual Studio를 통해 SLN 파일 열기
2. App.config에서 "127.0.0.1" → "betafast.net" 으로 변경
3. build 시도
4. 해당 폴더에서 Powershell 실행
5. Powershell에서 아래 명령어 순차 실행
docker-compose build
docker-compose up
6. etc/hosts에서 127.0.0.1, www.betafast.net 설정
7.betaFAST 앱 실행 확인
https://preamtree.tistory.com/39