Назад | Перейти на главную страницу

Как правильно вырезать Perl-скрипт?

я создал /opt/chroot, Создайте bin lib и другие каталоги в нем, скопированные библиотеки, двоичные файлы bash и perl в нужные места. Также я поместил свой сценарий в /opt/chroot/bin/.

Теперь я могу запустить скрипт таким образом:

# chroot /opt/chroot script.pl

Меня беспокоят две вещи:

  1. Скрипт получает root права.
  2. Внутри chrooted-окружения есть интерпретатор perl.

Как я могу избежать этих дыр в безопасности?

Chroot в Linux не в целях безопасности, если у вас есть root-права или вы смонтируете abilite внутри chroot, вы можете легко взломать его.

Очевидно, вы должны удалить root с помощью su или аналогичного, пока у сценария нет разрешений на изменение файлов интерпретатора, проблем не должно быть.

Для этого вам нужно добавить больший кусок кода в копию su и основные биты PAM.

Что-то вроде jailkit может быть более простым способом справиться с этим:

http://olivier.sessink.nl/jailkit/index.html

Почему бы вам не chroot внутри вашего Perl-скрипта? Таким образом, вам не понадобятся все лишние вещи внутри chroot jail.

Просто добавьте chroot () http://perldoc.perl.org/functions/chroot.html где-нибудь в вашем скрипте, за которым следует chdir ("/").

После этого откажитесь от своих привилегий, и все готово.