Настройка, программирование, распределённые вычисления
Модераторы: Olej, bellic, vikos
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 26 дек 2019, 02:23
У нас уже есть тема относительно файерволов Fedora/CentOS:
firewalld & iptables
Теперь самое время посмотреть в сторону файервола ufw, используемого в Debian, Ubuntu ...
P.S. Меня не интересует сам по себе ufw, но он важен в контексте управления VDS сервером, на котором крутится вот этот форум, который вы читаете, см.
PHP и WEB-хостинг...
Следующее, что сразу же нужно сделать для хостинга, что непосредственно никак не относится к PHP, это настроить файервол.
НАСТРОЙКА UFW UBUNTU
Во всех дистрибутивах Linux для обеспечения сетевой безопасности и изоляции внутренних процессов от внешней среды используется брандмауэр iptables. Но его настройка может показаться очень сложной для новых пользователей, поэтому многие дистрибутивы создают собственные оболочки, которые упрощают процесс настройки.
В Ubuntu используется оболочка под названием UFW или Uncomplicated FireWall.
Но мы, к счастью, не в Ubuntu...
Поэтому
Как использовать UFW в Debian 10 Buster Linux:
Опубликовано : 11.07.2019
Здесь подробнейшим образом расписано как настроить ufw
для самых разнообразных портов.
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 26 дек 2019, 02:31
Код: Выделить всё
root@277938:~# ufw --help
Usage: ufw COMMAND
Commands:
enable enables the firewall
disable disables the firewall
default ARG set default policy
logging LEVEL set logging to LEVEL
allow ARGS add allow rule
deny ARGS add deny rule
reject ARGS add reject rule
limit ARGS add limit rule
delete RULE|NUM delete RULE
insert NUM RULE insert RULE at NUM
route RULE add route RULE
route delete RULE|NUM delete route RULE
route insert NUM RULE insert route RULE at NUM
reload reload firewall
reset reset firewall
status show firewall status
status numbered show firewall status as numbered list of RULES
status verbose show verbose firewall status
show ARG show firewall report
version display version information
Application profile commands:
app list list application profiles
app info PROFILE show information on PROFILE
app update PROFILE update PROFILE
app default ARG set default application policy
Из типовых:
Код: Выделить всё
root@277938:~# ufw app list
Available applications:
AIM
Bonjour
CIFS
DNS
Deluge
IMAP
IMAPS
IPP
KTorrent
Kerberos Admin
Kerberos Full
Kerberos KDC
Kerberos Password
LDAP
LDAPS
LPD
MSN
MSN SSL
Mail submission
NFS
OpenSSH
POP3
POP3S
PeopleNearby
SMTP
SSH
Socks
Telnet
Transmission
Transparent Proxy
VNC
WWW
WWW Cache
WWW Full
WWW Secure
XMPP
Yahoo
qBittorrent
svnserve
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 26 дек 2019, 02:38
Первоначально мне нужны для работы форума:
Код: Выделить всё
root@277938:~# sudo ufw allow "WWW Full"
Rule added
Rule added (v6)
Код: Выделить всё
root@277938:~# sudo ufw allow "OpenSSH"
Rule added
Rule added (v6)
Но пока ufw не активный, не работающий (что очень удобно).
Активируем:
В итоге имеем:
Код: Выделить всё
root@277938:~# ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
WWW Full ALLOW Anywhere
8044 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW Full (v6) ALLOW Anywhere (v6)
8044 (v6) ALLOW Anywhere (v6)
Лишнее я потом уберу...
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 26 дек 2019, 02:42
Olej писал(а): ↑26 дек 2019, 02:38
Активируем:
Пока я вожусь с почтой (уведомление при регистрации новых пользователей) я добавлю (пока наугад):
Код: Выделить всё
root@277938:~# sudo ufw allow out SMTP
Rule added
Rule added (v6)
root@277938:~# sudo ufw allow in POP3
Rule added
Rule added (v6)
root@277938:~# sudo ufw allow in IMAP
Rule added
Rule added (v6)
Код: Выделить всё
root@277938:~# ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
WWW Full ALLOW Anywhere
8044 ALLOW Anywhere
POP3 ALLOW Anywhere
IMAP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW Full (v6) ALLOW Anywhere (v6)
8044 (v6) ALLOW Anywhere (v6)
POP3 (v6) ALLOW Anywhere (v6)
IMAP (v6) ALLOW Anywhere (v6)
SMTP ALLOW OUT Anywhere
SMTP (v6) ALLOW OUT Anywhere (v6)
Вот очень полезный режим (для последующего удаления):
Код: Выделить всё
root@277938:~# ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] OpenSSH ALLOW IN Anywhere
[ 2] WWW Full ALLOW IN Anywhere
[ 3] 8044 ALLOW IN Anywhere
[ 4] SMTP ALLOW OUT Anywhere (out)
[ 5] POP3 ALLOW IN Anywhere
[ 6] IMAP ALLOW IN Anywhere
[ 7] OpenSSH (v6) ALLOW IN Anywhere (v6)
[ 8] WWW Full (v6) ALLOW IN Anywhere (v6)
[ 9] 8044 (v6) ALLOW IN Anywhere (v6)
[10] SMTP (v6) ALLOW OUT Anywhere (v6) (out)
[11] POP3 (v6) ALLOW IN Anywhere (v6)
[12] IMAP (v6) ALLOW IN Anywhere (v6)
И вот с уточнением до портов:
Код: Выделить всё
root@277938:~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
22/tcp (OpenSSH) ALLOW IN Anywhere
80,443/tcp (WWW Full) ALLOW IN Anywhere
8044 ALLOW IN Anywhere
110/tcp (POP3) ALLOW IN Anywhere
143/tcp (IMAP) ALLOW IN Anywhere
22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6)
80,443/tcp (WWW Full (v6)) ALLOW IN Anywhere (v6)
8044 (v6) ALLOW IN Anywhere (v6)
110/tcp (POP3 (v6)) ALLOW IN Anywhere (v6)
143/tcp (IMAP (v6)) ALLOW IN Anywhere (v6)
25/tcp (SMTP) ALLOW OUT Anywhere
25/tcp (SMTP (v6)) ALLOW OUT Anywhere (v6)
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 04 фев 2020, 22:36
Как это выглядит
сканирование видимое снаружи на текущий момент на VDS сервере этого нашего форума:
Код: Выделить всё
olej@ACER:~$ nmap -p1-10240 185.178.47.95
Starting Nmap 7.70 ( https://nmap.org ) at 2020-02-04 21:33 EET
Stats: 0:00:00 elapsed; 0 hosts completed (0 up), 1 undergoing Ping Scan
Ping Scan Timing: About 100.00% done; ETC: 21:33 (0:00:00 remaining)
Nmap scan report for linux-ru.ru (185.178.47.95)
Host is up (0.060s latency).
Not shown: 10234 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp closed https
6665/tcp closed irc
6666/tcp closed irc
8080/tcp closed http-proxy
Nmap done: 1 IP address (1 host up) scanned in 31.78 seconds
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 05 фев 2020, 11:51
Olej писал(а): ↑26 дек 2019, 02:23
посмотреть в сторону файервола ufw,
Собственно, ufw не является файерволом, так что тема названа поверхностно.
ufw - это, не больше и не меньше, как пользовательский интерфейс
управления правилами iptables в ядре, но с гораздо более простым синтаксисом, по крайней мере для простых случаев: защита по портам одиночного хоста.
В отличие от непосредственного использования таких базовых инструментов как iptables, nftables, firewal (из Fedora) - это инструменты для профессиональных (на жаловании ;)) администраторов, обеспечивающих защиту корпоративных сетей, часто достаточно сложной топологии. Для HOME-намерений это - из пушки по воробьям.
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 05 фев 2020, 11:56
Olej писал(а): ↑05 фев 2020, 11:51
ufw - это, не больше и не меньше, как пользовательский интерфейс управления правилами iptables в ядре,
Olej писал(а): ↑04 фев 2020, 22:36
Как это выглядит сканирование видимое снаружи на текущий момент на VDS сервере этого нашего форума:
Вот как правилами ufw определяется такая видимая nmap картина портов и разрешений:
Код: Выделить всё
olej@277938:~$ sudo /sbin/ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
WWW Full ALLOW Anywhere
6666 ALLOW Anywhere
6665 ALLOW Anywhere
8080 ALLOW Anywhere
SMTP ALLOW OUT Anywhere
А вот какой набор правил iptables порождает собой это определение:
Код: Выделить всё
root@277938:~# iptables --list
Chain INPUT (policy DROP)
target prot opt source destination
f2b-sshd tcp -- anywhere anywhere multiport dports ssh
ufw-before-logging-input all -- anywhere anywhere
ufw-before-input all -- anywhere anywhere
ufw-after-input all -- anywhere anywhere
ufw-after-logging-input all -- anywhere anywhere
ufw-reject-input all -- anywhere anywhere
ufw-track-input all -- anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
ufw-before-logging-forward all -- anywhere anywhere
ufw-before-forward all -- anywhere anywhere
ufw-after-forward all -- anywhere anywhere
ufw-after-logging-forward all -- anywhere anywhere
ufw-reject-forward all -- anywhere anywhere
ufw-track-forward all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ufw-before-logging-output all -- anywhere anywhere
ufw-before-output all -- anywhere anywhere
ufw-after-output all -- anywhere anywhere
ufw-after-logging-output all -- anywhere anywhere
ufw-reject-output all -- anywhere anywhere
ufw-track-output all -- anywhere anywhere
Chain ufw-before-logging-input (1 references)
target prot opt source destination
Chain ufw-before-logging-output (1 references)
target prot opt source destination
Chain ufw-before-logging-forward (1 references)
target prot opt source destination
Chain ufw-before-input (1 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ufw-logging-deny all -- anywhere anywhere ctstate INVALID
DROP all -- anywhere anywhere ctstate INVALID
ACCEPT icmp -- anywhere anywhere icmp destination-unreachable
ACCEPT icmp -- anywhere anywhere icmp time-exceeded
ACCEPT icmp -- anywhere anywhere icmp parameter-problem
ACCEPT icmp -- anywhere anywhere icmp echo-request
ACCEPT udp -- anywhere anywhere udp spt:bootps dpt:bootpc
ufw-not-local all -- anywhere anywhere
ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns
ACCEPT udp -- anywhere 239.255.255.250 udp dpt:1900
ufw-user-input all -- anywhere anywhere
Chain ufw-before-output (1 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ufw-user-output all -- anywhere anywhere
Chain ufw-before-forward (1 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere icmp destination-unreachable
ACCEPT icmp -- anywhere anywhere icmp time-exceeded
ACCEPT icmp -- anywhere anywhere icmp parameter-problem
ACCEPT icmp -- anywhere anywhere icmp echo-request
ufw-user-forward all -- anywhere anywhere
Chain ufw-after-input (1 references)
target prot opt source destination
ufw-skip-to-policy-input udp -- anywhere anywhere udp dpt:netbios-ns
ufw-skip-to-policy-input udp -- anywhere anywhere udp dpt:netbios-dgm
ufw-skip-to-policy-input tcp -- anywhere anywhere tcp dpt:netbios-ssn
ufw-skip-to-policy-input tcp -- anywhere anywhere tcp dpt:microsoft-ds
ufw-skip-to-policy-input udp -- anywhere anywhere udp dpt:bootps
ufw-skip-to-policy-input udp -- anywhere anywhere udp dpt:bootpc
ufw-skip-to-policy-input all -- anywhere anywhere ADDRTYPE match dst-type BROADCAST
Chain ufw-after-output (1 references)
target prot opt source destination
Chain ufw-after-forward (1 references)
target prot opt source destination
Chain ufw-after-logging-input (1 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "
Chain ufw-after-logging-output (1 references)
target prot opt source destination
Chain ufw-after-logging-forward (1 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "
Chain ufw-reject-input (1 references)
target prot opt source destination
Chain ufw-reject-output (1 references)
target prot opt source destination
Chain ufw-reject-forward (1 references)
target prot opt source destination
Chain ufw-track-input (1 references)
target prot opt source destination
Chain ufw-track-output (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere ctstate NEW
ACCEPT udp -- anywhere anywhere ctstate NEW
Chain ufw-track-forward (1 references)
target prot opt source destination
Chain ufw-logging-deny (2 references)
target prot opt source destination
RETURN all -- anywhere anywhere ctstate INVALID limit: avg 3/min burst 10
LOG all -- anywhere anywhere limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "
Chain ufw-logging-allow (0 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 3/min burst 10 LOG level warning prefix "[UFW ALLOW] "
Chain ufw-skip-to-policy-input (7 references)
target prot opt source destination
DROP all -- anywhere anywhere
Chain ufw-skip-to-policy-output (0 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Chain ufw-skip-to-policy-forward (0 references)
target prot opt source destination
DROP all -- anywhere anywhere
Chain ufw-not-local (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere ADDRTYPE match dst-type LOCAL
RETURN all -- anywhere anywhere ADDRTYPE match dst-type MULTICAST
RETURN all -- anywhere anywhere ADDRTYPE match dst-type BROADCAST
ufw-logging-deny all -- anywhere anywhere limit: avg 3/min burst 10
DROP all -- anywhere anywhere
Chain ufw-user-input (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh /* 'dapp_OpenSSH' */
ACCEPT tcp -- anywhere anywhere multiport dports http,https /* 'dapp_WWW%20Full' */
ACCEPT tcp -- anywhere anywhere tcp dpt:6666
ACCEPT udp -- anywhere anywhere udp dpt:6666
ACCEPT tcp -- anywhere anywhere tcp dpt:6665
ACCEPT udp -- anywhere anywhere udp dpt:6665
ACCEPT tcp -- anywhere anywhere tcp dpt:http-alt
ACCEPT udp -- anywhere anywhere udp dpt:http-alt
Chain ufw-user-output (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:smtp /* 'dapp_SMTP' */
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh /* 'dapp_OpenSSH' */
Chain ufw-user-forward (1 references)
target prot opt source destination
Chain ufw-user-logging-input (0 references)
target prot opt source destination
Chain ufw-user-logging-output (0 references)
target prot opt source destination
Chain ufw-user-logging-forward (0 references)
target prot opt source destination
Chain ufw-user-limit (0 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning prefix "[UFW LIMIT BLOCK] "
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
Chain ufw-user-limit-accept (0 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
Chain f2b-sshd (1 references)
target prot opt source destination
REJECT all -- 222.186.42.7 anywhere reject-with icmp-port-unreachable
REJECT all -- 187.112.84.14.static.host.gvt.net.br anywhere reject-with icmp-port-unreachable
REJECT all -- 198-200-124-197.cpe.distributel.net anywhere reject-with icmp-port-unreachable
REJECT all -- dedicated-ajb156.rev.nazwa.pl anywhere reject-with icmp-port-unreachable
REJECT all -- 82-64-160-93.subs.proxad.net anywhere reject-with icmp-port-unreachable
REJECT all -- 174.138.36.91 anywhere reject-with icmp-port-unreachable
REJECT all -- 51-15-165-211.rev.poneytelecom.eu anywhere reject-with icmp-port-unreachable
REJECT all -- 222.186.30.209 anywhere reject-with icmp-port-unreachable
REJECT all -- 125.234.101.33.hcm.viettel.vn anywhere reject-with icmp-port-unreachable
REJECT all -- 218.92.0.138 anywhere reject-with icmp-port-unreachable
REJECT all -- mail.groupe-telnet.net anywhere reject-with icmp-port-unreachable
REJECT all -- www.beta.upiicsa.ipn.mx anywhere reject-with icmp-port-unreachable
REJECT all -- 178.62.239.205 anywhere reject-with icmp-port-unreachable
REJECT all -- 222.186.30.12 anywhere reject-with icmp-port-unreachable
REJECT all -- host156-44-static.241-95-b.business.telecomitalia.it anywhere reject-with icmp-port-unreachable
REJECT all -- 190.64.204.140 anywhere reject-with icmp-port-unreachable
REJECT all -- 99-185-76-161.lightspeed.clmasc.sbcglobal.net anywhere reject-with icmp-port-unreachable
REJECT all -- 192-3-67-107-host.colocrossing.com anywhere reject-with icmp-port-unreachable
RETURN all -- anywhere anywhere
В 1-м случае это по числу строк определений:
Код: Выделить всё
olej@277938:~$ sudo /sbin/ufw status | wc -l
12
А во 2-м, эквивалентном:
Olej
-
Olej1
- Администратор
- Сообщения: 35
- Зарегистрирован: 07 ноя 2012, 21:16
-
Контактная информация:
Непрочитанное сообщение
Olej1 » 13 май 2020, 21:30
Есть такой
урод 186.2.160.* :
Код: Выделить всё
olej@ACER:~$ whois 186.2.160.132
...
inetnum: 186.2.160.0/24
status: reallocated
aut-num: N/A
owner: DDoS-Guard.net
ownerid: RU-DDOS-LACNIC
responsible: Alexander Golovin
address: Lenina str., 44/6, of. 29, ,
address: - Rostov-on-Don -
country: RU
phone: +7 495 2150387
...
person: Alexander Golovin
e-mail: a.golovin@ddos-guard.net
address: Lenina str., 44/6, of. 29, ,
address: - Rostov-on-Don -
country: RU
phone: +7 495 2150387
created: 20130119
changed: 20130905
Зарегистрироваться на форуме он не в состоянии (DDoS безрукий
) ... но всё время прёт в Anonimous раздел (реклама и объявления) ссылки на свои порнографические изыски
: «Daily updated super пидар гнойный photo galleries», «College Girls пидар гнойный Pics» ... и т.п.
Достал!
Проще всего весь его диапазон IP забить не форумом, а файерволом...
Olej1
-
Olej1
- Администратор
- Сообщения: 35
- Зарегистрирован: 07 ноя 2012, 21:16
-
Контактная информация:
Непрочитанное сообщение
Olej1 » 13 май 2020, 21:33
Olej1 писал(а): ↑13 май 2020, 21:30
Достал!
Проще всего весь его диапазон IP забить не форумом, а файерволом...
Пробую так:
Код: Выделить всё
root@277938:~# ufw deny from 186.2.160.0/24
Rule added
Код: Выделить всё
root@277938:~# ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] OpenSSH ALLOW IN Anywhere
[ 2] WWW Full ALLOW IN Anywhere
[ 3] SMTP ALLOW OUT Anywhere (out)
[ 4] 6666 ALLOW IN Anywhere
[ 5] 6665 ALLOW IN Anywhere
[ 6] 8080 ALLOW IN Anywhere
[ 7] Anywhere DENY IN 186.2.160.0/24
Наблюдаем далее что с ним будет...
Olej1
-
Olej1
- Администратор
- Сообщения: 35
- Зарегистрирован: 07 ноя 2012, 21:16
-
Контактная информация:
Непрочитанное сообщение
Olej1 » 14 май 2020, 15:38
Olej1 писал(а): ↑13 май 2020, 21:33
Пробую так:
...
Наблюдаем далее что с ним будет...
Этот номер не проходит... Наверное, потому что запрещающее правило для 186.2.160.0/24 должно быть не последним, а 1-м, иначе 2-е правило сразу разрешает доступ...
Код: Выделить всё
root@277938:~# ufw delete 7
...
root@277938:~# ufw insert 1 reject proto tcp from 186.2.160.0/24 port 80,443
Rule inserted
Ждём гостя так:
Код: Выделить всё
root@277938:~# ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] Anywhere REJECT IN 186.2.160.0/24 80,443/tcp
[ 2] OpenSSH ALLOW IN Anywhere
[ 3] WWW Full ALLOW IN Anywhere
[ 4] SMTP ALLOW OUT Anywhere (out)
[ 5] 6666 ALLOW IN Anywhere
[ 6] 6665 ALLOW IN Anywhere
[ 7] 8080 ALLOW IN Anywhere
Код: Выделить всё
root@277938:~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
Anywhere REJECT IN 186.2.160.0/24 80,443/tcp
22/tcp (OpenSSH) ALLOW IN Anywhere
80,443/tcp (WWW Full) ALLOW IN Anywhere
6666 ALLOW IN Anywhere
6665 ALLOW IN Anywhere
8080 ALLOW IN Anywhere
25/tcp (SMTP) ALLOW OUT Anywhere
Код: Выделить всё
root@277938:~# ufw show raw | grep 186
0 0 REJECT tcp -- * * 186.2.160.0/24 0.0.0.0/0 multiport sports 80,443 reject-with tcp-reset
Olej1
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей