Почему Debian поставляется без брандмауэр включен по умолчанию?

Узнав, что tesseract теперь также может создавать PDF-файлы с возможностью поиска, я нашел бутерброд со сценариями: http://www.tobias-elze.de/pdfsandwich/

после установки зависимостей (это может быть неполным list)

sudo dnf install svn ocaml unpaper tesseract

Я следовал руководству по сценарию для компиляции из исходных кодов

Компиляция из исходных кодов

pdfsandwich - это программное обеспечение с открытым исходным кодом (лицензия: GPL). Вы можете загрузить исходный код в виде пакета .tar.bz2 из области загрузки на веб-сайте проекта или проверить их с помощью subversion:

svn checkout svn://svn.code.sf.net/p/pdfsandwich/code/trunk/src pdfsandwich

Если в вашей системе установлен OCaml, вы можете скомпилировать и установить следующим образом:

cd pdfsandwich
./configure
make
sudo make install

и теперь это позволяет мне запускать

sandwich multipaged-non-searchable.pdf

, в результате чего получается PDF-файл с возможностью поиска.

15
01.08.2017, 22:05
6 ответов

Если бы мне пришлось угадывать, не будучи на самом деле во главе поколения разработчиков и сопровождающих Debian, моя догадка была бы такой:

Debian в первую очередь разработан как серверная операционная система, и sid-, и тестовая ветки имеют своей основной целью создание следующей стабильной ветки, и во время заморозки они замораживаются, а новая стабильная версия берется из тестовой., как это только что произошло с Stretch.

Учитывая это, я также предположил бы, что мне нужно будет подтвердить это с другом системным администратором, что брандмауэры центров обработки данных являются внешними устройствами, гораздо более безопасными (по крайней мере, кто-то надеется, что это так )), к серверы и выполнять основные задачи брандмауэра. Даже в небольшой локальной сети с маршрутизатором это так, маршрутизатор является брандмауэром, я не использую никаких правил локального брандмауэра ни в одной из своих систем, зачем мне это?

Я думаю, возможно, люди путают свои локальные установки Debian для настольных ПК или отдельного файлового сервера в офисе или дома с реальной работой, связанной с Debian, которая, как я полагаю, в основном ориентирована на использование в производстве.

Я не уверен в этом, но после более чем десяти лет использования Debian я чувствую это как разработчик и сторонник Debian во многих отношениях.

Я могу проверить это, так как на самом деле это хороший вопрос, но я предполагаю, что настоящие сети защищены брандмауэрами в точках входа в сеть, а не на основе каждой машины, или, по крайней мере, это основная идея, что возможно, будет управлять Debian. Кроме того, конечно, если бы это было не так, системный администратор устанавливал бы правила брандмауэра для каждой машины отдельно, используя что-то вроде Chef, не полагаясь на установку по умолчанию, что не было бы тем, к чему вы стремились бы. доверять, например, конфигурации Debian ssh по умолчанию — это не то, что я бы лично использовал по умолчанию, например, они разрешают вход в систему root по умолчанию, и системный администратор должен исправить это, если они сочтут это плохой практикой..

То есть, я думаю, существует предположение о компетентности Debian, которое может отсутствовать в некоторых других дистрибутивах. Например, вы меняете то, что хотите изменить, создаете изображения, управляете ими с помощью программного обеспечения для управления сайтом и так далее. Это всего лишь несколько возможностей. Например, вы никогда не будете использовать DVD для создания нового сервера, по крайней мере, никогда не будете использовать в производстве, вы, вероятно, будете использовать что-то вроде минимальной сетевой установки, которую я всегда использую, например (Раньше я использовал даже уменьшенное изображение, но они прекратили его выпуск ). Если вы взглянете на то, что включено в эту базовую установку, вы получите хорошее представление о том, что Debian считает важным, а что нет. ssh есть, например. Xorg нет, Samba нет.

Можно также спросить, почему они вернулись к GNOME в качестве рабочего стола по умолчанию, но это просто решения, которые они принимают и которые их пользователи в основном игнорируют, поскольку вы можете сделать системы такими, как вы хотите (, то есть получить Рабочие столы Xfce, я не устанавливаю Xdebian (, как в Xubuntu ), я просто устанавливаю ядро ​​Debian, Xorg и Xfce, и все готово ).Аналогичным образом, если бы мне нужен брандмауэр, я бы настроил его, изучил все тонкости и т. д., но я бы лично не ожидал, что Debian будет поставляться с включенным, меня бы это немного раздражало, если бы он был. Возможно, мои взгляды на это отражают своего рода консенсус, который вы также можете найти внутри Debian.

