Chapter 13. Безопасность

13.1. BIND (named) работает на порту 53 и на одном из портов с большим номером. Что происходит?
13.2. Sendmail ждёт соединений как на стандартном порту 25, так и на порту 587! Что происходит?
13.3. Что это за пользователь toor с UID 0? Я подвергся взлому?
13.4. Почему suidperl работает неправильно?

13.1. BIND (named) работает на порту 53 и на одном из портов с большим номером. Что происходит?

Во FreeBSD версий 3.0 и выше используется версия BIND, которая для исходящих запросов использует случайно выбираемый порт с большим номером. Если для исходящих запросов вы хотите использовать порт с номером 53 для работы за межсетевым экраном либо просто для собственного спокойствия, то можете попробовать настроить файл /etc/namedb/named.conf следующим образом:

    options {
            query-source address * port 53;
    };

Можете заменить символ * некоторым IP-адресом, если хотите настроить все еще жестче.

Кстати, поздравляем. Прекрасно, что вы читаете вывод команды sockstat(1) и обращаете внимание на аномалии!

13.2. Sendmail ждёт соединений как на стандартном порту 25, так и на порту 587! Что происходит?

Последние версии Sendmail поддерживают механизм посылки почты, который работает по порту 587. Эта возможность пока широко не используется, но ее популярность растет.

13.3. Что это за пользователь toor с UID 0? Я подвергся взлому?

Не волнуйтесь, toor является "альтернативным" адимнистративным пользователем (toor - это root, записанный задом наперед). Раньше он создавался при установке командного интерпретатора bash(1), однако теперь он создается по умолчанию. Его предполагается использовать с нестандартным командным интерпретатором, так чтобы вам не нужно было менять используемый по умолчанию командный процессор для пользователя root. Это важно, так как оболочки, не являющиеся частью дистрибутива системы (например, командный процессор, устанавливаемый из портов или пакаджей), скорее всего, устанавливаются в каталог /usr/local/bin, который по умолчанию располагается в другой файловой системе. Если командный процессор для пользователя root располагается в /usr/local/bin, и /usr (или другая файловая система, содержащая /usr/local/bin) по какой-либо причине не смонтирована, то root не сможет войти в систему для исправления этой проблемы (хотя если вы перезагрузите систему в однопользовательский режим, вы сможете указать командный процессор).

Некоторые используют toor для выполнения повседневных административных работ с нестандартным командным процессором, оставляя root со стандартной оболочкой для работы в однопользовательском режиме или выполнения аварийных работ. По умолчанию вы не сможете войти в систему как пользователь toor, потому что у него нет пароля, так что, если вы хотите его использовать, зарегистрируйтесь в системе как root и задайте пароль для пользователя toor.

13.4. Почему suidperl работает неправильно?

В целях обеспечения безопасности suidperl по умолчанию устанавливается без suid-бита. Системный администратор может включить использование suid-бита следующей командой.

    # chmod u+s /usr/bin/suidperl

Если вы хотите, чтобы suid-бит для suidperl было установлен во время обновления из исходных текстов, отредактируйте /etc/make.conf, добавив ENABLE_SUIDPERL=true перед запуском make buildworld.