2019/12/09

시노비 shinobi

https://shinobi.video/why

ubuntu 12.04
=============
maridb mariadb-5.5.56 install  사용.

현재 보안 장비는 mysql 기반으로 동작한다.
한 시스템에 두개의 DB를 구성 할 수 있도록 시스템 개발을 해야 한다.

실 작업을 통해 알아낸 결과.
- 2개의 데이터 베이스가 필요 없음.
- mysql 과 mariadb는 운영체제 버전과, 기본 패키지가 맞으면 자동 업데이트 됨.

결국 하나의 mariadb로 시스템이 구성되어 동작하고 있음.

현재 보안장비도 패키징 동작 판단을 해야한다.
3.0 NO
3.2 Yes

3.2 Version 마린 DB 설치.
sudo apt-get install python-software-properties
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db

ubuntu 12.04
sudo add-apt-repository 'deb http://mirror.klaus-uwe.me/mariadb/repo/5.5/ubuntu precise main'

sudo apt-get update
sudo apt-get install mariadb-server

sudo service mysql start
mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 35
Server version: 5.5.36-MariaDB-1~saucy-log mariadb.org binary distribution
.
Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.
.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
.
MariaDB [(none)]>

일반 사용자에서 루트 권한 변경.
sudo su
apt install git -y

소소 다운로드
git clone https://gitlab.com/Shinobi-Systems/Shinobi.git Shinobi
cd Shinobi

설치 파일 실행 권한.
chmod +x INSTALL/ubuntu.sh

node 저장소 등록

sudo sh -c "echo deb https://deb.nodesource.com/node_6.x precise main \
> /etc/apt/sources.list.d/nodesource.list"

소스 파일 추가
sudo vi /etc/apt/sources.list.d/nodesource.list
deb https://deb.nodesource.com/node_6.x precise main
deb-src https://deb.nodesource.com/node_6.x precise main

키값 추가 설치 스크립트 다운로드
sudo apt-get -y install curl
curl --silent https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
curl -sL https://deb.nodesource.com/setup_6.x -o nodesource_setup.sh

컴파일러 추가
sudo apt-get install gcc g++ make

설치
sudo bash nodesource_setup.sh

nodejs 설치 ip 는 설치 안해도 된다. 하지만 예전 프로젝트 webrtc 구동을 위해 설치 했음.
sudo apt-get -y install nodejs && sudo npm -y install forever -g && sudo npm install ip -g

Node.js 플러그인 forever, ip 설치
$ sudo npm install forever -g
$ sudo npm install ip -g
--- sudo rm -rf /usr/bin/node
 -. $ sudo ln -s /usr/bin/nodejs /usr/bin/node

설치
./INSTALL/ubuntu.sh

