# Linux Ajanı

## Mico Ajanı Kurulumu

Miço ajanı Linux işletim sistemine sahip makinelere çeşitli yöntemlerle kurulabilir.&#x20;

* **Manuel kurulum** ile kurulabilir. Bu kurulum makine sayısı az olan ya da bir imaj hazırlanarak  dağıtılacak ise önerilmektedir.
* Domaine dahil cihazlar için **Liman MYS** ile Politika altyapısı ile basılması önerilebilir.
* Ssh bulunan ortamlarda, domainde olan olmayan tüm Linux işletim sistemlerine kurulum yapılabilmesi için **Ansible** yöntemi kullanılabilir.

### 1-Manuel Kurulum

1. Mico-setup ve osquery paketleri istemci üzerine atılarak kurulumu gerçekleştirilir. Kurulum sırasında Mico sunucusunun IP adresini vermektedir.&#x20;

{% tabs %}
{% tab title="Debian" %}

* Kurulum içib aşağıdaki komutun çalıştırılması gerekmektedir.

```
sudo apt install ./mico-setup-x64.deb ./osquery_5.0.1-1.linux_amd64.deb
```

* Kurulum sırasında Miço sunucusun IP adresini soracaktır. Aşağıdaki şekilde yazılması gerekmektedir.

![](https://1550178508-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5SV7Q48SMFYWKeGgl2Nz%2Fuploads%2FuiSL2SDNLYjlEdMEjfcP%2Fimage.png?alt=media\&token=1256e696-b750-4ee0-824b-7c22b4b9b3e8)
{% endtab %}

{% tab title="RPM" %}

* **SERVER\_URL** yerine Miço sunucusun IP adresinin yazılması gerekmektedir.

```
SERVER_URL="https://MICO_SERVER:7779" yum localinstall -y ./mico-setup-x64.rpm
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}

## <mark style="color:blue;">Dikkat</mark>&#x20;

Kurulum sırasında Mico sunucusunun bilgisi doğru girilmediğinde paket yarım yapılandırılarak hata verecektir.

Package: mico-client&#x20;

**Status: install ok half-configured**&#x20;

Maintainer: Baran Sekin <baransekin@gmail.com>, Hakki Dizdar <hakkidizdar@mail.com.tr>&#x20;

Architecture: amd64&#x20;

Version: 160&#x20;

Depends: osquery, debconf, curl&#x20;

Description: mico's client.
{% endhint %}

### 2-Liman MYS - Politika Altyapısı

1- Paket politikası kullanılarak osquery ve mico paketleri istemcilere kurulur

![](https://1550178508-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5SV7Q48SMFYWKeGgl2Nz%2Fuploads%2FTbRdy4lWgMl6RVkVuOH4%2Fresim.png?alt=media\&token=896a8122-65d7-4481-b727-1434e753d0ab)

2- **Miço Politikası** kullanılarak Miço sunucusunun IP adresi yapılandırma dosyasına yazılır. **MICO\_SERVER** değerine Miço sunucusunun IP adresi yazılmalıdır.

| Mico sunucu adresi             |
| ------------------------------ |
| https\://**MICO\_SERVER**:7779 |

### 3- Liman MYS - Ansible Altyapısı

Liman MYS ve Ansible sunucusu ile kolaylıkla Miço dağıtılabilir.&#x20;

#### Gereksinimler

* Liman MYS sunucusu
* Ansible Sunucusu&#x20;
* Ansible eklentisi&#x20;

{% hint style="info" %} <mark style="color:blue;">**Ansible Eklenti Kullanım Dökümanı**</mark>

<https://github.com/limanmys/liman-ansible>
{% endhint %}

{% hint style="info" %} <mark style="color:blue;">**Eklenti Ekleme Notları**</mark>

:question: **Eklenti Nasıl Eklenir**

<https://docs.liman.dev/kullanim-kilavuzu/sunucu-yoenetimi/sunucuda-eklenti-kullanimi>

:heavy\_plus\_sign:**Eklenti Dosyası**

<https://github.com/limanmys/liman-ansible>
{% endhint %}

#### Adımlar

1. Liman MYS web arayüzüne Ansible Sunucusu eklenir
2. Liman MYS web arayüzünden Ansible eklentisi kurulur.&#x20;
3. Liman MYS web arayüzünde, Ansible eklentisi Ansible sunucusunda aktifleştirilir
4. Rpm ve Deb tabanlı makineler için birer grup oluşturulur

![](https://1550178508-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5SV7Q48SMFYWKeGgl2Nz%2Fuploads%2FUiHBaOBvh7ZRDgQtj0xA%2Fresim.png?alt=media\&token=bd0de679-77c0-45ff-b86f-7e0e4aad0e88)

5\. Makine ssh bilgileri gruplara host olarak eklenir

![](https://1550178508-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5SV7Q48SMFYWKeGgl2Nz%2Fuploads%2Fj45DJv2zCbO5yOjtjkyz%2Fresim.png?alt=media\&token=171d7c7f-71d4-4960-bcda-694330f2070b)

6\. Dosyalar sekmesinden, mico\_packages.zip dosyası eklenir

![](https://1550178508-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5SV7Q48SMFYWKeGgl2Nz%2Fuploads%2F6YK9lBsojhIhBSuQQypo%2Fresim.png?alt=media\&token=121086b4-5649-4e6c-8f39-305f40e7e32c)

![](https://1550178508-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5SV7Q48SMFYWKeGgl2Nz%2Fuploads%2FjAeL0Uo33ZSXjGtpec5n%2Fresim.png?alt=media\&token=1a83dba1-93d4-4150-bc65-f794c74abae7)

7\. Paybook sekmesinden yaml dosyaları oluşturulur ve çalıştırılır.

{% tabs %}
{% tab title="Deb" %}

* **mico\_deb.yaml** adında bir dosya oluşturulur ve aşağıdaki içerik eklenir. **MICO\_SERVER** yerine Miço sunucusunun ip adresi eklenir

```
- hosts: DEB
  tasks:
    - name: mkdir /tmp/DEBS
      file: path=/tmp/DEBS state=directory
    
    - name: Copy Osquery
      become: true 
      copy:
        src:  /opt/varlik/mico_packages/osquery_5.0.1-1.linux_amd64.deb
        dest: /tmp/DEBS
    
    - name: Copy Mico
      become: true 
      copy:
        src:  /opt/varlik/mico_packages/mico-setup-x64.deb
        dest: /tmp/DEBS

    - name: Install osquery
      shell: sudo apt-get install /tmp/DEBS/osquery_5.0.1-1.linux_amd64.deb -y
      async: 1800
      poll: 0
      become_method: sudo
      become: yes
      become_user: root

    - name: Install mico-client
      shell: echo mico mico/server_url string "https://MICO_SERVER:7779" | sudo debconf-set-selections | sudo apt-get install /tmp/DEBS/mico-setup-x64.deb -y
      async: 1800
      poll: 0
      become_method: sudo
      become: yes
      become_user: root

```

{% endtab %}

{% tab title="RPM" %}

* **mico\_rpm.yaml** adında bir dosya oluşturulur ve aşağıdaki içerik eklenir. **MICO\_SERVER** yerine Miço sunucusunun ip adresi eklenir

```
- hosts: RPM
  tasks:
    - name: mkdir /tmp/RPMS
      file: path=/tmp/RPMS state=directory
      
    - name: Copy Osquery
      become: true 
      copy:
        src:  /opt/varlik/mico_packages/osquery-5.2.2-1.linux.x86_64.rpm
        dest: /tmp/RPMS
    
    - name: Copy Mico
      become: true 
      copy:
        src:  /opt/varlik/mico_packages/mico-setup-x64.rpm
        dest: /tmp/RPMS

    - name: Install my package from a file on server
      shell: SERVER_URL="https://MICO_SERVER:7779" yum install -y /tmp/RPMS/*.rpm 
      async: 1800
      poll: 0
      become_method: sudo
      become: yes
      become_user: root
```

{% endtab %}
{% endtabs %}
