Як налаштувати rsyslog для централізованого управління журналами

Як налаштувати rsyslog для централізованого управління журналами

У цьому підручнику буде пояснено, як налаштувати rsyslog як централізований сервер керування журналами. Централізоване управління журналами означає збирати всі види журналів з декількох фізичних або віртуалізованих серверів на одному сервері журналу для моніторингу здоров'я та безпеки сервісів сервера. У цьому підручнику ми використовуємо rsyslog, оскільки він забезпечує високу продуктивність, відмінну безпеку та модульну конструкцію. Він також здатний зберігати журнали в численних рішеннях баз даних, таких як MySQL, Oracle, Hadoop та інших для кращої консолідації.

1. Попередня примітка

Для цього підручника я використовую Oracle Linux 6.4 у версії 32bit. Зверніть увагу, що хоча конфігурація виконується під Oracle Linux, ті ж кроки будуть працювати на CentOS і Red Hat OS Linux. У цьому підручнику ми будемо використовувати сервери 2. Перший буде діяти як сервер rsyslog, а інший буде працювати як сервер робочої станції / клієнта для клієнта rsyslog. До кінця цього підручника ми побачимо, що як тільки користувач увійде на клієнтський сервер, сервер rsyslog автоматично реєструє активність, виконану ним.

2. Установка Rsyslog

Для фази встановлення потрібно лише встановити пакунки rsyslog та його залежності. По-перше, підтвердимо нашу версію операційної системи.

[[email protected] ~] # cat / etc / issue
Oracle Linux Server випустить 6.4
Ядро r на m

[[email protected] ~] # арка
i686

[[email protected] ~] # uname -a
Linux RSYS01 2.6.32-358.el6.i686 # 1 SMP Пт Лютий 22 13: 37: 29 PST 2013 i686 i686
Далі, я настрою новий сховище для встановлення пакунків rsyslog через утиліту yum.
[[email protected] ~] # cd /etc/yum.repos.d/
[[захищена електронною поштою] yum.repos.d] # vi rsyslog.repo
[rsyslog-v7-devel]
name = Adiscon Rsyslog v7-розробка для CentOS- $ releasever- $ basearch
baseurl = http: //rpms.adiscon.com/v7-devel/epel-$releasever/$basearch
розблоковано = 0
gpgcheck = 0
protect = 1

