728x90
728x90
1. 서론 본 포스트는 서버 업그레이드 기법인 Scale-Up과 Scale-Out에 대해 정리하였다. 서비스의 운영과정에서 경제적, 기술적인 이유로 서버의 규모를 변경해야하는 상황이 생기는데, 이때 서버 규모를 확장하는 방법에 따라 장단점이 있기 때문에 이에 대해 정확히 알고있어야 한다. 2. Scale-Up Scale-Up은 간단히 말해 개별 서버의 사양을 보다 높은 사양으로 업그레이드 하는 것을 말한다. 예를 들어 컴퓨팅 성능이나 스토리지의 용량 증대를 이유로 서버에 스토리지를 추가하거나 CPU, 메모리 등의 하드웨어적인 측면의 업그레이드이다 (만약 하이퍼바이저를 통해 가상화된 서버라면 자원의 할당량을 증가시키는 것이다.) 추가적인 네트워크 구성 없이 성능 증강이 가능하고, 업그레이드에 따른 추가적..
1. 서론 이번 포스팅에선 docker-compose.yml 파일의 작성법을 정리했다. 본 포스트에선 3.9 버전의 docker-compose.yml을 기준으로 작성되었으니 참고 바란다. docker-compose란 다수의 컨테이너로 구성된 서비스를 구축 및 실행 관리할 수 있는 기능이고, 이러한 기능을 docker-compose.yml이라는 파일로 정의할 수 있다. docker-compose를 이용하면 기존 docker 명령어로 컨테이너를 생성하고, 네트워크를 생성 및 연결하는 등의 일련의 과정을 간편하게 자동화시킬 수 있다. docker-compose를 사용하기 위해선 컨테이너로 만들 이미지가 준비되어있어야 한다. docker-hub에 올라가있는 이미지를 사용할 수도 있고, 따로 이미지를 만들어야 할..
1. 서론 본 포스트는 작은 서비스 규모에서의 각 Peer간의 서버측면 저비용 통신 서비스를 구현하는 것에 목적을 두고 있다. 물론 필자가 소개한 방법보다 더 효율적인 방법이 있을 수는 있다. 이에 대한 의견은 적극 수용하고 있으니 다른 의견이 있다면 댓글로 남겨주기 바란다. 2. 본론 2-1. 문제확인 Peer간 통신을 구현하는 방법으로는 여러방법이 있겠지만, 대표적으로 사용하는 방법으로 socket 통신이 있다. 특히 Web기반의 클라이언트에서는 앞에서 말한던 socket과 비슷한(엄밀이 말해서 둘이 다른 프로토콜이긴 함) WebSocket을 이용할 수 있다. WebSocket 서버를 가운데 두고 각 Peer가 WebSocket 서버에 바인딩이 되면 서버를 통해서 각 Peer가 Private Chan..
1. 서론 본 포스트는 Docker와 Jenkins를 이용한 Docker 배포 자동화를 구축하는 방법에 대한 내용을 다루고있다. 기본적으로 Ubuntu 기반의 환경을 기준으로 설정하고있음을 참고하길 바란다. 개발이 되는 중간중간에 배포가 필요할때 일일이 수작업으로 빌드하고 서버에 배포하는 반복과정을 여간 귀찮은 일이 아니다. 그래서 이러한 반복적인 빌드 및 배포과정을 편리하게 자동화할수 있는 CI/CD(Continuous Integration 지속적통합 / Continuous Deploy 지속적배포) 툴들이 많이 공개되어있다(역시 귀찮은거 못참는건 누구나 다 똑같다.) 그래서 이 Jenkins를 이용하여 Docker에 서비스를 빌드하고 배포하는 과정을 자동화해보려 한다. 그리고 Jenkins가 UI가 좀..
1. 서론 본 포스팅 시리즈는 webhacking.kr의 문제 풀이를 하면서 정리한 자료이다. 필자가 풀이한 방법들이기 때문에 완벽하지 않을 수도 있다는 점을 참고 바란다. (지적과 조언은 언제나 환영이다) 이번 문제는 old-24, PHP extract 함수의 취약점 활용이 필요한 문제이다. 2. 본론 이번 문제를 처음 접속하면 이러한 화면을 볼 수 있다. client ip라는 항목으로 접속자의 ip 주소가 보이고, 바로 아래에는 접속자의 브라우저 정보가 보인다. 그리고 표 아랫쪽에 "Wrong IP!"라는 문자열이 눈에 띈다. 아마 ip 주소를 조작해야하는 문제인 듯하다. 이건 이번 문제의 소스코드이다. 일단 문제 해결조건은 $ip 변수이 값이 "127.0.0.1"이 되도록 하는 것이다. 그럼 $ip..
1. 서론 본 포스팅 시리즈는 webhacking.kr의 문제 풀이를 하면서 정리한 자료이다. 필자가 풀이한 방법들이기 때문에 완벽하지 않을 수도 있다는 점을 참고 바란다. (지적과 조언은 언제나 환영이다) 이번 문제는 old-23, NULL Byte Injection 활용이 필요한 문제이다. 2. 본론 이번 문제에 접속하면 이런 화면을 볼 수 있다. 이번엔 이 페이지에 ""를 삽입하는 것이 목표이다. 그래서 우선 여러가지 케이스들을 넣어보고 상태를 관찰해보았다. 기본적으로 문자열을 입력한 후 submit을 하면 입력 폼 윗쪽에 흰색 텍스트로 나타나게 되는데, 일부 케이스에 경우 입력한 값이 그대로 출력되지 않고 "no hack"이라는 문자열이 나타난다. 현재까지 확인한 케이스들을 기반으로 규칙을 추정해..