Кроме того, на самом деле такой вещи, как Debian, не существует, есть различные установочные образы, netinstall, полная установка, все они варьируются от barebone-систем, только cli до достаточно полного пользовательского рабочего стола. Например, рабочие пользователи, вероятно, будут создавать образы, которые будут настроены так, как хочет пользователь. Я знаю, что если бы я настраивал сервер Debian, я бы начал с необработанных основ и наращивал бы его, пока он не сделал бы то, что я хотел.

Тогда у вас есть мир веб-серверов, который представляет собой совершенно другой восковой шарик, у них очень разные вопросы безопасности, и, как сказал мой старый друг, хорошо связанный с хакерским подпольем, кто-то, кто управляет веб-сервером, не зная как его обезопасить можно также назвать того, чей сервер принадлежит взломщикам.

6
27.01.2020, 19:49

Are people expected to connect to the Internet before

да

getting a firewall?

Even if all ports are closed by default

Извините, это не так. rpcbind, кажется, установлен, включен и прослушивает сеть по умолчанию.

РЕДАКТИРОВАТЬ:Я считаю, что это было исправлено в последней версии установщика, то есть для Debian 9 (Stretch).Но с предыдущими версиями Debian я бы не чувствовал себя в безопасности, устанавливая (, а затем обновляя их )в общедоступной сети Wi-Fi.

Why?

Я подозреваю, что у людей есть предположение, что

  1. локальная сеть не будет атаковать ваши сетевые службы
  2. Между вашей локальной сетью и Интернетом уже установлен брандмауэр.

Хотя последнее является обычной практикой, т.е. потребительскими маршрутизаторами, я не верю, что это гарантировано. Неудивительно, что первое предположение не задокументировано; и не разумный.

На мой взгляд, проблема с rpcbind является примером более общего вопроса. Люди могут попытаться продвигать Debian, и у него много интересных функций. Но Debian отстает от Ubuntu в том, насколько он отполирован и дружелюбен, или, возможно, даже в том, насколько он надежен для тех, кто хочет узнать такие подробности.

downloaded programs could open them (or not?) and I wish for not even a single bit leaving my machine without my permission.

Вы, безусловно, можете установить брандмауэр перед тем, как начнете загружать и запускать случайные программы, функции которых вы не знаете :-с.

Частично я согласен с тем, что установка Linux и отсутствие интерфейса, настроенного для хорошо -известного уровня безопасности, вызывают тревогу. Лично мне было полезно понять, как настроен брандмауэр Windows по умолчанию. Он хочет, чтобы вы могли «доверять» домашней сети, а в более поздних версиях экспресс-установка даже не спрашивает, доверяете ли вы текущей сети. Основная цель, по-видимому, состоит в том, чтобы различать домашние сети, незащищенные соединения, такие как напрямую подключенный модем, и общедоступные сети Wi-Fi. Обратите внимание, что UFW в любом случае не поддерживает это.

Только Fedora Linux пыталась предоставить что-то подобное в firewalld. (Похоже, что пакеты доступны и в Debian... ). GUI у него не такой "дружественный", скажем так, как у GUFW.

4
27.01.2020, 19:49

Во-первых, Debian склонен считать, что вы знаете, что делаете, и старается не делать выбор за вас.

Установка Debian по умолчанию довольно мала и безопасна — она не запускает никаких служб. И даже стандартные дополнительные опции (, такие как веб-сервер, ssh ), которые добавляются при установке, обычно довольно консервативны и безопасны.

Таким образом, в данном случае брандмауэр не нужен. Debian (или его разработчики )предполагают, что если вы запустите дополнительные службы, вы будете знать, как их защитить, и при необходимости сможете добавить брандмауэр.

Что еще более важно, возможно, Debian избегает делать за вас выбор в отношении того, какой брандмауэр использовать. Есть несколько доступных вариантов — какой из них следует использовать? И даже что касается базовой настройки брандмауэра, какую настройку следует выбрать? При этом iptablesимеет приоритетное значение, поэтому он установлен по умолчанию. Но, конечно же, Debian не знает, как вы хотите его настроить, поэтому он не настраивает его за вас. В любом случае, вы можете предпочесть использовать преемника iptables, nftables.

Также обратите внимание, что функции брандмауэра уже в определенной степени встроены в ядро ​​Linux; например. nftablesи netfilter. Debian и другие дистрибутивы Linux предоставляют инструменты пользовательского пространства, такие как iptables, для управления этой функциональностью. Но то, что вы с ними сделаете, зависит только от вас.

Обратите внимание, что имена этих объектов различаются. Цитировать страницу Википедии nftables:

nftables is configured via the user-space utility nft while netfilter is configured via the utilities iptables, ip6tables, arptables and ebtables frameworks.

30
27.01.2020, 19:49

Общая идея заключается в том, что в большинстве систем брандмауэр не требуется, за исключением сложных настроек.

SSH работает, когда вы установили сервер.Ничто другое не должно прослушиваться, и вы, вероятно, захотите подключиться к ssh.

Когда вы устанавливаете веб-сервер, вы ожидаете, что веб-сервер будет доступен, не так ли? И для базовой настройки вы можете привязать веб-сервер только к интерфейсу частной локальной сети, например. 192.168.172.42 (ваш локальный IP-адрес в локальной сети ), вместо 0.0.0.0 (все ips ). Вам все еще не нужен брандмауэр.

Конечно, все может открыть порт >1024, но если у вас есть ненадежное программное обеспечение (или ненадежные пользователи ), вам следует сделать больше, чем просто установить брандмауэр. В тот момент, когда вам нужно не доверять чему-то или кому-то, вам нужна концепция безопасности, а не только программное обеспечение. Так что это хорошо, когда вам нужно активно думать о своем решении брандмауэра.

Теперь, конечно, есть более сложные сценарии. Но когда у вас действительно есть один из них, вам действительно нужно настроить брандмауэр самостоятельно и не позволять полуавтоматической системе, такой как ufw, делать это. Либо можно вообще использовать ufw, но тогда вы его решили, а не дефолт операционной системы.

5
27.01.2020, 19:49

Традиционная философия Unix всегда заключалась в KISS и запуске/предоставлении минимума сервисов.

Некоторые службы также должны быть установлены явно, и даже некоторые из них привязаны к локальному хосту, и вы должны включить их, чтобы они были видны в вашей локальной сети/в Интернете. (MySQL, MongoDB, snmpd, ntpd, xorg... ). Это более разумный подход, чем включение брандмауэра по умолчанию.

Вам нужна только сложность, которую брандмауэр приносит с определенной точки, и эта потребность может быть уменьшена, если вы находитесь за корпоративным маршрутизатором или домашним устройством nating, поэтому кажется разумным оставить это решение на усмотрение пользователя. Брандмауэр, как и многие другие программы безопасности, также может создать ложное ощущение безопасности, если им не управлять должным образом.

Debian всегда ориентировался на более технически ориентированных людей, которые знают, что такое iptables; есть также несколько хорошо известных оболочек, интерфейсов текстового или графического режима, которые можно легко установить.

Вдобавок ко всему, вопрос о том, поставляется ли он с большим или меньшим количеством установленного программного обеспечения, является предметом обсуждения. Для давнего ветерана по умолчанию установлено слишком много программного обеспечения и служб, особенно в режиме сервера.

3
27.01.2020, 19:49

Во-первых, я хочу повторить то, что уже было сказано. :Debian обслуживает несколько иную группу пользователей, чем многие другие основные дистрибутивы, особенно Ubuntu. Debian ориентирован на людей, которые знают, как работает система, и которые не боятся время от времени вносить изменения в обмен на высокую степень контроля над системой. Ubuntu, например, обслуживает совсем другую целевую аудиторию :людей, которые просто хотят, чтобы все работало, и которым на самом деле (наплевать )на то, что происходит под капотом, и, конечно же, они не хотят изменить конфигурацию системы, чтобы все заработало. Это влияет на ряд аспектов результирующей системы. И в какой-то степени это одна из прелестей Linux; одну и ту же базовую систему можно использовать для создания сред, отвечающих различным потребностям. Помните, что Ubuntu является производной от Debian и по сей день сохраняет большое сходство с Debian.

gufw is not even in DVD1's packages.

Первый диск содержит самое популярное программное обеспечение, как определено опцией -при сборе анонимной статистики с установленных систем. Тот факт, что gufw не находится на первом диске, просто указывает на то, что это не очень популярный пакет (с точки зрения установленного базового )пакета в Debian. Его также легко установить, если у вас есть базовая система с работающей сетью, если вы предпочитаете ее альтернативам.

Are people expected to connect to the Internet before getting a firewall? Why?

Ну, во-первых, я считаю, что Debian допускает установку по сети. (Не только загрузка пакетов из сети во время обычной установки, но и буквально запуск установки с другого хоста, отличного от того, который устанавливается на . )Брандмауэр, настроенный по умолчанию с ограничительным набором правил, может помешать этому. То же самое с установками, которым требуется исходящий доступ к сети во время процесса установки для целей, отличных от простой загрузки самых последних версий устанавливаемых пакетов.

