Ссылки:
https://www.freeipa.org/page/Documentation
https://www.freeipa.org/page/Creating_a_binddn_for_Foreman
https://www.freeipa.org/page/Quick_Start_Guide
https://www.freeipa.org/page/Troubleshooting
https://www.freeipa.org/page/HowTos
https://www.freeipa.org/page/IPAv3_AD_trust - АД интеграция
https://www.altlinux.org/FreeIPA
https://cdnnow.ru/blog/ipa-fixes/
https://habr.com/ru/company/pixonic/blog/325546/
https://computingforgeeks.com/how-to-install-and-configure-freeipa-server-on-rhel-centos-8/
https://computingforgeeks.com/set-hostname-and-timezone-on-rhel/
https://pro-ldap.ru/tr/admin24/appendix-common-errors.html
https://packages.debian.org/sid/net/freeipa-server
Настройка клиента FreeIPA на сервере CentOS 7
https://www.dmosk.ru/miniinstruktions.php?mini=freeipa-centos - установка и использование
https://www.dmosk.ru/miniinstruktions.php?mini=eap-freeradius-freeipa - freeipa + radius
https://www.dmosk.ru/miniinstruktions.php?mini=freeradius-freeipa-rocky - freeipa + rocky + radius
https://usermanual.wiki/Document/ipalabinstructions.1065978014/help - чья та лабораторная по freeipa
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/identity_management_guide/user-pwdpolicy#tab_pwpolicy-attrs - про пароли
https://www.tux.in.ua/articles/2969
https://itsecforu.ru/2018/12/12/%D0%BA%D0%B0%D0%BA-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C-%D0%B0%D1%83%D1%82%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8E-gitlab-freeipa/
https://itsecforu.ru/2018/07/23/%D0%BA%D0%B0%D0%BA-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-%D0%B8-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C-freeipa-%D0%BD%D0%B0-red-hat-linux/
https://www.arus.ru/index.php/biblioteka/shpory/item/10553-razvorachivaem-freeipa-server-2
https://computingforgeeks.com/configure-freeipa-replication-on-ubuntu-centos/
https://github.com/freeipa/ansible-freeipa
https://www.google.com/search?q=ldap&rlz=1C1GCEA_enRU832RU832&oq=ldap&aqs=chrome..69i57j69i59.2431j0j7&sourceid=chrome&ie=UTF-8
https://www.google.com/search?q=openldap&rlz=1C1GCEA_enRU832RU832&sxsrf=ALeKk016A3eKO5RY-xwg24TxKj0HMvuQ6w:1625058408672&source=lnt&tbs=qdr:y&sa=X&ved=2ahUKEwjKi8Cptr_xAhWhs4sKHS_hC9wQpwV6BAgBECo&biw=1920&bih=937
https://www.google.com/search?q=slapd&rlz=1C1GCEA_enRU832RU832&sxsrf=ALeKk00qN2s13TOugFxnFNhaXwKTaAXRHg:1625058427347&source=lnt&tbs=qdr:y&sa=X&ved=2ahUKEwichrSytr_xAhVS-yoKHU0UBP8QpwV6BAgBECo&biw=1920&bih=937
https://sysadminmosaic.ru/openldap/openldap
https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/upravlenie_polzovateljami_i_dostupom/sinhronizaciya_polzovatelej_s_ldap/nastroit_sinhronizaciyu_s_ldap
https://parallel.uran.ru/book/export/html/516
https://pro-ldap.ru/tr/admin24/
Установка radius Server на Windows 2012
https://www.digitalocean.com/community/tutorials/how-to-set-up-and-configure-a-certificate-authority-ca-on-ubuntu-20-04-ru
Инфа:
RHEL IdM - это интегрированное решение для обеспечения централизованно управляемой идентификации (пользователи, хосты, службы),
аутентификации (SSO, 2FA) и авторизации (контроль доступа к хосту, роли пользователей SELinux, сервисы).
Имя хоста / время:
0. Редактируем файл /etc/hosts
vim /etc/hosts
-----------------
192.168.122.198 ipa.example.com
-----------------
1. Переименовываем хост:
hostnamectl set-hostname ipa.example.com
2. Проверяем временную зону:
timedatectl status
timedatectl set-time HH:MM:SS
timedatectl set-time "yyyy-MM-dd hh:mm:ss"
timedatectl list-timezones
timedatectl set-timezone Europe/Moscow
timedatectl set-ntp yes
Установка freipa centos:
0. Добавляем репозиторий epel
dnf -y install epel-release
1. Временно отключаем selinux
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
2. Ищем пакет idm и устанавливаем его
yum module list idm
yum module info idm:DL1
yum -y install @idm:DL1
3. Ставим пакеты freeipa
yum -y install freeipa-server
yum -y install ipa-server-dns bind-dyndb-ldap
4. Производим настройку, выполняем команды
!!! Внимание будет задано очень много различных вопросов.
ipa-server-install
ipa-server-install --setup-dns
5. Проверка после установки
Проверяем слушаются ли порты 53, 80, 88, 123, 389, 443, 464, 636
ss -tplnu
Проверяем работу керберос, создаются ли билеты:
kinit admin
klist
6. Настраиваем shell для ipa пользователей
ipa config-mod --defaultshell=/bin/bash
7. Создаем пользователя в ipa для проверки
ipa user-add test --first=Test --last=User --email=test@example.com --password
8. Проверяем какие есть у нас учетные записи
ipa user-find
9. Собственно можем проверить подключение.
!!! Политика по умолчанию попросит сменить нас пароль.
ssh test@localhost
10. Настраиваем firewall
!!! Нужно открыть порты
TCP Ports:
* 80, 443: HTTP/HTTPS
* 389, 636: LDAP/LDAPS
* 88, 464: kerberos
* 53: bind
UDP Ports:
* 88, 464: kerberos
* 53: bind
* 123: ntp
Base DN:
You can find your basedn, and other interesting things, in /etc/ipa/default.conf
cat /etc/ipa/default.conf
Users: cn=users,cn=accounts,$SUFFIX
Groups: cn=groups,cn=accounts,$SUFFIX
Добавление системной учетной записи ipa:
https://www.freeipa.org/page/HowTo/LDAP
https://github.com/noahbliss/freeipa-sam - скрипт для управления системными учетными записями
# ldapmodify -x -D 'cn=Directory Manager' -W
--------------------------------------------
dn: uid=ЖЕЛАЕМЫЙ_ПОЛЬЗОВАТЕЛЬ,cn=sysaccounts,cn=etc,dc=example,dc=com
changetype: add
objectclass: account
objectclass: simplesecurityobject
uid: ЖЕЛАЕМЫЙ_ПОЛЬЗОВАТЕЛЬ
userPassword: ПАРОЛЬ_ДЛЯ_ЖЕЛАЕМЫЙ_ПОЛЬЗОВАТЕЛЬ
passwordExpirationTime: 20380119031407Z
nsIdleTimeout: 0
^D
---------------------------------------------
Проверка:
ldapsearch -D "uid=sync,cn=sysaccounts,cn=etc,dc=ipa,dc=server,dc=ru" -W
ldapsearch -h ipa.server.ru -D "uid=sync,cn=sysaccounts,cn=etc,dc=ipa,dc=server,dc=ru" -W
Проверка существования системного пользователя:
kinit ad-user #ваш пользователь с правами админа
ldapsearch -Y GSSAPI uid=ЖЕЛАЕМЫЙ_ПОЛЬЗОВАТЕЛЬ #серсиная учетная запись пользователя которого создали
Смена пароля для системной учетной записи freeipa:
kinit admin
ldappasswd -Y GSSAPI -W -S "uid=ЖЕЛАЕМЫЙ_ПОЛЬЗОВАТЕЛЬ,cn=sysaccounts,cn=etc,dc=example-domain,dc=example,dc=com"
Политики паролей:
!!! Перед выполнением команд получаем билеты
!!! kinit admin
!!! klist
Показать все настройки:
ipa config-show --all
Помощь по парольным политикам:
ipa help pwpolicy
Показать политики:
ipa pwpolicy-show
Показать что можем изменить в парольной политике:
ipa help pwpolicy-mod
Показать все политики:
ipa pwpolicy-show --all
Изменим минимальное время жизни пароля:
ipa pwpolicy-mod --minlife=0
Смена пароля пользователем:
ssh username@ipaserver - подключились по ssh
ipa passwd - сменили пароль
Работа с пользователями в консоли ipa:
!!! Перед выполнением команд получаем билеты
!!! kinit admin
!!! klist
Проверяем какие есть учетные записи:
ipa user-find
Показать помощь по команде config-mod:
ipa help config-mod
Настраиваем shell для ipa пользователей:
ipa config-mod --defaultshell=/bin/bash
Создаем пользователя в ipa:
ipa user-add test --first=Test --last=User --email=test@example.com --password
Проверяем какие есть учетные записи:
ipa user-find
Смена пароля пользователю vpupkin:
ipa passwd vpupkin
Помощь по добавлена пользователей в freeipa:
ipa help user-add
Пример создания пользователя с паролем:
echo "p@ssw0rd" | ipa user-add vpupkin --first=Vasja --last=Pupkin --password
Настраиваем firewall, вариант 1 вера в firewalld:
sudo firewall-cmd --add-service={http,https,dns,ntp,freeipa-ldap,freeipa-ldaps} --permanent
sudo firewall-cmd --reload
Настраиваем firewall, вариант 2 вера в iptables.service:
systemctl disable firewalld.service
dnf install iptables-services.x86_64
systemctl enable iptables.service
systemctl start iptables.service
mkdir /etc/iptables
vim /etc/iptables/iptables.v4
-----------------------------
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 10.0.0.0/23 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -s 10.0.0.134/32 -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
-A INPUT -s 10.0.0.0/22 -p tcp -m multiport --dports 53,80,88,389,443,464,636 -j ACCEPT
-A INPUT -s 10.0.0.0/22 -p udp -m multiport --dports 53,88,123,464 -j ACCEPT
#-A INPUT -s 10.0.0.0/22 -p tcp -m multiport --dports 53,80,88,135,138,139,389,443,445,464,636,1024:1300,3268 -j ACCEPT
#-A INPUT -s 10.0.0.0/22 -p udp -m multiport --dports 53,88,123,138,139,389,445,464 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 100/sec -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 12 -j ACCEPT
COMMIT
-----------------------------
vim /etc/iptables/iptables.v6
-----------------------------
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
COMMIT
-----------------------------
iptables-restore /etc/iptables/iptables.v4
ip6tables-restore /etc/iptables/iptables.v6
service iptables save
service ip6tables save
Присоединим компьютер к FreeIPA домену:
0. Ставим пакеты:
yum install -y ipa-client realmd
1. Проверяем возможность подключения к домену:
realm discover -v example.com
2. Подключаем к домену:
sudo ipa-client-install
--mkhomedir \
--enable-dns-updates \
--ssh-trust-dns \
--server=ipa.example.com \
--domain=example.com \
-p admin -w password \
--fixed-primary -U \
--force-ntpd
ldapsearch
Since IPA 3.0 we've configured /etc/openldap/ldap.conf with some bare defaults:
URI ldaps://ipaserver.example.com
BASE dc=example,dc=com
TLS_CACERT /etc/ipa/ca.crt
ldapsearch -x uid=admin
ldapsearch -x -h ipa.example.com -b dc=example,dc=com uid=admin
Удаление freeipa
ipa-server-install --uninstall

