Благодаря @wurtel -PREROUTING не подразумевает открытие порта. Мне также пришлось открыть порт приманки SSH -следующим образом:
iptables -A INPUT -p tcp --dport %PORT -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
У вас есть несколько вариантов (если ваша система обновлена на 100% и не содержит локально эксплуатируемых уязвимостей):
Создайте отдельную учетную запись пользователя и скомпилируйте под ней. Обычно эта учетная запись будет иметь доступ только к файлам в /home/username
и различным временным каталогам, например /tmp
.
Скомпилировать в chroot после сброса root-прав (, если вы их не сбросите,покинуть chroot )тривиально.
Используйте firejail
.
Компиляция в виртуальной машине, VirtualBox/KVM/QEMU/и т. д. -Это один из самых безопасных вариантов, хотя хакеры неоднократно находили способы использовать гипервизоры и покидать их.
Единственным 100% безопасным вариантом будет удаленная компиляция на другом ПК/сервере. Например. Linode позволяет арендовать свои серверы и платить за них почасово (что очень дешево)-у них есть огромное количество дистрибутивов на выбор, включая Debian, Ubuntu, Fedora, CentOS, Arch и другие.
Я бы назвал песочницей только варианты 3 и 4.