Я должен признаться, что я очень новичок в мире Linux, и есть концепции, которые кажутся мне очень незнакомыми.
Больше всего мне не хватает хорошего, но простого брандмауэра на уровне приложений. На данный момент, при всей этой распространяющейся навязчивой и постоянной связи с Интернетом, необходимо знать, что именно делает ваш компьютер, почему и с кем. Анализатор протоколов в порядке, но слишком недружелюбен и требует много времени для «анализа», что практически бесполезно для домашних пользователей.
Я обнаружил множество программ в средах Windows, которые не должны подключаться к Интернету, но они подключаются (и с помощью моего бесплатного межсетевого экрана ZoneAlarm я могу их остановить).
С Gufw (и несколькими другими) вы должны знать, какие приложения вы уже установили (и мы знаем, что это практически невозможно с этой современной ОС с миллиардами строк кода).
Мне нужен брандмауэр, который контролирует соединение NIC / WAN и обнаруживает любую программу / приложение или все, что пытается «разговаривать» через него с упреждением, независимо от того, какой порт пытается использовать (обязательно из приложений, о которых я упоминал ранее, пытаться подключиться). используя хорошо известные порты TCP: 80, 443, 8080). Это существует? (Если нет, то откуда я точно знаю, что делает мой компьютер?)
источник
Ответы:
Douane
Установка
До сих пор (2017/05/22) нет доступных пакетов Ubuntu. Вы должны построить его из источника.
Эти инструкции по установке основаны на информации из Douane Wiki и протестированы на 64-битной Ubuntu 16.04.2.
Откройте терминал ( Ctrl+ Alt+ T) для запуска команд.
подготовка
Обновите вашу систему:
Если вы получили уведомление с просьбой перезагрузить компьютер, перезагрузите его.
Установите зависимости
Создать каталог для компиляции
Сборка модуля ядра
Проверьте, правильно ли был собран и установлен модуль:
Вы должны увидеть что-то вроде:
Построй демона
Построить процесс диалога
Запустите процесс диалога:
Затем проверьте, работает ли он:
Вы должны увидеть что-то вроде:
Постройте конфигуратор
Запустите демон и настройте автоматический запуск
Мне пришлось вставить следующий текст в файл
/etc/init.d/douane
, чтобы включить автоматический запуск демона:Откройте файл для редактирования:
Затем вставьте приведенный выше текст после описания программы. Нажмите Ctrl+ O, Enterчтобы сохранить, затем Ctrl+, Xчтобы выйти из редактора.
Это первые 21 строка файла после того, как я вставил текст:
Теперь вы можете настроить автоматический запуск и запуск демона:
Активируйте фильтр и автоматически запустите диалог
Запустите конфигуратор:
Затем убедитесь, что оба переключателя Использовать Douane для фильтрации сетевого трафика и Автозапуск Douane при загрузке включены.
Вы можете просмотреть правила фильтрации на вкладке Правила . Щелкнув правой кнопкой мыши на правиле, вы получите возможность удалить его.
Тестовое задание
Если все в порядке, вы должны увидеть окно Douane, запрашивающее разрешение при открытии приложений, использующих сетевые подключения.
источник
Существует новый проект под названием OpenSnitch, описанный в
https://www.cyberciti.biz/python-tutorials/opensnitch-the-little-snitch-application-like-firewall-tool-for-linux/
Страница проекта - https://www.opensnitch.io/
На данный момент это считается альфа-программным обеспечением, и, как ни странно, оно написано на Python, но, по крайней мере, это новая попытка, в то время как Douane - очень старая программа, которую (я думаю) установить гораздо сложнее.
Отказ от ответственности: я лично не тестировал ни одну из программ, я просто пытался выяснить, есть ли другие варианты, и заметил, что никто еще не упомянул OpenSnitch здесь.
источник
Это действительно хороший вопрос, но я ненавижу такие вопросы, потому что на них очень трудно ответить, не сказав, что безопасность не важна.
Итак, во-первых, позвольте мне сказать, что безопасность важна, но Linux обрабатывает ее совсем иначе, чем Windows.
Итак, давайте займемся вашим вопросом.
Во-первых, не будет исходящего брандмауэра, который работает так же, как зональная сигнализация. У Linux просто нет большой потребности в этом. Многие приложения работают в архитектуре клиент-сервер, даже если вы используете их на одной машине. Xorg - отличный пример. Сначала у вас есть сервер (в данном случае часть, которая рисует на экране) и клиент (gedit) gedit говорит с сервером о том, как нарисовать его кнопки, разместить его текст и так далее. Даже такая простая архитектура, как у мыши, имеет такую же архитектуру (или может иметь). Программа действует как сервер, который прослушивает информацию и отправляет данные, когда получает их, затем клиент «подключается» к этому «серверу мыши» и ожидает информацию.
Это настолько распространено в Linux, что если вы создадите «брандмауэр», который запрашивает разрешение для каждого сетевого подключения, вы, вероятно, не сможете его настроить, поскольку он не может подключиться к своему собственному серверу.
Это все очень грубый пример, некоторые из них вводят в заблуждение, потому что это очень высокий уровень. Но это все еще очень верно.
Чтобы защитить нас, пользователей Linux, от этого, у нас есть набор из двух очень простых правил, которые выполняют очень хорошую «базовую» работу.
Во-первых, ни один пользователь, кроме root, не может открыть любой порт ниже 1024. (опять же очень высокий уровень). Это означает, что даже для запуска FTP-сервера (на стандартном порте) вам необходим root-доступ. Вы, как пользователь, обычно можете открывать «высокие порты» (те, что выше 1024). Но см. Правило два.
Второй. ни один процесс не может получить доступ к любому файлу, к которому пользователь, запустивший процесс, не может получить доступ. (снова очень высокий уровень) Так что, если бы «coteyr» должен был запустить FTP-сервер, то этот FTP-сервер в худшем случае (высокий уровень) имел бы только тот же самый доступ, что и пользовательский coteyr, который его запустил.
Из-за сочетания этих двух правил «программное обеспечение», которое запрашивает каждый раз, когда что-то пытается подключить брандмауэр, просто мешает, и на него нет большого спроса.
При этом вы всегда можете создать исходящее правило брандмауэра, и во многих случаях это, вероятно, неплохая идея. Многие сервисы могут быть (и по умолчанию) настроены на использование файловых сокетов (или на основе памяти), а не сетевых сокетов.
Правило входящего межсетевого экрана обычно закрывает любые нечетные пробелы, оставленные правилом 1 или 2.
Моя точка зрения такова. Безопасность важна, и я не пытаюсь сказать, что это не так, просто здесь, на земле Linux, у нас разные инструменты и цели. Я бы порекомендовал вам изучить права пользователей и групп Linux, а затем использовать такие инструменты, как gfw и IPTABLES, чтобы заполнить все пробелы.
источник
sshd
на 22), но вопрос кажется больше спрашивать об эксфильтрации данных. Которые являются почти полностью исходящими соединениями и имеют мало общего с тем, какие порты вам разрешено связывать.netstat
прямо сейчас моя коробка имеет 1354 открытых соединений. 65 из них являются сетевыми подключениями. Это довольно низкое значение для меня (не говоря уже о том, что это для всех), но тогда вы начинаете пытаться выяснить, что делает каждое из этих соединений. Как я уже сказал, это не значит, что безопасность не важна, это просто совсем другая среда.