Amazon Lightsail に crAPI をインストールしてみた

API脆弱性テストを行うのに、OWASP が提供しているcrAPI (completely ridiculous API ) をインストールしようと。

 

crAPI:

github.com

上記リンクにアクセスすると、まずはdocker をインストールしろと。

自分の検証用の環境は以下の通りで。

インスタンスAmazon Lightsail を利用

OS: Ubuntu22.04

 

Amazon Lightsail: 

aws.amazon.com

Install Docker Engine on Ubuntu:

docs.docker.com

 

まずは、update && upgrade を。

       sudo apt-get update && sudo apt-get upgrade -y

 

Dockerの公式GPG key を追加して。

  sudo apt-get install ca-certificates curl

 

/etc/apt/keyrings というディレクトリを作成し、パーミッションを設定し。

  sudo install -m 0755 -d /etc/apt/keyrings

       install: 指定したファイルやディレクトリを作成・コピーするコマンド

  -m 0755: 作成するディレクトリのパーミッションを0755 に設定

  -d: ディレクトリを作成

  /etc/apt/keyrings: 作成するディレクトリのパス

 

Docker のGPG公開鍵をダウンロードして、/etc/apt/ekyrings/docker.asc に保存。
  

       sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

※1行で入力

 

DockerのGPG鍵ファイルに全てのユーザーが読み取りできる権限を付与して。

        sudo chmod a+r /etc/apt/keyrings/docker.asc

 

APTのソースにレポジトリを追加して。

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update

 

最新バージョンが実行できて。

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

 

docker --version でインストールが成功しているか確認でき。

 

これでdocker がインストールできたので、crAPIをインストールし。

 

まずはcrAPIのリポジトリをクローンして。

  git clone https://github.com/OWASP/crAPI.git
  cd crAPI/deployment/docker

 

.env ファイルがあるので、開くと以下のような内容かと。

IDENTITY_SERVER_PORT=8080
COMMUNITY_SERVER_PORT=8087
WORKSHOP_SERVER_PORT=8000
ENABLE_SHELL_INJECTION=false
ENABLE_LOG4J=false
LISTEN_IP="127.0.0.1"
TLS_ENABLED=true
VERSION=latest
LOG_LEVEL=INFO

 

今回自分は、外部クライアントからアクセスしたかったので、LISTEN_IP="127.0.0.1" をLISTEN_IP="0.0.0.0" に変更し。

また、crAPIのサーバーがリッスンするポート番号を8888 に設定し。

# Add crAPI env
PORT=8888
DATABASE_URL=postgres://user:password@db:5432/crapi

# Mail settingsMAIL_USERNAME=your_email@example.com
MAIL_PASSWORD=your_password

 

上記を設定し、以下のようにcrAPIにアクセスができて。

 

http://[your_IP]:8888

 

 

ほなほな。