Пишу в hosts.denyALL: ALL
, а в hosts.allow
ALL: 192.168.0.0/16
делаю запрос изнутри сети на свой внешний интернет-адрес ssh 123.45.6.7 и свободно захожу. Что нужно прописать, чтобы полный доступ был только локальных подсетей 192.168.x.y, и никакого доступа снаружи?
Дык ты же изнутри заходишь...
>Дык ты же изнутри заходишь...проверил через внешний сервер нмапа - порты видны.
>проверил через внешний сервер нмапа - порты видны.С чего вы взяли, что hosts_access закрывает какие-то порты???
В 1м посте у вас совершенно правильные настройки.
Вот только работать они будут для сервисов которые либо собраны с поддержкой этого механизма, либо запущены через tcpd.
>>проверил через внешний сервер нмапа - порты видны.
>
>С чего вы взяли, что hosts_access закрывает какие-то порты???
>
>В 1м посте у вас совершенно правильные настройки.
>Вот только работать они будут для сервисов которые либо собраны с поддержкой
>этого механизма, либо запущены через tcpd.openssh их использует, насколько я знаю. vsftpd не через враппер, а самостоятельным демоном - не знаю, может быть и нет.
debian lenny.
>openssh их использует, насколько я знаю. vsftpd не через враппер, а самостоятельным
>демоном - не знаю, может быть и нет.проверить легко: ldd some_file в списке библиотек покажет что-то похожее на libwrap
>>openssh их использует, насколько я знаю. vsftpd не через враппер, а самостоятельным
>>демоном - не знаю, может быть и нет.
>
>проверить легко: ldd some_file в списке библиотек покажет что-то похожее на libwrap
>ldd sshd | grep wrap
libwrap.so.0 => /lib/libwrap.so.0 (0xb76f0000)эффекта никакого. переборщики бегают и перебирают, судя по логам fail2ban. а я не хочу опять менять порты, длинные пароли, блокировать все сервисы, мне это неудобно. и не хочу делать два сервера, для сети и для дома, очень жарко дома. хочу просто, чтобы сервер и в интернет смотрел, но доступ к ftp, http, ssh, dns, dhcp и всему остальному был только с 192.168.0.0/16
>>>openssh их использует, насколько я знаю. vsftpd не через враппер, а самостоятельным
>>>демоном - не знаю, может быть и нет.
>>
>>проверить легко: ldd some_file в списке библиотек покажет что-то похожее на libwrap
>>
>
>ldd sshd | grep wrap
> libwrap.so.0 => /lib/libwrap.so.0 (0xb76f0000)
>
>эффекта никакого. переборщики бегают и перебирают, судя по логам fail2ban. а яа что скажет tcpdmatch -d sshd 1.2.3.4
>всему остальному был только с 192.168.0.0/16
так не проще ли повесить все на интерфейс который смотрит в вашу локалку?
>а что скажет tcpdmatch -d sshd 1.2.3.4tcpdmatch -d sshd 1.2.3.4
warning: sshd: no such process name in /etc/inetd.conf
client: address 1.2.3.4
server: process sshd
access: grantedлюбопытно. пойду изучать inetd.conf
>так не проще ли повесить все на интерфейс который смотрит в вашу
>локалку?а вот это уже второй вопрос, создать интерфейс для локалки, я его всё никак написать не могу, там много. создание бриджа у меня не получилось.
>любопытно. пойду изучать inetd.confа что ему вообще в inetd.conf писать? чтобы всё работало, как работает, но только правила hosts.* соблюдались?
>
>>а что скажет tcpdmatch -d sshd 1.2.3.4
>
>tcpdmatch -d sshd 1.2.3.4
>warning: sshd: no such process name in /etc/inetd.conf
>client: address 1.2.3.4
>server: process sshd
>access: granted
>
>любопытно. пойду изучать inetd.confОно так ругается)
Похоже я вас обманул и в hosts.* таки есть ошибка
сделайте
echo "ALL: ALL" >/etc/hosts.deny
echo "ALL: 192.168.0.0/16" >/etc/hosts.allow
и покажите что скажет
tcpdmatch -d sshd 1.2.3.4
tcpdmatch -d sshd 192.168.0.1
>[оверквотинг удален]
>>любопытно. пойду изучать inetd.conf
>
>Оно так ругается)
>Похоже я вас обманул и в hosts.* таки есть ошибка
>сделайте
>echo "ALL: ALL" >/etc/hosts.deny
>echo "ALL: 192.168.0.0/16" >/etc/hosts.allow
>и покажите что скажет
>tcpdmatch -d sshd 1.2.3.4
>tcpdmatch -d sshd 192.168.0.1С ума сойти, заработало. А в чём ошибка? Идентичные же файлы, кроме комментариев:
tcpdmatch -d sshd 1.2.3.4
warning: sshd: no such process name in /etc/inetd.conf
client: address 1.2.3.4
server: process sshd
matched: hosts.deny line 1
access: deniedtcpdmatch -d sshd 192.168.0.1
warning: sshd: no such process name in /etc/inetd.conf
client: address 192.168.0.1
server: process sshd
matched: hosts.allow line 1
access: granted
>С ума сойти, заработало. А в чём ошибка? Идентичные же файлы, кроме
>комментариев:Возможно у вас не было "\n" в конце строки, ну или какая-то подобная мелочь, которую не видно не вооруженным глазом)
>>С ума сойти, заработало. А в чём ошибка? Идентичные же файлы, кроме
>>комментариев:
> Возможно у вас не было "\n" в конце строки, ну или какая-то
> подобная мелочь, которую не видно не вооруженным глазом)Лет много уже прошло, но налетел на похожие грабли:
Debian пишу номер порта явно:
22:1.2.3.4 работает
слака 14.2 то же самое
22:1.2.3.4 не работает
sshd:1.2.3.4 работаетвсю голову сломал пока разобрался. морду бы набить тому кто писал обработчик этого добра в слаквари...
>[оверквотинг удален]
>
>ALL: ALL
>
>, а в hosts.allow
>
>ALL: 192.168.0.0/16
>
>делаю запрос изнутри сети на свой внешний интернет-адрес ssh 123.45.6.7 и свободно
>захожу. Что нужно прописать, чтобы полный доступ был только локальных подсетей
>192.168.x.y, и никакого доступа снаружи?в hosts.allow заремьте строку (в начале файла)
ALL : ALL : allow
>в hosts.allow заремьте строку (в начале файла)
>ALL : ALL : allowнет такой строчки. вот весь файл
# /etc/hosts.allow: list of hosts that are allowed to access the system.
# See the manual pages hosts_access(5) and hosts_options(5).
#
# Example: ALL: LOCAL @some_netgroup
# ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper, as well as for
# rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8)
# for further information.
#ALL: 192.168.0.0/16
# /etc/hosts.deny: list of hosts that are _not_ allowed to access the system.
# See the manual pages hosts_access(5) and hosts_options(5).
#
# Example: ALL: some.host.name, .some.domain
# ALL EXCEPT in.fingerd: other.host.name, .other.domain
#
# If you're going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper, as well as for
# rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8)
# for further information.
#
# The PARANOID wildcard matches any host whose name does not match its
# address.# You may wish to enable this to ensure any programs that don't
# validate looked up hostnames still leave understandable logs. In past
# versions of Debian this has been the default.
# ALL: PARANOIDALL: ALL
сервиc точно собран с поддержкой tcpwrapper ?
>сервиc точно собран с поддержкой tcpwrapper ?дефолт из ленни. мне крайне сомнительно, что там этого нет.
>[оверквотинг удален]
>
>ALL: ALL
>
>, а в hosts.allow
>
>ALL: 192.168.0.0/16
>
>делаю запрос изнутри сети на свой внешний интернет-адрес ssh 123.45.6.7 и свободно
>захожу. Что нужно прописать, чтобы полный доступ был только локальных подсетей
>192.168.x.y, и никакого доступа снаружи?этот файл действует на сервисы которые запускаются через inetd
>
>этот файл действует на сервисы которые запускаются через inetdи программы собранные с поддержкой tcp wrappers