Во-вторых,есть то, о чем я упоминал выше; как правило, Debian ожидает, что вы знаете, что делаете. Если вам нужен брандмауэр, ожидается, что вы сможете настроить его самостоятельно, и ожидается, что вы лучше, чем сопровождающие Debian, знаете, каковы ваши конкретные потребности. В этом отношении Debian немного похож на OpenBSD, только не так сильно. (Когда есть выбор между тем, чтобы сделать базовую систему немного более безопасной или сделать ее немного более удобной, сопровождающие OpenBSD практически всегда делают выбор в пользу безопасности. Это отражается в их базовой статистике уязвимостей безопасности системы, но имеет огромные последствия для удобства использования.)

И, конечно же, техническая поддержка :Брандмауэра включена в базовую систему. Просто для него установлено разрешающее правило all -, установленное ядром по умолчанию, и базовая установка Debian ничего не делает, чтобы это изменить. Вы можете запустить пару команд, чтобы ограничить поток трафика.

Even if all ports are closed by default various installed, updated or downloaded programs could open them (or not?) and I wish for not even a single bit leaving my machine without my permission.

Во-первых, брандмауэры обычно используются для ограничения входящего трафика. Если вы хотите ограничить исходящий трафик, это совсем другое дело; конечно, выполнимо, но требует гораздо большей адаптации к вашей конкретной ситуации. Брандмауэр по умолчанию -блокирует исходящий трафик, оставляя открытыми часто используемые порты (, где часто используемые порты могут быть ftp/20+21, ssh/22, smtp/25, http/80, https/443, pop3/110, imap/143 и набор других ), а также разрешение трафика, связанного с установленными сеансами, не будут намного более безопасными, чем разрешенный по умолчанию -брандмауэр. Лучше убедиться, что набор пакетов, установленных базовой системой, ограничен набором хорошо понятных, настроенных безопасных пакетов, и разрешить администратору устанавливать соответствующие правила брандмауэра, если ему требуется дополнительная защита.

Во-вторых, закрытый порт (, который отвечает на TCP SYN TCP RST/ACK ,обычно сообщается как «отказ в соединении» --обычно это состояние порта TCP по умолчанию в действующей системе, поддерживающей TCP/IP, при отсутствии противоположной конфигурации или программного обеспечения, прослушивающего его )не имеет значения уязвимость даже в системе, не подключенной через отдельный брандмауэр. Единственная существенная уязвимость в полностью -закрытой конфигурации может быть связана с уязвимостью в реализации стека TCP/IP ядра. Но пакеты уже проходят через код netfilter(iptables)в ядре, и там тоже может таиться ошибка. Логика ответа, что приводит к «отказу в соединении» на другом конце, достаточно проста, и мне трудно поверить, что это может быть основным источником ошибок, не говоря уже об ошибках, связанных с безопасностью -; ошибки, связанные с сетевыми службами, почти всегда находятся внутри самих служб, и если они не работают или не прослушивают ничего, кроме петлевых интерфейсов, злоумышленнику действительно не к чему подключиться и использовать.

В-третьих, пакеты обычно устанавливаются как root, из которого вы (пакет )можете изменять правила iptables в любом случае без вашего ведома. Таким образом, вы не получаете ничего, кроме требования, чтобы администратор-человек вручную разрешал трафик через брандмауэр хоста. Если вам нужна такая изоляция, у вас должен быть брандмауэр отдельно от хоста, который он защищает.

So I just found out about iptables but I guess the question still remains as iptables as firewall seems to be rather unknown to most, its default rules and the accessability & ease of usage.

На самом деле я бы сказал, что противоположное верно; iptables в качестве брандмауэра хорошо известен . Он также доступен практически в каждой системе Linux, с которой вы, вероятно, столкнетесь. (Он заменил ipchains во время разработки, которая привела к версии ядра Linux 2.4 примерно в 2000 году или около того. Если я правильно все помню,Самым большим -видимым пользователем изменением между ними для общего случая использования брандмауэра было то, что встроенные -цепочки правил теперь назывались в верхнем регистре, например INPUT, а не в нижнем регистре, например input.)

Во всяком случае, iptables может делать что-то помимо брандмауэра, что широко не используется или не понимается. Например, его можно использовать для перезаписи IP-пакетов до того, как они будут пропущены через брандмауэр.

12
27.01.2020, 19:49

Теги

Похожие вопросы