[rsyslog-v7-stable]
name = Adiscon Rsyslog v7-стабільний для CentOS- $ releasever- $ basearch
baseurl = http: //rpms.adiscon.com/v7-stable/epel-$releasever/$basearch
розблоковано = 1
gpgcheck = 0
protect = 1
[[email protected] yum.repos.d] # yum список rsyslog
Завантажені плагіни: refresh-packagekit, security
rsyslog-v7-стабільний | 2.5 КБ 00: 00
rsyslog-v7-stable / primary_db | 188 КБ 00: 01
Доступні пакети
rsyslog.i686 7.6.7-1.el6 rsyslog-v7-stable
Виконано, тепер почнемо встановлювати нову версію rsyslog. Нижче наведені кроки:
[[email protected] yum.repos.d] # yum встановити rsyslog -y
Завантажені плагіни: refresh-packagekit, security
Налаштування процесу встановлення
Вирішення залежностей
-> Запуск перевірки транзакцій
-> Пакет rsyslog.i686 0: буде встановлено 7.6.7-1.el6
-> Залежність обробки: liblogging-stdlog.so.0 для пакета: rsyslog-7.6.7-1.el6.i686
-> Залежність обробки: libjson-c.so.2 для пакета: rsyslog-7.6.7-1.el6.i686
-> Залежність обробки: libgthttp.so.0 для пакета: rsyslog-7.6.7-1.el6.i686
-> Залежність обробки: libgtbase.so.0 для пакета: rsyslog-7.6.7-1.el6.i686
-> Залежність обробки: libgt для пакета: rsyslog-7.6.7-1.el6.i686
-> Залежність обробки: libestr.so.0 для пакета: rsyslog-7.6.7-1.el6.i686
-> Запуск перевірки транзакцій
-> Пакет json-c.i686 0: буде встановлено 0.11-3.el6
-> Пакет libestr.i686 0: буде встановлено 0.1.9-1.el6
-> Пакет libgt.i686 0: буде встановлено 0.3.11-1.el6
-> Пакет liblogging.i686 0: буде встановлено 1.0.4-1.el6
-> Завершена роздільна здатність залежностей
Залежність вирішена
================================================== ================================================== ===========
Розмір репозиторію версії пакетної арки
================================================== ================================================== ===========
Установка:
rsyslog i686 7.6.7-1.el6 rsyslog-v7-стабільний 920 k
Встановлення для залежностей:
json-c i686 0.11-3.el6 rsyslog-v7-стабільний 46 k
libestr i686 0.1.9-1.el6 rsyslog-v7-стабільний 9.0 k
libgt i686 0.3.11-1.el6 rsyslog-v7-стабільний 55 k
liblogging i686 1.0.4-1.el6 rsyslog-v7-стабільний 23 k
Підсумок транзакції
================================================== ================================================== ===========
Встановити пакунки 5
Загальний розмір завантаження: 1.0 M
Встановлений розмір: 3.2 M
Завантаження пакунків:
(1 / 5): json-c-0.11-3.el6.i686.rpm | 46 КБ 00: 00
(2 / 5): libestr-0.1.9-1.el6.i686.rpm | 9.0 КБ 00: 00
(3 / 5): libgt-0.3.11-1.el6.i686.rpm | 55 КБ 00: 00
(4 / 5): liblogging-1.0.4-1.el6.i686.rpm | 23 КБ 00: 00
(5 / 5): rsyslog-7.6.7-1.el6.i686.rpm | 920 КБ 00: 03
—————————————————————————————————————
Усього 114 кб / с | 1.0 MB 00: 09
Запуск rpm_check_debug
Запуск перевірки транзакцій
Тест на транзакцію досягнув успіху
Запуск транзакції
Встановлення: libgt-0.3.11-1.el6.i686 1 / 5
Встановлення: liblogging-1.0.4-1.el6.i686 2 / 5
Встановлення: libestr-0.1.9-1.el6.i686 3 / 5
Встановлення: json-c-0.11-3.el6.i686 4 / 5
Встановлення: rsyslog-7.6.7-1.el6.i686 5 / 5
Перевірка: json-c-0.11-3.el6.i686 1 / 5
Підтвердження: libestr-0.1.9-1.el6.i686 2 / 5
Підтвердження: liblogging-1.0.4-1.el6.i686 3 / 5
Підтвердження: libgt-0.3.11-1.el6.i686 4 / 5
Підтвердження: rsyslog-7.6.7-1.el6.i686 5 / 5
Встановлено:
rsyslog.i686 0:7.6.7-1.el6
Залежно встановлено:
json-c.i686 0:0.11-3.el6 libestr.i686 0:0.1.9-1.el6 libgt.i686 0:0.3.11-1.el6 liblogging.i686 0:1.0.4-1.el6
Завершіть!

[[email protected] yum.repos.d] # rsyslogd -v
rsyslogd 7.6.7, зібраний з:
FEATURE_REGEXP: Так
Підтримка GSSAPI Kerberos 5: Так
FEATURE_DEBUG (побудова налагодження, повільний код): Ні
Підтримуються атомні операції 32bit: Так
Підтримуються атомні операції 64bit: Так
Інструментальне виконання (повільний код): Ні
uuid support: Так
Кількість бітів у цілих числах RainerScript: 64
Дивіться http://www.rsyslog.com для отримання додаткової інформації.

[[email protected] ~] # rpm -qa | grep rsyslog
rsyslog-7.6.7-1.el6.i686
Далі перейдемо до етапу встановлення. Для цього підручника ми пропустимо на шарі безпеки, щоб зробити все простим. Ми вимкнемо SELINUX, щоб переконатися, що під час подорожі не виникає проблем, пов'язаних з безпекою. Майте на увазі, що ви не повинні вимикати SELinux та брандмауер на налаштуваннях у прямому ефірі. Нижче наведені кроки:

По-перше, перевірте поточний статус нашої політики SELINUX.

[[email protected] ~] # getenforce
Виконання

Щоб його вимкнути, виконайте наведені нижче дії.

[[email protected] ~] # cd / etc / sysconfig /
[[захищена електронною поштою] ~] # vi selinux
# Цей файл контролює стан SELinux у системі.
# SELINUX = може приймати одне з цих трьох значень:
# enforcing - політика безпеки SELinux застосовується.
# permissive - SELinux надсилає попередження замість виконання.
# вимкнено - не завантажується політика SELinux.
SELINUX = вимкнено
# SELINUXTYPE = може приймати одне з цих двох значень:
# targeted - захищені цільові процеси,
# mls - багаторівневий захист безпеки.
SELINUXTYPE = цілеспрямований
Після цього переконайтеся, що ми вимкнули брандмауер, щоб уникнути блокування між сервером і клієнтом.

[[email protected] ~] # iptables -nL
Мережа INPUT (політика ACCEPT)
цільовий протокол вибору джерела призначення
Мережа FORWARD (політика ACCEPT)
цільовий протокол вибору джерела призначення
Мережа OUTPUT (політика ACCEPT)
цільовий протокол вибору джерела призначення

[[email protected] ~] # /etc/init.d/iptables зупиняються
iptables: Промивання правил брандмауера: [OK]
iptables: Налаштування ланцюжків на політику ACCEPT: фільтр [OK]
iptables: розвантаження модулів: [OK]

[[email protected] ~] # /etc/init.d/iptables статус
Таблиця: фільтр
Мережа INPUT (політика ACCEPT)
Цільова адреса для вибору джерела чисел
Мережа FORWARD (політика ACCEPT)
Цільова адреса для вибору джерела чисел
Мережа OUTPUT (політика ACCEPT)
Цільова адреса для вибору джерела чисел
Готово, зараз, коли фаза встановлення має успіх. Перейдемо до фази конфігурації.

3. Конфігурація Rsyslog

Всі залежності пакунка вже встановлені, звернемо увагу на конфігурацію rsyslog. Повернемося до конфігураційного файлу і внесемо зміни, як показано нижче:

[[email protected] ~] # vi /etc/rsyslog.conf
Модуль (load = ”imudp) # потрібно зробити лише один раз
вхід (type = "imudp" port = ”514 ″)
$ template Auditlog, “/var/log/rsyslog_client/%HOSTNAME%/%PROGRAMNAME%.log”
$ template TmplMsg, “/var/log/rsyslog_client/%HOSTNAME%/%PROGRAMNAME%.log”
authpriv. *? Auditlog

Нижче наведено пояснення щодо змін, які ми внесли:

  • модуль (load = ”imudp”) # потрібно зробити тільки один раз ==> Ми надамо можливість отримувати повідомлення rsyslog між сервером і клієнтом через протокол UDP
  • вхід (type = "imudp" port = ”514 ″) ==> Ми будемо використовувати порт 514 для служб rsyslog
  • $ template Auditlog, “/var/log/rsyslog_client/%HOSTNAME%/%PROGRAMNAME%.log” ==> Для кожного клієнта, підключеного до сервера rsyslog, система автоматично створить папку хоста клієнта та ім'я файлу пов'язаних служб
  • $ template TmplMsg, “/var/log/rsyslog_client/%HOSTNAME%/%PROGRAMNAME%.log” ==> Для кожного клієнта, підключеного до сервера rsyslog, система автоматично створить папку хоста клієнта та ім'я файлу пов'язаних служб

Після того, як налаштування завершено, давайте почнемо службу rsyslog.

[[email protected] yum.repos.d] # /etc/init.d/rsyslog перезавантаження
Вимкнення системного реєстратора: [FAILED]
Запуск системного реєстратора: [OK]

Використовуйте netstat, щоб переконатися, що служби rsyslog запущено та запущено:

[[захищена електронною поштою] yum.repos.d] # netstat -uanp | grep rsyslog
udp 0 0 0.0.0.0: 514 0.0.0.0: * 2430 / rsyslogd
udp 0 0 ::: 514 ::: * 2430 / rsyslogd

Ви можете бачити, що служба rsyslog працює з призначеними нами портами. За замовчуванням rsyslog також здійснює аудит власного доступу до сервера, оскільки він розглядає сервер rsyslog як клієнт. Щоб переконатися, що він працює, ми можемо подивитися в папку / var / log. Давайте перевіримо, чи існує папка з ім'ям RSYS01 (це ім'я хоста сервера) чи ні.