완료 메세지.
[PM2] Remove init script via:
$ pm2 unstartup upstart
[PM2] Saving current process list...
[PM2] Successfully saved in /root/.pm2/dump.pm2
뚢€€€€€€€€€р€€€р€€€€€р€€€€€€р€€€€€€€р€€€€€€€€р€€€€€€€р€€€€р€€€€€€€€€€р€€€€€р€€€€€€€€€[39m
[39m App name [39m id [39m mode [39m pid   [39m status [39m restart [39m uptime [39m cpu [39m mem       [39m user [39m watching [39m
쒋€€€€€€€€€쇄€€€쇄€€€€€쇄€€€€€€쇄€€€€€€€쇄€€€€€€€€쇄€€€€€€€쇄€€€€쇄€€€€€€€€€€쇄€€€€€쇄€€€€€€€€€[39m
[39m camera   [39m 0  [39m fork [39m 25413 [39m online [39m 0       [39m 3s     [39m 0%  [39m 28.3 MB   [39m root [39m disabled [39m
[39m cron     [39m 1  [39m fork [39m 25456 [39m online [39m 0       [39m 2s     [39m 0%  [39m 24.8 MB   [39m root [39m disabled [39m
붴€€€€€€€€€닳€€€닳€€€€€닳€€€€€€닳€€€€€€€닳€€€€€€€€닳€€€€€€€닳€€€€닳€€€€€€€€€€닳€€€€€닳€€€€€€€€€[39m
 Use `pm2 show <id|name>` to get more details about an app
=====================================
||=====   Install Completed   =====||
=====================================
|| Login with the Superuser and create a new user!!
||===================================
|| Open http://172.16.1.165
172.16.10.1
172.16.20.1
172.16.30.1
172.16.40.1
172.16.50.1
10.10.10.1
192.168.160.1:8080/super in your web browser.
||===================================
|| Default Superuser : admin@shinobi.video
|| Default Password : admin
=====================================
=====================================

종료 kill pm2

시작
pm2 start path/camera.js
pm2 start path/cron.js
pm2 list

/etc/init.d/pm2-root stop
/etc/init.d/pm2-root restart

접근
http://localhost:8080
http://your.shinobi.video/super

포팅은 성공 했으나 동작은 하지 않음.
의존성 및 DB 버전 문제.
show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| ccio               | ---> shinobi 데이터베이스 생성됨.
| mysql              |
| nemoos             |
| performance_schema |
| pydio              |
| roundcube          |
| spamassassin       |
+--------------------+

그대로 두고 18.04에서 동작 시킨후 12.04 포팅, 진행.

==============
ubuntu 18.04
==============
1. 우분투 저장소 설치
보안장 6.0 버전 업데이트
sudo apt update

설치
sudo apt install mariadb-server
20191205 보안장비 패키징 의존성 문제 발생.
The following packages have unmet dependencies:
 mariadb-server : Depends: mariadb-server-10.1 (>= 1:10.1.43-0ubuntu0.18.04.1) but it is not going to be installed

기존 보안 패키징 전부 삭제 후 기본 운영체제 모드로 설치 진행
apt-get install aptitude
aptitude 에서 제안한 해결책은 기존 보안 패키징을 삭제.
재 설치 완료.

20191206
shinobi 설치 후 동작 확인, 보안장비 zen 오리지널 버전을 설치 시도.
문제 발생.

zen 패키징 삭제.
mariadb-server 설치.
의존성 문제 발생. mariadb-server : Depends: mariadb-server-10.1 (>= 1:10.1.43-0ubuntu0.18.04.1) but it is not going to be installed
운영체제 확인.
Ubuntu 18.04.3 LTS 다음 저장소 18.04.1...
메타패키지 설치 방법으로 진행(Mariadb 저장소에서 설치)
설치 완료.

mysql-common, mysql-server 삭제.
maridb 삭제.

우분투 저정소 지정 업데이트 재부팅.
sudo apt-get install mariadb-server

상태 확인.
sudo systemctl status mariadb

● mariadb.service - MariaDB 10.1.43 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           └─migrated-from-my.cnf-settings.conf
   Active: active (running) since Thu 2019-12-05 17:51:51 KST; 37s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 2871 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 6 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           └─2871 /usr/sbin/mysqld

Dec 05 17:51:51 gfairline /etc/mysql/debian-start[2885]: Processing databases
Dec 05 17:51:51 gfairline /etc/mysql/debian-start[2885]: information_schema
Dec 05 17:51:51 gfairline /etc/mysql/debian-start[2885]: mysql
Dec 05 17:51:51 gfairline /etc/mysql/debian-start[2885]: performance_schema
Dec 05 17:51:51 gfairline /etc/mysql/debian-start[2885]: Phase 6/7: Checking and upgrading tables
Dec 05 17:51:51 gfairline /etc/mysql/debian-start[2885]: Processing databases
Dec 05 17:51:51 gfairline /etc/mysql/debian-start[2885]: information_schema
Dec 05 17:51:51 gfairline /etc/mysql/debian-start[2885]: performance_schema
Dec 05 17:51:51 gfairline /etc/mysql/debian-start[2885]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Dec 05 17:51:51 gfairline /etc/mysql/debian-start[2885]: OK

버전확인.
mysql -V
mysql  Ver 15.1 Distrib 10.1.43-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

mariadb root 패스워드 설정.
mysql -u root
use mysql;

update user set password=password('totoro') where user='root';
flush pribvileges;

문제발생.
mysql 버전 15.01 mariadb 10.1.43 패스워드 변경시 문법오류 발생.

계정삭제
update mysql.user set authentication_string=null where user='root';
flush privileges;

mysql -u root -p
use mysql;
UPDATE user SET password=PASSWORD('totoro') WHERE User='root' AND Host = 'localhost';
FLUSH PRIVILEGES;
exit

------------- SystemD -------------
# systemctl stop mariadb
# systemctl unset-environment MYSQLD_OPTS
# systemctl start mariadb

------------- SysVinit -------------
# /etc/init.d/mysql stop
# /etc/init.d/mysql start

패스워드 작동 안함.
그냥 접근 해 버림.

cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"

sudo mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 36
Server version: 10.1.43-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04

버전 차이가 있음.(무시해도 됨)

시스템 루트 권한을 획득하면 mariadb에서 불필요한 인증 처리를 하지 않도록 설계 한 것으로 보여진다.
비밀번호 저장소 변경.
전체 사용자 계정, 비밀번호 및 클로벌 권한 mysql.global_priv 테이블에 저장 된다.

mysql.user 테이블 ?
여전히 존재하며, 그 전과 동일한 테이블 구조를 가지고 있다.
mysql.user 테이블을 사용하는 곳이 있다면 이전 처럼 계속 동작한다.

현재 mariadb 설정 할 수 사용자는 mysql.global_priv 테이블로 이동한 상태이다.

1.1 Shinobi 설치
sudo su

apt install git -y

git clone https://gitlab.com/Shinobi-Systems/Shinobi.git Shinobi

cd Shinobi

chmod +x INSTALL/ubuntu.sh && INSTALL/ubuntu.sh

=============
Shinobi - Do you want to Install MariaDB? Choose No if you already have it.
현재 저장소 버전을 설치 한 상태이다.
(y)es or (N)o
n
=============
Shinobi - Database Installation
(y)es or (N)o
y 만약 이 부분을 no 해 버리면 마린 db 문제 발생.
=============

Shinobi - Start Shinobi and set to start on boot?
(y)es or (N)o
y

[PM2] Remove init script via:
$ pm2 unstartup systemd
[PM2] Saving current process list...
[PM2] Successfully saved in /root/.pm2/dump.pm2
┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────┬───────────┬──────┬──────────┐
│ App name │ id │ mode │ pid  │ status │ restart │ uptime │ cpu │ mem       │ user │ watching │
├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────┼───────────┼──────┼──────────┤
│ camera   │ 0  │ fork │ 1319 │ online │ 0       │ 39m    │ 0%  │ 96.9 MB   │ root │ disabled │
│ cron     │ 1  │ fork │ 1324 │ online │ 0       │ 39m    │ 0%  │ 52.5 MB   │ root │ disabled │
└──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────┴───────────┴──────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app
=====================================
||=====   Install Completed   =====||
=====================================
|| Login with the Superuser and create a new user!!
||===================================
|| Open http://10.10.10.122:8080/super in your web browser.
||===================================
|| Default Superuser : admin@shinobi.video
|| Default Password : admin
=====================================

                          Runtime Edition

        PM2 is a Production Process Manager for Node.js applications
                     with a built-in Load Balancer.

                Start and Daemonize any application:
                $ pm2 start app.js

                Load Balance 4 instances of api.js:
                $ pm2 start api.js -i 4

                Monitor in production:
                $ pm2 monitor

                Make pm2 auto-boot at server restart:
                $ pm2 startup

                To go further checkout:
                http://pm2.io/


2. MariaDB 저장소 설치.
=======================
sudo apt-get remove mariadb-server
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

sudo add-apt-repository "deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu $(lsb_release -cs) main"
sudo apt update
sudo apt install mariadb-server mariadb-client

20191205 보안장비 패키징 의존성 문제 발생.
The following packages have unmet dependencies:
 mariadb-server : Depends: mariadb-server-10.1 (>= 1:10.1.43-0ubuntu0.18.04.1) but it is not going to be installed

기본 운영체제 설치 버전으로 다음 진행

sudo systemctl status mariadb
● mariadb.service - MariaDB 10.3.8 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/mariadb.service.d
        └─migrated-from-my.cnf-settings.conf
Active: active (running) since Sun 2018-07-29 19:36:30 UTC; 56s ago
    Docs: man:mysqld(8)
        https://mariadb.com/kb/en/library/systemd/
Main PID: 16417 (mysqld)
Status: "Taking your SQL requests now..."
    Tasks: 31 (limit: 507)
CGroup: /system.slice/mariadb.service
        └─16417 /usr/sbin/mysqld

mysql -V

mysql_secure_installation명령을 실행하여 MariaDB 설치의 보안을 향상
sudo mysql_secure_installation

mysql -u root -p     
mysql_secure_installation스크립트를 실행할 때 이전에 설정 한 루트 암호를 입력하라는 메시지가 표시

apt install git -y

git clone https://gitlab.com/Shinobi-Systems/Shinobi.git Shinobi

cd Shinobi
chmod +x INSTALL/ubuntu.sh && INSTALL/ubuntu.sh

3. MariaDB 보안장비 6.0 install
===============================
sudo apt-get remove mariadb-server
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

sudo add-apt-repository "deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu $(lsb_release -cs) main"
sudo apt update

apt list --upgradable
mysql-common/unknown,unknown,unknown 1:10.4.10+maria~bionic all [upgradable from: 5.8+1.0.4]
N: There is 1 additional version. Please use the '-a' switch to see it

sudo apt-get dist-upgrade
mysql-common ---> upgrade 함.

mysql-common 패키지는 http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu bionic main 이 사이트에 업데이 했음.
http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu bionic main

나중 6.0 문제 발생 시 이 부분을 생각해야 함.

mariadb-server : Depends: mariadb-server-10.4 (>= 1:10.4.10+maria~bionic) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

20191205
이상태에서 머물고 있음.

댓글 없음:

댓글 쓰기