반응형
안녕하세요. 혹시 여러분들은 IPTABLES와 UFW의 차이 그리고 Docker의 IPTABLES 접근에 대해 알고 계신가요?? 오늘 해당 주제를 다루어보도록 하겠습니다. 먼저 IPTABLES란 리눅스 운영체제에서 네트워크 패킷 필터링 및 NAT를 수행하는 명령어 기반의 방화벽입니다. 이를 통해 네트워크 트래픽의 흐름을 제어하거나 보안을 강화하거나 리소스를 관리할 수 있습니다. 명령어 중 Chain을 간단하게 알아보면 테이블 내에서 패킷 처리의 "흐름"을 정의합니다. 해당 부분을 기억하고 아래 글을 지속해서 읽어주시면 좋을 것 같습니다. 그럼 여러분들이 우분투에서 자주 사용하는 UFW는 무엇일까요? 많은 분들이 IPTABLES을 모르고 UFW만을 사용하시는 분들도 있을 것이라 생각합니다. UFW는 리눅스..
안녕하세요! 여러분들은 왜 Reverse Proxy를 사용하시는지 알고 계신가요? 알고 계신 만큼 속으로 생각해 보시고 스크롤을 내려보세요. 여러분들도 잘 알고 있듯 단일 포트를 통해 웹 서비스를 제공하기 위해 사용하고 있습니다. 내부적으로 운영되고 있는 Origin Server에 직접적으로 접근하지 못하고 Web Server를 통한 Reverse Proxy로 Origin Server에 접근이 가능한 것이죠 그럼 왜 사용하고 어떤 장점들을 가져갈 수 있을까요? 단일 포트로 여러가지 서비스를 제공할 수 있고 반드시 단일 포트로 제공되고 있는 Web Server를 거쳐야 하기 때문에 보안적으로 유리한 장점을 가져갈 수 있습니다. 또한, 부하를 여러 서버로 분산해주어 각 서버를 안정적으로 운영할 수 있다는 장..
안녕하세요! 혹시 HTTP와 HTTPS의 차이를 알고 계신가요?? 알고 계신 만큼 스스로 답변해 보세요! 많은 여러분들이 알고 있듯 SSL/TLS 인증서를 발급받고 네트워크 종단 간 암호화를 제공하여 안전한 통신을 지원하는 기술입니다. 즉, TCP 프로토콜 기반인 HTTP에 Secure 기능 추가하여 제공하는 것입니다! SSL, TLS 많이 들어보셨죠?? 그럼 SSL과 TLS의 차이점에 대해 알고 계신가요? SSL(Secure Socket Layer)과 TLS(Transport Layer Security) 전송은 이름에서 알 수 있듯이 안전한 계층 Layer를 웹 통신에 추가하는 방식입니다. 이를 수행하기 위해 웹 서버에 TLS 혹은 SSL 인증서를 발급받고 추가하여 사용하고 있죠. 프로젝트에서 사용하신..
Pipeline 프로젝트 생성 사전 작업 : Git Token 발급 및 등록 Jenkins 관리로 들어가 하단의 Credentials 클릭 적절한 권한 설정 및 생성 Repo 접근 위해서는 UserName With Password를 선택 Secret text를 선택하게 되면 Repo에 접근 불가. Github AccessToken → Read, Write 권한 Repo Item 생성 GitHub Project를 선택 후 해당 Repo 주소를 입력 Gitlab 사용 시 → Gitlab PlugIn 설치 후 해당 설정 사용 Pipeline 위치 명시 Git Repo 주소 및 이전에 등록한 Credentials Token 선택 Git 기준으로 Jenkins File 위치 PIPELINE 구축 간단한 예시 코드..
Jenkins란? https://security-gom.tistory.com/60 1. Jenkins 란? (Freestyle Project vs Pipeline Project) Jenkins란 Jenkins란 소프트웨어 개발 시 지속적인 통합(Continuous integration)을 제공해 주는 도구. 더불어 지속적인 배포 환경까지 구축할 수 있는 도구. Jenkins와 같은 CI 도구의 등장 전에는 일정 시간 security-gom.tistory.com Jenkins 설치 Docker Version → 설치 후 Native 11번 이후로 보기 sudo docker run -d --name jenkins -p 8080:8080 -v /home/ubuntu/jenkins_data2:/var/jenki..
Jenkins란 Jenkins란 소프트웨어 개발 시 지속적인 통합(Continuous integration)을 제공해 주는 도구. 더불어 지속적인 배포 환경까지 구축할 수 있는 도구. Jenkins와 같은 CI 도구의 등장 전에는 일정 시간마다 스케쥴러 등을 활용하여 빌드를 실행하는 방식이 일반적. 개발자들이 당일 수정한 코드가 반영되는 되는 심야 시간대(유저의 사용이 적은 시간)에 이러한 빌드 타이머(스케쥴러)가 집중적으로 실행되었는데 이것을 Nightly-Build라고 함. Jenkins는 코드의 통합 부터 빌드, 테스트(SonarQube 등), 배포 프로세스를 자동화하여 개발자의 시간 절약과 개발 생산성을 높임. Git과 같은 형상관리 시스템과 연동하여 커밋을 감지하면(WebHook 등을 활용) 빌..