[APM-AWS-3] PHP를 통한 웹서버 구축 (로그인/홈페이지 접속) - 코드포함
·
모의해킹
APM 구축이 완료되었으므로 html, php 를 활용하여 페이지를 만들어보려고 합니다. MySQL 에는 users, users_pw 테이블을 생성하여 id 와 pw 를 따로 분리하여 저장하도록 구성했습니다. pw 는 password_hash 를 사용하여 만들었습니다.프로젝트 구조/var/www/html/├── assets/ # 정적 리소스│ ├── img/ # 이미지 파일│ └── style.css # 전역 스타일시트│├── inc/ # 공통 include 파일 (모듈)│ ├── auth.php # 로그인 세션 체크 및 접근 제어│ ├── config.p..
[APM-AWS-2] MySQL 설치 / Lightsail (Ubuntu)
·
모의해킹
[APM-1] AWS Lightsail 에 Ubuntu 24.04 / Apache2/ PHP 설치모의해킹을 위한 WEB, WAS 서버를 구축합니다. 우선 서버 Instance 생성, Apahce, PHP 설치 를 진행한다.서버 환경AWS LightsailLightsail 은 저렴한 서비스는 3개월 무료로 사용할 수 있다. APM 서버 자체가 가볍bob-data.tistory.com이전에 APM 구조중 Apache2, PHP 서버를 설치했습니다. 이번에는 MySQL을 설치 합니다.Lightsail 에서 가장 저렴한 (Ram - 512MB, vCpu - 1) 을 사용하였는데, MySQL 설치중 메모리가 부족하여 원활한 설치가 진행되지 않는 문제가 발생했습니다. 그래서 한 단계 업그레이드 진행했습니다. 제 기..
[APM-AWS-1] Apache2-PHP 설치 / Lightsail Ubuntu 24.04
·
모의해킹
모의해킹을 직접 해보기 위해서는 웹서버가 필요합니다. 가장 기초적인 APM (Apache-PHP-MySQL) 구조를 활용합니다. 이 포스트에서는 모의해킹을 위한 WEB, WAS 서버를 구축합니다.우선 서버 Instance 생성, Apahce, PHP 설치 를 진행합니다.서버 환경AWS LightsailLightsail 은 저렴한 서비스는 3개월 무료로 사용할 수 있다. APM 서버 자체가 가볍기 때문에 최저 사양으로 사용하기로 결정했다. 앱인 설치된 것도 할 수 있지만, Apache, PHP, MySQL 모두 직접 설치해보고 설치과정에서 발견할 수 있는 취약점이 있지 않을까 해서 직접 설치하기로 결정했다. 참고로 LAMP 는 SSL 자동구성, Linux, Apache, PHP, MariaDB 가 설치되어..
Teams 휴가 시스템 구축 - Microsoft 365 (Automate 자동화, Power Apps 연동)
·
Cloud
Microsoft 365 기반 휴가 신청 및 승인 자동화 시스템 구축 기록직장 내에서 휴가를 관리하는 일은 생각보다 복잡한 작업인 것 같습니다. 누가 언제 휴가를 갔는지, 대기 중인 요청은 어떤 것인지, 승인자는 어떻게 확인하고 처리할 수 있는지 등 여러 절차가 수작업으로 진행되면 누락이나 중복, 혼선이 발생하기 쉽습니다.우리 회사는 이전까지 노션을 활용해 팀원들의 연차 및 휴가 일정을 공유해왔습니다. 모두가 자유롭게 수정 가능한 구조였기 때문에, 다른 사람의 휴가 일정을 확인하는 데에는 편리했지만 승인 절차가 없고, 데이터 변경의 위험성이 있다는 점에서 개선이 필요했습니다.이런 문제를 해결하고자, Microsoft 365의 다양한 앱을 연동하여 휴가 신청과 승인 절차를 자동화하는 시스템을 구축하게 되었..
[CI/CD] GCP 서버 CI/CD 파이프라인 구축 (Github Actions)
·
Git
운영 중인 백엔드 시스템에 CI/CD를 도입하면서, 코드 배포의 시간을 50% 이상 단축할 수 있었습니다. 1. 프로젝트 환경 구성현재 시스템은 다음과 같은 구조로 운영되고 있습니다:로컬 개발 환경 → Bastion Host → Portal Server개발된 코드는 GitHub를 통해 관리되며, Bastion Host를 거쳐 Portal Server에 배포됩니다.기존 구조: Local (.war 파일 mvn build) -> .war 파일 Bastion Host 전송 -> .war 파일 Portal Server 전송 -> 배포보안 강화 구조 (GCP Private IP + IAP)Portal 서버는 GCP 내부 네트워크에 위치하고 있으며, 외부에서 직접 접근할 수 없고, IAP(Identity-Aware..
[GCP] Bastion Host VM 서버 구축 (Proxy, OS Login)
·
Cloud
GCP 환경에서 직접 VM에 외부에서 접근하는 것은 보안상 위험이 있어, 안전한 방법을 찾게 되었습니다. 특히, Cloud IAP(Identity-Aware Proxy)를 활용해 외부 IP 오픈 없이도 SSH 접속을 가능하게 하려는 요구가 있었고, 이를 위해 Bastion Host를 설정하게 되었습니다. Bastion Host는 관리용 VM으로 최소한의 보안 구성을 갖추어 내부 자원에 대한 안전한 접근 통로 역할을 합니다.1. Bastion Host VM 설정VM 생성 방법Compute Engine → VM 인스턴스 → ‘인스턴스 만들기’ 선택주요 설정 값이름: bastion-host-dev리전/존: 서비스 환경과 동일한 리전 선택 (예: asia-northeast3-a)머신 타입: e2-medium (..
[GCP] Google Cloud Armor 적용 (feat. Custom Error page - Cloud Storage)
·
Cloud
서비스를 운영하다 보면 내부 시스템을 외부에 노출시켜야 하는 상황이 생긴다. 특히 클라이언트사 담당자들이 접근하는 운영/통계용 대시보드는 접근 권한을 세밀하게 제어해야 할 필요가 있는데, GCP 환경에서 Google Cloud Armor를 활용한 IP 기반 접근 제어를 구현하게 되었다.이 글은 Cloud Armor를 활용하여 특정 IP만 접근 가능하도록 구성하고, 허용되지 않은 IP는 커스텀 에러 페이지로 유도하는 구성 방법을 상세히 정리한 실전 가이드이다.왜 Cloud Armor를 도입했는가Cloud Armor를 도입한 이유는 명확하다. 운영 중인 VM이 퍼블릭하게 노출되어 있고, 이 서비스에 접근 가능한 IP를 고객사 내부망으로 제한하고자 했기 때문이다.GCP의 VM 방화벽 기능으로도 IP를 제어할 ..
[Apache upgrade] 2.4.55 -> 2.4.60 version 업그레이드 (CentOS 7.9.2009)
·
컴퓨터 과학 [CS]
Apache 2.4.55 버전이 보안 검사에서 이슈가 많이 발생해서 2.4.60 버전으로 업그레이드 하기로 결정했다. 서버는 CentOS 7.9.2009 다. 신경 써야 될 부분도 있었는데, 기존 Apache 는 유지 시키고 새 경로에 Apache 를 설치 했다. (문제 생길시 바로 되돌리기 위해)  아래는 꼭 신경 써야 하는 내용들이다 apr, apr-util 설치로드 밸런싱을 사용한다면 mod_jk 도 설치 해야한다. (이 경우는 yum update 를 하는게 아니라면 workers.properties 파일을 생성하고 거기에 로드밸런싱 설정 값을 넣어 줘야 한다.)적용하는데 어렵지는 않지만 서비스 중인 서버라면 서비스가 멈추지 않도록 계획을 잘 짜야 한다.1. Apache 버전 확인현재 설치된 Apa..