Добавить README.md
This commit is contained in:
143
README.md
Normal file
143
README.md
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
# Домашнее задание 38
|
||||||
|
|
||||||
|
## LDAP. Централизованная авторизация и аутентификация
|
||||||
|
|
||||||
|
Для выполнение задания используется vagrant box centos/stream9
|
||||||
|
|
||||||
|
### Создание Vagrantfile
|
||||||
|
|
||||||
|
Зададим следующие характеристики для VM
|
||||||
|
|
||||||
|
Для ldap-server
|
||||||
|
- CPU - 1
|
||||||
|
- Memory - 2048mb
|
||||||
|
|
||||||
|
ldap-client
|
||||||
|
- CPU - 1
|
||||||
|
- Memory - 512mb
|
||||||
|
|
||||||
|
Готовый [Vagrantfile](Vagrantfile)
|
||||||
|
|
||||||
|
|
||||||
|
### Cоздание ansible.yml
|
||||||
|
|
||||||
|
Сценарий для Ansible будет выполнять следующие действия:
|
||||||
|
|
||||||
|
На VM **ldap-server**
|
||||||
|
1. Установка freeipa server
|
||||||
|
2. Настройка firewalld
|
||||||
|
3. Генерирует новые пароли для freeipa admin, directory manager и тестового пользователя
|
||||||
|
4. Запускает настройку freeipa сервера
|
||||||
|
5. Создает тестового пользователя pupkin.a
|
||||||
|
6. Генерирует ключи ssh для тестового пользователя
|
||||||
|
|
||||||
|
На VM **ldap-client**
|
||||||
|
1. Установка freeipa client
|
||||||
|
2. Настрока freeipa client, присоединение к домену lab.local
|
||||||
|
|
||||||
|
|
||||||
|
При выполнение будут созданы пароли для FreeIPA admin, directory manager и тестового пользователя. Ansible при выполнении сообщит эти пароли. Пароли для admin и directory manager сохраняться в файлах admin_pass и ds_pass.
|
||||||
|
После генерации ssh ключа для тестового пользователя, закрытый ключ сохраниться в файле id_rsa
|
||||||
|
|
||||||
|
Готовый [ansible.yml](ansible.yml)
|
||||||
|
|
||||||
|
|
||||||
|
### Проверка
|
||||||
|
|
||||||
|
Запускаем vagrant
|
||||||
|
```bash
|
||||||
|
alex@ubuntu-pc:~/Документы/38$ vagrant up
|
||||||
|
Bringing machine 'ldap-server' up with 'virtualbox' provider...
|
||||||
|
Bringing machine 'ldap-client' up with 'virtualbox' provider...
|
||||||
|
==> ldap-server: Importing base box 'centos/stream9'...
|
||||||
|
==> ldap-server: Matching MAC address for NAT networking...
|
||||||
|
==> ldap-server: Checking if box 'centos/stream9' version '20260406.0' is up to date...
|
||||||
|
==> ldap-server: Setting the name of the VM: 38_ldap-server_1775628947639_31533
|
||||||
|
==> ldap-server: Clearing any previously set network interfaces...
|
||||||
|
==> ldap-server: Preparing network interfaces based on configuration...
|
||||||
|
ldap-server: Adapter 1: nat
|
||||||
|
ldap-server: Adapter 2: intnet
|
||||||
|
==> ldap-server: Forwarding ports...
|
||||||
|
ldap-server: 22 (guest) => 2222 (host) (adapter 1)
|
||||||
|
==> ldap-server: Running 'pre-boot' VM customizations...
|
||||||
|
==> ldap-server: Booting VM...
|
||||||
|
==> ldap-server: Waiting for machine to boot. This may take a few minutes...
|
||||||
|
...
|
||||||
|
|
||||||
|
...
|
||||||
|
TASK [update] ******************************************************************
|
||||||
|
ok: [ldap-client]
|
||||||
|
|
||||||
|
TASK [install ipa-client] ******************************************************
|
||||||
|
changed: [ldap-client]
|
||||||
|
|
||||||
|
TASK [add dns] *****************************************************************
|
||||||
|
changed: [ldap-client]
|
||||||
|
|
||||||
|
TASK [get admin pass] **********************************************************
|
||||||
|
ok: [ldap-client]
|
||||||
|
|
||||||
|
TASK [freeipa client config] ***************************************************
|
||||||
|
changed: [ldap-client]
|
||||||
|
|
||||||
|
PLAY RECAP *********************************************************************
|
||||||
|
ldap-client : ok=6 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
|
||||||
|
```
|
||||||
|
|
||||||
|
Теперm попробуем подключиться под пользователем pupkin.a используя закрытый ключ на VM ldap-client.
|
||||||
|
|
||||||
|
Для начало нужно узнать, какой порт прокидываетcя для ssh на VM ldap-client, это можно сделать с помощью команды **vagrant port**
|
||||||
|
```bash
|
||||||
|
alex@ubuntu-pc:~/Документы/38$ vagrant port ldap-client
|
||||||
|
The forwarded ports for the machine are listed below. Please note that
|
||||||
|
these values may differ from values configured in the Vagrantfile if the
|
||||||
|
provider supports automatic port collision detection and resolution.
|
||||||
|
|
||||||
|
22 (guest) => 2200 (host)
|
||||||
|
```
|
||||||
|
|
||||||
|
Подключаемся к 127.0.0.1:2200
|
||||||
|
```bash
|
||||||
|
alex@ubuntu-pc:~/Документы/38$ ssh -i ./id_rsa pupkin.a@127.0.0.1 -p 2200
|
||||||
|
The authenticity of host '[127.0.0.1]:2200 ([127.0.0.1]:2200)' can't be established.
|
||||||
|
ED25519 key fingerprint is SHA256:ls8n7jfC7pcCkMlLZ+TZEUPHx2F581cnp7NqOnopqC8.
|
||||||
|
This key is not known by any other names.
|
||||||
|
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
|
||||||
|
Warning: Permanently added '[127.0.0.1]:2200' (ED25519) to the list of known hosts.
|
||||||
|
[pupkin.a@ldap-client ~]$
|
||||||
|
```
|
||||||
|
|
||||||
|
Мы успешно авторизовались под пользователем pupkin.a используя закрытый ключ ssh.
|
||||||
|
|
||||||
|
Помотрим id пользователя
|
||||||
|
```bash
|
||||||
|
[pupkin.a@ldap-client ~]$ id
|
||||||
|
uid=1960600003(pupkin.a) gid=1960600003(pupkin.a) groups=1960600003(pupkin.a) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
|
||||||
|
```
|
||||||
|
|
||||||
|
Теперь подключимся на ldap-server, и найдем пользователя по uid 1960600003
|
||||||
|
```bash
|
||||||
|
[root@ldap-server ~]# ipa user-find --uid=1960600003
|
||||||
|
--------------
|
||||||
|
1 user matched
|
||||||
|
--------------
|
||||||
|
User login: pupkin.a
|
||||||
|
First name: Aristarkh
|
||||||
|
Last name: Pupkin
|
||||||
|
Home directory: /home/pupkin.a
|
||||||
|
Login shell: /bin/sh
|
||||||
|
Principal name: pupkin.a@LAB.LOCAL
|
||||||
|
Principal alias: pupkin.a@LAB.LOCAL
|
||||||
|
Email address: pupkin.a@lab.local
|
||||||
|
UID: 1960600003
|
||||||
|
GID: 1960600003
|
||||||
|
SSH public key fingerprint: SHA256:zyFW5NFxW1tJNkgR8C9oi77Cwiv8Tsis7qswCkcTfMg (ssh-rsa)
|
||||||
|
Account disabled: False
|
||||||
|
----------------------------
|
||||||
|
Number of entries returned 1
|
||||||
|
----------------------------
|
||||||
|
```
|
||||||
|
|
||||||
|
Как видим в FreeIPA uid 1960600003 это и есть наш пользователь pupkin.a
|
||||||
|
|
||||||
|
Задание полностью выполнено!
|
||||||
Reference in New Issue
Block a user