隨著全世界衝突越來越多,戰區資訊共享的系統也逐漸流行起來。前陣子試了一套 TAK Server 的系統,雖然沒幹麻,但安裝也是花了一翻血汗,本來記在 word 檔案,但感覺隨時會弄丟,還是放到 blog 來好了。
系統安裝
以 Virtualbox 安裝 Ubuntu 22.04
# 4G RAM
# 60G Disk
# 網路使用橋接模式
安裝 Ubuntu 套件
執行命令
|
1 |
echo -e "* soft nofile 32768\n* hard nofile 32768\n" | sudo tee --append /etc/security/limits.conf |
|
1 2 |
sudo apt-get update sudo apt-get install dropbear vim openjdk-17-jdk gnupg libxml2 libxml2-utils |
套用新 apt 設定
|
1 2 3 4 5 6 7 8 |
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget -O- https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/postgresql.org.gpg > /dev/null # LEGACY Ubuntu/Raspberry Pi OS wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update |
安裝 TAK Server
用 teraterm 登入後,利用 scp 將檔案複製進去。TAK 是美國政府軟體,需由 https://tak.gov/ 註冊後,下載安裝。身份使用外國人、台灣,可以成功下載。檔名類似 takserver_5.2-RELEASE43_all.deb。
將該檔案移到 /tmp 後,以下列命令安裝
|
1 2 |
cd /tmp sudo apt install ./takserver_5.2-RELEASE43_all.deb -y |
安裝後設定
安裝後會產生一個新的帳號 ‘tak’, 在做 TAK 方面的修該時,請都以此帳號來作業。
TAK 設定檔主要是使用 /opt/tak/CoreConfig.example.xml,直接以 VI 修改即可。
資料庫帳號 (以root)
開啟 /etc/postgresql/<version>/main/pg_hba.conf,找到
改成
然後下達
|
1 |
sudo systemctl restart postgresql |
以下列命令裡入管理db.
|
1 |
psql -U postgres -d cot -h localhost -p 5432 |
用下列命令改密碼. 完成後,用 Ctrl-D 離開.
|
1 |
ALTER USER martiuser WITH PASSWORD '12345678'; |
恢復 pg_hba.conf 的修改。並重啟服務
|
1 |
sudo systemctl restart postgresql |
修改密設定檔的資料庫密碼 (以 tak)
打開 /opt/tak/CoreConfig.example.xml,修改密碼如下
設定憑証 (以 tak)
接下來的操作都在 /opt/tak/certs 下進行.
修改機構資訊
編輯 cert-metadata.sh, 把紅框處改成如下,設定成自己server的 IP。
建立 Root CA
下達命令, 後面 “TAK-ROOT-CA-01” 可以取自己的名字
|
1 |
./makeRootCa.sh --ca-name TAK-ROOT-CA-01 |
建立 CA 憑証
下達以下命令,後面的名稱要跟 Root CA 相同
|
1 |
./makeCert.sh ca TAK-ID-CA-01 |
中間會問一個問題,回答 y
建立 Server 憑証
後面帶自己的 IP
|
1 |
./makeCert.sh server 192.168.168.1 |
並且修改設定檔的伺服器 IP
|
1 |
sed -i 's/takserver/192.168.168.1/g' /opt/tak/CoreConfig.example.xml |
修改 truststore 設定
這邊要帶之前的 CA 名稱
|
1 |
sed -i 's/truststore-root/truststore-TAK-ID-CA-01/g' /opt/tak/CoreConfig.example.xml |
啟動 TAK Server (以 root)
最後用下面的命令來啟動伺服器
|
1 2 |
sudo systemctl enable takserver.service sudo systemctl restart takserver.service |
若有錯誤,可以檢示位於 /opt/tak/logs/ 的紀錄檔。主要是查看 /opt/tak/logs/takserver-messaging.log
建立帳號 (以 tak)
到 /opt/tak/certs 來下面命
建立管理員帳號
建立帳號
|
1 2 |
./makeCert.sh client webadmin java -jar /opt/tak/utils/UserManager.jar certmod -A /opt/tak/certs/files/webadmin.pem |
將用戶憑証下載至電腦 (以 root)
|
1 2 |
cp /opt/tak/certs/files/webadmin.p12 /tmp chmod 755 /tmp/webadmin.p12 |
用 Teraterm 以 scp 將檔案下載至電腦
文件SSH SCP
安裝憑証 (Windows Firefox)
在網址列打入 “about:preferences#privacy”
匯入時會詢問密碼,預設為 「atakatak」 .
瀏覽 TAK 網頁
此時打開firefox,開啟 https://192.168.168.1:8443 , 會問一些題,一律答是就可以。
接著就可以看到主畫面了。
搭配 WinTAK 設定
建立一般帳號憑証 (以 tak)
|
1 2 3 4 5 |
cd /opt/tak/certs ./makeCert.sh client wintak java -jar /opt/tak/utils/UserManager.jar certmod -g __ANON__ /opt/tak/certs/files/wintak.pem tar -c -z -f /tmp/user_wintak.tar.gz -C /opt/tak/certs/files/ wintak.p12 truststore-TAK-ID-CA-01.p12 |
如「 4.2將用戶憑証下載至電腦 (以 root) 」,將檔案/tmp/user_wintak.tar.gz下載到電腦上。
設定憑証自行下載
用瀏覽器打開 TAK 網頁 https://192.168.168.1:8443, Configuration –> Security and Authentication –> Edit Security.
- TAK Server CA = on
- Signing Keystore File = certs/files/TAK-ID-CA-01-signing.jks
- Signing Keystore Password: atakatak
- Validity Days: 30
修改 CoreConfig.xml (以 tak)
編輯 /opt/tak/CoreConfig.xml, 將下面這段設為 true
並將下面這段修改如圖
最後可以執行 validateConfig.sh 程式來驗証上面的設定有沒有格式錯誤。這段不執也可以,單純的是驗証 XML 結構。
|
1 2 |
cd /opt/tak/ ./validateConfig.sh |
最後再重啟服務,看一下有沒有錯誤 (以 root 運行)
|
1 2 |
sudo systemctl restart takserver.service tail -f /opt/tak/logs/takserver-messaging.log |
建立帳號
用網頁瀏覽 Administrative Manage Users, change wintak password to “!qaz2Wsx3edc4rfv”。
以 WinTAK 登入
打開 wintak, 打開右下角的設定
按下 Manage Server Connection Add Stream
- Description: MyServer
- Protocol: SSL
- HostAddress: 192.168.168.1
- Port: 8089
- Enroll for Client Certification 打勾
- Install Certificate Authority: 以「 7.2設定憑証自行下載 」下載的 truststore-TAK-ID-CA-01.p12 匯入,密碼為 atakatak
- Install Client Certificate: 以「 7.2設定憑証自行下載 」下載的 wintak.p12 匯入,密碼為 atakatak。
- User Authentication 打勾
- User name: wintak
- Password: “!qaz2Wsx3edc4rfv”
若成功連線的話,圖示即會變會綠色
參考資料
- https://mytecknet.com/lets-build-a-tak-server/#post-configuration-tasks
- https://github.com/TAK-Product-Center/Server














