Introduction

신용카드 중 The More는 5,000원 이상의 결제 금액에 대해 1,000원 미만의 포인트가 적립된다.
이를 통신비와 같은 서비스에 분할결제로 적용하면 약 16.65%의 이득을 볼 수 있다. ($\because\frac{999}{5999}\times100$)
하지만 아래와 같은 제약이 존재한다.

동일한 가맹점의 경우 1일 1회에 한하여 포인트 적립이 되며, …

따라서 하루에 한 번만 The More 카드로 5,999원이 결제되도록 Apache Airflow의 DAG를 구성한다.
물론 논란은 많지만 개발도 연습하기 좋은 예제였다.

Read more »

Introduction

Subdomain을 생성하기 위해 새 domain을 GoDaddy에서 구매했다.
하지만 구매한 domain은 DDNS (Dynamic Domain Name System)가 아닌 DNS (Domain Name System)이므로 공유기에 할당된 external IP가 변경되면 새로 바꿔줘야한다.
물론 DDNS service를 연결할 수 있지만 무료로 이용하려면 제약되는 것들이 많아서 IP가 변경되는 순간 Discord Webhook로 메시지가 전달되도록 구성해보겠다.

Read more »

Google OAuth

여기에 접속해 아래의 과정을 수행한다.

  1. 프로젝트 생성
  2. OAuth 동의 화면 생성
  3. OAuth 클라이언트 ID 생성

oauth

Read more »

Introduction

Web 기반 사용자 interface Kubernetes Dashboard를 구축해보자!
이를 통해 사용자는 container화 된 application을 Kubernetes cluster 내에 배포하고, 문제를 진단하며, 클러스터 자원을 관리할 수 있다.

  • Resource Monitoring: 라이브 node 정보, CPU 및 memory 사용량과 같은 cluster의 핵심 지표 모니터링
  • Application 배포: Web interface를 사용하여 application 배포 및 관리
  • 문제 진단: Log, event 및 cluster resource 정보를 확인하여 application의 문제 파악 및 진단
  • Object 관리: Deployments, Jobs, DaemonSets 등과 같은 Kubernetes object의 생성, 수정 및 삭제
Read more »

Introduction

Fail2Ban의 명령어 중 sudo fail2ban-client status sshd을 사용하면 아래와 같은 결과가 나온다.

fail2ban

1
2
3
4
5
6
7
8
9
10
$ sudo fail2ban-client status sshd
Status for the jail: sshd # Service에 대한 보호 규칙
|- Filter # 악의적인 활동 정보
| |- Currently failed: 2 # 2개 기기의 잘못된 로그인 시도
| |- Total failed: 7 # 시작된 이후 총 7번의 잘못된 로그인 시도
| `- Journal matches: _SYSTEMD_UNIT=sshd.service + _COMM=sshd # Fail2Ban의 시스템 로그를 감시 방법
`- Actions # 악의적인 활동을 감지했을 때 취하는 조치에 대한 정보
|- Currently banned: 1 # 현재 차단된 IP 주소의 수
|- Total banned: 1 # 총 차단된 IP 주소의 수
`- Banned IP list: XXX.XXX.XXX.XXX # 차단된 IP

차단된 기기에서 SSH를 연결하려 시도하면 아래와 같이 실패하게 된다.

1
2
$ ssh ${USER}@${IP} -p ${PORT}
ssh: connect to host ${IP} port ${PORT}: Connection refused

이걸 매번 확인할 수는 없기 때문에 의문의 중국 해커가 공격하면 알람을 받을 수 있게 Apache Airflow와 Discord를 사용해보겠다!
사실 그거 안다해도 포맷 말고 할 수 있는게 없긴 한…

Read more »