[[захищений електронною поштою] журнал] # cd / var / log /
[[захищений електронною поштою] журнал] # ls -l | grep rsyslog
drwx—— кореневий корень 3 4096 Oct 24 18: 21 rsyslog_client

[[email protected] log] # cd rsyslog_client
[[email protected] rsyslog_client] # ls
RSYS01
[[email protected] rsyslog_client] # cd RSYS01 /
[[email protected] RSYS01] # ls
rsyslogd.log

Приємно, здається, все працює як шарм! Тепер перейдемо до етапу тестування, щоб завершити всі конфігурації, як очікується.

4. Фаза тестування

Оскільки сервер, який запускає службу rsyslog, також працює як клієнт, ми бачимо на самому сервері, якщо моніторинг локальних логінів контролюється. Щоб переконатися, що це правда, давайте увійдемо до сервера rsyslog з іншим сеансом, використовуючи службу SSH. Для цього кроку будемо вважати, що сам сервер вже налаштований без пароля конфігурації. Нижче наведені кроки:

[[email protected] RSYS01] # ssh [захищена електронна пошта]
Останній вхід: Sat Oct 22 15: 45: 48 2016 з 172.20.181.70

[[email protected] ~] # хто
корінь pts / 0 2016-10-22 00: 21 (172.20.181.11)
корінь pts / 1 2016-10-24 18: 22 (127.0.0.1)

[[email protected] ~] # exit
Вихід
Підключення до RSYS01 закрито.

Зроблено, так само просто. Ми просто входимо в сам сервер rsyslog, після того, як буде створено новий сеанс, ми просто увійдемо знову, щоб забезпечити, щоб служба rsyslog зробила аудит сеансу. Тепер давайте перевіримо, чи сесія була перевірена чи ні. Нижче наведені кроки:

[[email protected] ~] # cd var / log / rsyslog_client / RSYS01
[[email protected] RSYS01] # ls
rsyslogd.log sshd.log
[[email protected] RSYS01] # хвіст -f sshd.log
Жовтень 24 18: 22: 46 RSYS01 sshd [2536]: Прийнятий пароль для кореня з порту 192.168.43.101 52862 ssh2
Жовтень 24 18: 22: 46 RSYS01 sshd [2536]: pam_unix (sshd: session): сеанс відкритий для користувача root за допомогою (uid = 0)
Жовтень 24 18: 22: 50 RSYS01 sshd [2536]: отримано від’єднання від 192.168.43.101: 11: від’єднано користувачем
Жовтень 24 18: 22: 50 RSYS01 sshd [2536]: pam_unix (sshd: session): сеанс закритий для користувача root
^C
Відмінно, служба rsyslog автоматично створила файл sshd.log, коли сеанс почався на сервері. Усередині журналу ми бачимо, що в списку детально вказано час, порт і користувач, створені під час сеансу.

Тепер, як все працює, як очікувалося. Давайте налаштуємо робочу станцію для перевірки клієнта rsyslog нашим сервером rsyslog. Для клієнта rsyslog потрібно просто встановити пакунки rsyslog і зробити просту зміну файлу конфігурації для посилання на сервер rsyslog. Нижче наведені кроки:

[[email protected] ~] # cd /etc/yum.repos.d/
[[email protected] yum.repos.d] # yum список rsyslog
Завантажені плагіни: refresh-packagekit, security
rsyslog-v7-стабільний | 2.5 КБ 00: 00
rsyslog-v7-stable / primary_db | 188 КБ 00: 01
Доступні пакети
rsyslog.i686 7.6.7-1.el6 rsyslog-v7-stable
[[email protected] yum.repos.d] # yum встановити rsyslog -y
Завантажені плагіни: refresh-packagekit, security
Налаштування процесу встановлення
Вирішення залежностей
-> Запуск перевірки транзакцій
-> Пакет rsyslog.i686 0: буде встановлено 7.6.7-1.el6
-> Залежність обробки: liblogging-stdlog.so.0 для пакета: rsyslog-7.6.7-1.el6.i686
-> Залежність обробки: libjson-c.so.2 для пакета: rsyslog-7.6.7-1.el6.i686
-> Залежність обробки: libgthttp.so.0 для пакета: rsyslog-7.6.7-1.el6.i686
-> Залежність обробки: libgtbase.so.0 для пакета: rsyslog-7.6.7-1.el6.i686
-> Залежність обробки: libgt для пакета: rsyslog-7.6.7-1.el6.i686
-> Залежність обробки: libestr.so.0 для пакета: rsyslog-7.6.7-1.el6.i686
-> Запуск перевірки транзакцій
-> Пакет json-c.i686 0: буде встановлено 0.11-3.el6
-> Пакет libestr.i686 0: буде встановлено 0.1.9-1.el6
-> Пакет libgt.i686 0: буде встановлено 0.3.11-1.el6
-> Пакет liblogging.i686 0: буде встановлено 1.0.4-1.el6
-> Завершена роздільна здатність залежностей
Залежність вирішена
================================================== ================================================== ===========
Розмір репозиторію версії пакетної арки
================================================== ================================================== ===========
Установка:
rsyslog i686 7.6.7-1.el6 rsyslog-v7-стабільний 920 k
Встановлення для залежностей:
json-c i686 0.11-3.el6 rsyslog-v7-стабільний 46 k
libestr i686 0.1.9-1.el6 rsyslog-v7-стабільний 9.0 k
libgt i686 0.3.11-1.el6 rsyslog-v7-стабільний 55 k
liblogging i686 1.0.4-1.el6 rsyslog-v7-стабільний 23 k
Підсумок транзакції
================================================== ================================================== ===========
Встановити пакунки 5
Загальний розмір завантаження: 1.0 M
Встановлений розмір: 3.2 M
Завантаження пакунків:
(1 / 5): json-c-0.11-3.el6.i686.rpm | 46 КБ 00: 00
(2 / 5): libestr-0.1.9-1.el6.i686.rpm | 9.0 КБ 00: 00
(3 / 5): libgt-0.3.11-1.el6.i686.rpm | 55 КБ 00: 00
(4 / 5): liblogging-1.0.4-1.el6.i686.rpm | 23 КБ 00: 00
(5 / 5): rsyslog-7.6.7-1.el6.i686.rpm | 920 КБ 00: 03
—————————————————————————————————————
Усього 114 кб / с | 1.0 MB 00: 09
Запуск rpm_check_debug
Запуск перевірки транзакцій
Тест на транзакцію досягнув успіху
Запуск транзакції
Встановлення: libgt-0.3.11-1.el6.i686 1 / 5
Встановлення: liblogging-1.0.4-1.el6.i686 2 / 5
Встановлення: libestr-0.1.9-1.el6.i686 3 / 5
Встановлення: json-c-0.11-3.el6.i686 4 / 5
Встановлення: rsyslog-7.6.7-1.el6.i686 5 / 5
Перевірка: json-c-0.11-3.el6.i686 1 / 5
Підтвердження: libestr-0.1.9-1.el6.i686 2 / 5
Підтвердження: liblogging-1.0.4-1.el6.i686 3 / 5
Підтвердження: libgt-0.3.11-1.el6.i686 4 / 5
Підтвердження: rsyslog-7.6.7-1.el6.i686 5 / 5
Встановлено:
rsyslog.i686 0:7.6.7-1.el6
Залежно встановлено:
json-c.i686 0:0.11-3.el6 libestr.i686 0:0.1.9-1.el6 libgt.i686 0:0.3.11-1.el6 liblogging.i686 0:1.0.4-1.el6
Завершіть!
Виконано, тепер ми встановили пакет rsyslog на нашій клієнтській робочій станції. Тепер давайте зробимо поправку всередині конфігураційного файлу rsyslog. Для конфігурації клієнта потрібно лише змінити налаштування, як показано нижче:

[[email protected] ~] # vi /etc/rsyslog.conf
*. * @192.168.43.101: 514

Ось і все, відзначили, що ми включили IP 192.168.43.101 з портом 514 в конфігураційний файл. Цей IP - це IP для сервера rsyslog. Тепер, коли все зроблено, давайте перезапустимо службу rsyslog на робочій станції клієнта, щоб завантажити зміни. Нижче наведені кроки:

[[email protected] ~] # /etc/init.d/rsyslog перезавантаження
Вимкнення системного реєстратора: [FAILED]
Запуск системного реєстратора: [OK]
Тепер повернемося до нашого сервера rsyslog і перевіримо, чи створено папку для імені хоста клієнта rsyslog у каталозі журналу rsyslog. Нижче наведені кроки:

[[email protected] ~] # cd var / log / rsyslog_client /
[[email protected] rsyslog_client] # ls
RSYS01 CLIENT01
Відмінно, майте на увазі, що папка з ім'ям хоста клієнта rsyslog була створена автоматично. Це підтверджує, що наша конфігурація правильна, і клієнт rsyslog може здійснювати UDP-з'єднання з сервером rsyslog.

Для наступної процедури тестування, давайте увійдемо до клієнта rsyslog як інший користувач і подивимося, чи керує сервер rsyslog захопленням чи ні. Нижче наведені кроки:

:: CLIENT01 ::
Логін як: shahril
Пароль [захищений електронною поштою]:
Останній вхід: Нд Жовтень 23 00: 21: 40 2016 з 172.20.181.11

[[email protected] ~] $ who
shahril pts / 0 2016-10-24 17: 01 (192.168.43.80)

[[email protected] ~] $ exit
Тепер давайте перевіримо каталог журналу на сервері rsyslog, щоб дізнатися, чи вдалося нам зареєструвати діяльність, створену з клієнта rsyslog, чи ні.

[[email protected] ~] # cd var / log / rsyslog_client /
[[email protected] rsyslog_client] # cd CLIENT01 /
[[email protected] CLIENT01] # ls
rsyslogd.log sshd.log
[[захищена електронною поштою] CLIENT01] # tail -10 sshd.log
Жовтень 24 17: 01: 47 CLIENT01 sshd [2102]: Прийнятий пароль для shahril з порту 192.168.43.80 17002 ssh2
Жовтень 24 17: 01: 47 CLIENT01 sshd [2102]: pam_unix (sshd: session): сеанс відкрито для користувача shahril від (uid = 0)
Чудово, результат показує, що процес працює, як очікувалося. Тепер для остаточного тестування, давайте увійдемо до rsyslog клієнта і встановимо пакет, щоб перевірити, чи служба rsyslog вдається зареєструвати іншу діяльність, ніж створення сеансу. Нижче наведені кроки:

:: CLIENT01 ::
Логін як: root
Пароль [захищений електронною поштою]:
Останній вхід: Sat Oct 22 10: 21: 40 2016 з 172.20.181.11

[[захищена електронною поштою] ~] # yum install firefox -y
Завантажені плагіни: refresh-packagekit, security
У сховищі 'OEL64' відсутнє ім'я в конфігурації, використовуючи id
Налаштування процесу встановлення
Вирішення залежностей
-> Запуск перевірки транзакцій
-> Пакет firefox.i686 0: буде встановлено 10.0.12-1.0.1.el6_3
-> Завершена роздільна здатність залежностей
Залежність вирішена
================================================== ==============================
Розмір репозиторію версії пакетної арки
================================================== ==============================
Установка:
firefox i686 10.0.12-1.0.1.el6_3 OEL64 20 M
Підсумок транзакції
================================================== ==============================
Встановити пакунки 1
Загальний розмір завантаження: 20 M
Встановлений розмір: 23 M
Завантаження пакунків:
Запуск rpm_check_debug
Запуск перевірки транзакцій
Тест на транзакцію досягнув успіху
Запуск транзакції
Installing : firefox-10.0.12-1.0.1.el6_3.i686 1/1
Verifying : firefox-10.0.12-1.0.1.el6_3.i686 1/1
Встановлено:
firefox.i686 0:10.0.12-1.0.1.el6_3
Завершіть!

Вище наведене показує, що ми успішно встановили інсталятор браузера Firefox у нашій робочій станції клієнта rsyslog. Тепер повернемося до нашого сервера rsyslog і перевіримо, чи вдалося rsyslog зареєструвати процес встановлення пакету сторонніх виробників у робочу станцію. Нижче наведені кроки:

[[email protected] ~] # cd var / log / rsyslog_client /
[[email protected] CLIENT01] # ls
rsyslogd.log sshd.log yum.log
[[email protected] CLIENT01] # хвіст-20 yum.log
Жовтень 25 17: 13: 17 CLIENT01 yum [2319]: встановлено: firefox-10.0.12-1.0.1.el6_3.i686

Відмінно, служба rsyslog вдалося перевірити інформацію про активність установки на робочій станції клієнта.

джерело

залишити коментар

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.