From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 3 Apr 2020 21:09:43 +0300 From: "Vladimir D. Seleznev" To: ALT Linux Team development discussions Message-ID: <20200403180943.GA3974587@portlab> References: <2568abff-ebe1-8a85-cd37-8d35adc29e0e@altlinux.org> <20200403103741.GA3881120@portlab> <20200403105008.GA3881384@portlab> <20200403122022.GA12283@altlinux.org> <20200403155604.97de34fcddb8271aa69c83e0@altlinux.org> <20200403131057.GA12472@altlinux.org> <5ad05ca4-e829-d1bc-c962-ff50eeb56294@altlinux.org> <20200403134602.GA3918586@portlab> <20200403195320.9dbde07e6ac2b5199622e3cc@altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200403195320.9dbde07e6ac2b5199622e3cc@altlinux.org> User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [devel] =?utf-8?b?W3Npc3lwaHVzXSDQv9GA0LjQutC70Y7Rh9C10L3QuNGP?= =?utf-8?q?_resolv=2Econf_=D0=B2_ALT?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Apr 2020 18:09:44 -0000 Archived-At: List-Archive: List-Post: On Fri, Apr 03, 2020 at 07:53:20PM +0300, Andrey Savchenko wrote: > On Fri, 3 Apr 2020 16:46:03 +0300 Vladimir D. Seleznev wrote: > > On Fri, Apr 03, 2020 at 04:21:52PM +0300, Denis Medvedev wrote: > > > 03.04.2020 16:10, Dmitry V. Levin пишет: > > > > On Fri, Apr 03, 2020 at 03:56:04PM +0300, Andrey Savchenko wrote: > > > >> On Fri, 3 Apr 2020 15:20:23 +0300 Dmitry V. Levin wrote: > > > >>> On Fri, Apr 03, 2020 at 01:51:51PM +0300, Denis Medvedev wrote: > > > >>>> 03.04.2020 13:50, Vladimir D. Seleznev пишет: > > > >>>>> On Fri, Apr 03, 2020 at 01:37:41PM +0300, Vladimir D. Seleznev wrote: > > > >>>>>> On Fri, Apr 03, 2020 at 01:32:38PM +0300, Denis Medvedev wrote: > > > >>>>>>> 03.04.2020 13:28, Vladimir D. Seleznev пишет: > > > >>>>>>>> On Tue, Mar 31, 2020 at 10:05:17PM +0300, Alexey Shabalin wrote: > > > >>>>>>>>>> PS: следующим письмом попробую подробно описать наши кувыркания с resolv.conf. > > > >>>>>>>>>> дождитесь его, прежде чем отвечать :) > > > >>>>>>>>> 5) update_chrooted. > > > >>>>>>>>> Наши замечательные ALT особенности :) > > > >>>>>>>>> Множество сервисов и отдельных программ(например ping) запускаются в chroot. > > > >>>>>>>>> В этот chroot должны быть скопированы и библиотеки, и настройки для > > > >>>>>>>>> этих библиотек, в частности resolv.conf. > > > >>>>>>>>> Т.е. ping не использует /etc/resolv.conf, а использует > > > >>>>>>>>> /var/resolv/etc/resolv.conf. > > > >>>>>>>>> Нам очень важно держать в chroot'ах resolv.conf синхронным c с > > > >>>>>>>>> основной системой. > > > >>>>>>>>> Вроде все утилиты, обновляющие /etc/resolv.conf обучены вызывать > > > >>>>>>>>> update_chrooted. > > > >>>>>>>> Может быть стоит написать некий update_chrootd, который следил бы за > > > >>>>>>>> всеми файлами, которые должны быть в чруте, и при их обновлении обновлял > > > >>>>>>>> бы чрут? rpm -qf * > > > >>>>>>>> файл /var/lib/ldap/usr/lib/libcom_err.so.2 не принадлежит ни одному из пакетов > > > >>>>>>>> файл /var/lib/ldap/usr/lib/libdb-4.7.so не принадлежит ни одному из пакетов > > > >>>>>>>> файл /var/lib/ldap/usr/lib/libgssapi_krb5.so.2 не принадлежит ни одному из пакетов > > > >>>>>>>> файл /var/lib/ldap/usr/lib/libk5crypto.so.3 не принадлежит ни одному из пакетов > > > >>>>>>>> файл /var/lib/ldap/usr/lib/libkeyutils.so.1 не принадлежит ни одному из пакетов > > > >>>>>>>> файл /var/lib/ldap/usr/lib/libkrb5.so.3 не принадлежит ни одному из пакетов > > > >>>>>>>> файл /var/lib/ldap/usr/lib/libkrb5support.so.0 не принадлежит ни одному из пакетов > > > >>>>>>>> файл /var/lib/ldap/usr/lib/libm.so.6 не принадлежит ни одному из пакетов > > > >>>>>>>> файл /var/lib/ldap/usr/lib/libodbc.so.2 не принадлежит ни одному из пакетов > > > >>>>>>>> файл /var/lib/ldap/usr/lib/libpcre.so.3 не принадлежит ни одному из пакетов > > > >>>>>>>> файл /var/lib/ldap/usr/lib/libperl-5.28.so не принадлежит ни одному из пакетов > > > >>>>>>>> файл /var/lib/ldap/usr/lib/libselinux.so.1 не принадлежит ни одному из пакетов > > > >>>>>>>> openldap-servers-2.4.48-alt3.x86_64 > > > >>>>>>>> openldap-servers-2.4.48-alt3.x86_64 > > > >>>>>>>> > > > >>>>>>>> > > > >>>>>>> Делать inotify на список файлов относящимся к chroot и по событию > > > >>>>>>> изменения делать update_chroot? > > > >>>>>> Да. > > > >>>>> Нет, при текущей архитектуре update_chrooted предложенное мной решение > > > >>>>> невозможно. Для него надо с нуля придумывать всё решение. И если для > > > >>>>> postfix'а нельзя декларативно указать все его конфиги, то боюсь в общем > > > >>>>> случае это будет невозможно. > > > >>>>> > > > >>>> Хотелось бы прописать политику о том, что любой пакет, желающий > > > >>>> использовать chroot, должен иметь возможность работать БЕЗ chroot. > > > > > > Наличие чрута приводит к вот такой ситуации: > > > > > >  rpm -qf * > > > файл /var/lib/ldap/usr/lib/libcom_err.so.2 не принадлежит ни одному из > > > пакетов > > > файл /var/lib/ldap/usr/lib/libdb-4.7.so не принадлежит ни одному из пакетов > > > файл /var/lib/ldap/usr/lib/libgssapi_krb5.so.2 не принадлежит ни одному > > > из пакетов > > > файл /var/lib/ldap/usr/lib/libk5crypto.so.3 не принадлежит ни одному из > > > пакетов > > > файл /var/lib/ldap/usr/lib/libkeyutils.so.1 не принадлежит ни одному из > > > пакетов > > > файл /var/lib/ldap/usr/lib/libkrb5.so.3 не принадлежит ни одному из пакетов > > > файл /var/lib/ldap/usr/lib/libkrb5support.so.0 не принадлежит ни одному > > > из пакетов > > > файл /var/lib/ldap/usr/lib/libm.so.6 не принадлежит ни одному из пакетов > > > файл /var/lib/ldap/usr/lib/libodbc.so.2 не принадлежит ни одному из пакетов > > > файл /var/lib/ldap/usr/lib/libpcre.so.3 не принадлежит ни одному из пакетов > > > файл /var/lib/ldap/usr/lib/libperl-5.28.so не принадлежит ни одному из > > > пакетов > > > файл /var/lib/ldap/usr/lib/libselinux.so.1 не принадлежит ни одному из > > > пакетов > > > openldap-servers-2.4.48-alt3.x86_64 > > > openldap-servers-2.4.48-alt3.x86_64 > > > > > > И как мне правильно проверять целостность таких файлов относительно базы > > > rpm? Это  файлы с исполняемым кодом. > > > > Из-за отсутствия инструмента для такой проверки предлагается отказаться > > от security feature? Это странное решение. > > Chroot не является security feature: > > It is not hard to consider the chroot() system call a security > feature. In theory, it sounds great, but if you really take the > time to understand what is going on, it is not really a security > feature, it is closer to what we would call a hardening feature. > > https://access.redhat.com/blogs/766093/posts/1975883 Хорошо, назовём её по своему классу: hardening feature. > У этой технологии, безусловно, есть свои применения, но если вы > строите системы безопасности на основе chroot, то это всего лишь > иллюзия безопасности. Я не знаю откуда возникло мнение, что кто-то строит системы безопасности на основе chroot. > > Правильнее было бы сделать > > такой инструмент. Из того, что сходу приходит на ум, можно в chroot dir > > создавать базу данных rpm и копировать туда записи пакетов из исходной > > базы при обновлении чрута по признаку принадлежности пакета по > > копируемым путям. > > Правильным было бы использовать инструменты по их назначению. Правильно иметь инструмент для решения задачи или создание такового при его отсутствии. -- WBR, Vladimir D. Seleznev