Настройка безопасности Linux
Не так важно, поставили вы себе Linux, чтобы стать со временем хакером-грозой Пентагона или, напротив, чтобы надежнее защитить свой компьютер от несанкционированного вторжения, вам предстоит изучить несколько несложных настроек и познакомиться с программами, которые помогают шифровать данные и сохранять конфиденциальность при работе в сети. Безопасность операционной системы Linux не вызывает сомнений, однако и при работе с ней вам придется приложить некоторые усилия, чтобы уберечься от злоумышленников. В этой статье мы коснемся некоторых аспектов сетевой безопасности: использования vpn, Tor Browser в Linux, смены DNS-адресов, и расскажем про настройку в Linux firewall.
Зачем устанавливать vpn на Linux
Для пользователей Linux, желающих скрыть IP-адрес, у нас есть отдельная статья, где мы пошагово рассказываем, как установить впн на Linux. Скажем сразу – мы считаем установку vpn обязательным условием безопасности вашего компьютера. Каждый день вы посещаете десятки сайтов, оставляя на них ваши данные, которые становятся доступными администраторам. Имея на руках ваш IP, вам могут как запретить доступ к ресурсам, так и использовать его для проникновения уже на ваш компьютер, если вы чем-то заинтересуете злоумышленников. Большую опасность несет в себе и работа с устройства Linux в незащищенных wi-fi сетях. Никогда не решайте важные финансовые и рабочие вопросы, подключившись к публичному wi-fi без защиты впн-программы!
Интернет-провайдеру тоже ни к чему знать, где вы бываете и что там делаете. Vpn для Linux поможет зашифровать данные и скроет от глаз провайдера посещаемые вами сайты. Таким образом, соединяясь через впн-серверы, вы сможете без проблем заходить даже заблокированные вашим провайдером (к примеру, по запросу Роскомнадзора) интернет-ресурсы. То же и с блокировкой по географическому положению – youtube, Netflix, другие подобные ресурсы очень любят прятать самые интересный контент от неугодных им стран. Но с впн на Linux эти запреты не для вас.
Про установку vpn на Linux читайте здесь, а мы лишь напомним, как включить openvpn на Linux, если он уже установлен, и как отключить, если вы готовы вернуться к своему реальному IP.
Подключаемся к выбранному конфигу openvpn, указав в –config путь до файла конфигурации необходимого сервера:
sudo openvpn —config ./Whoer_Netherlands_nl.ovp n
Чтобы проверить, что IP-адрес сменился, введите:
Вы также можете зайти на сайт whoer.net и проверить ваш IP-адрес и другие параметры безопасности в сети.
Чтобы отключить vpn в Linux:
sudo service openvpn stop
Обратите внимание на то, что vpn-подключение может идти по TCP или UDP-протоколу. О разнице между ними и том, какой выбрать в каком случае, вы можете подробно прочесть здесь, скажем лишь, что UDP немного более быстрый, хоть и не такой надежный. А как отредактировать ваши openvpn-конфиги для Linux и сменить протокол, мы показываем в видео-ролике на ютьюб Меняем TCP на UDP в OpenVPN. Также вы можете при редактировании конфигов отключить некоторые из IP-адресов страны, оставив только необходимые вам. Как это сделать, упоминается в видео Как использовать Whoer VPN в клиенте OpenVPN.
Возможно, вам удобнее будет подключать vpn на Linux через графическое приложение GNOME. Как установить его смотрите в видео Как установить графическое приложение VPN на Linux.
Как сменить DNS в Linux
После того, как вы сменили в Linux IP-адрес, вам нужно произвести замену DNS. О том, что такое DNS, и зачем его менять, можно прочесть в нашей статье или посмотреть видео на нашем youtube-канале Зачем менять DNS. Если кратко – DNS-сервер, к которому подключается ваш компьютер, раскрывает ваше географическое положение, что может привести к блокировкам по геоданным, либо из-за несоответствия IP-данных и DNS-адресов.
Сменить DNS-адрес в Linux системе можно двумя способами. К примеру, вы можете сделать это через интерфейс сетевых подключений: кликайте мышкой на значок сети, выбирайте подключенную сеть и открывайте параметры соединения.
В Настройках сети переходите во вкладку “IPv4”. Далее выбирайте автоматический метод и в поле DNS прописывайте адрес сервера. Адреса быстрых DNS-серверов вы можете найти в нашем блоге в статье Рекомендуемые публичные DNS сервера. Несколько адресов прописываются через запятую.
Если этот способ не сработал, попробуйте сменить DNS через терминал Linux. Как это сделать, мы пошагово рассказываем в видеоролике на нашем канале Как настроить DNS в Linux.
Как пустить vpn через TOR в Linux
TOR Browser совершенно необходим, если вы решили прогуляться по загадочному миру .onion сайтов, но и в качестве безопасного браузера, дающего дополнительный уровень анонимности, TOR для Linux неизменно популярен среди пользователей. Особенно, если настроить одновременное использование TOR с vpn на Linux. Настройка подобной цепочки позволяет на порядок повысить анонимность и конфиденциальность, поскольку скрывает от посещаемых сайтов сам факт использования TOR Browser.
Для браузера TOR Linux – это идеальная операционная система, ведь разработчики браузера рассчитывают прежде всего на продвинутых пользователей, заинтересованных в анонимности и конфиденциальности. Скачать Tor для Linux можно с официального сайта 32-bit (sig) / 64-bit (sig), а как настроить цепочку подключения TOR+VPN мы пошагово показываем в нашем видео Как пустить VPN через TOR на Linux. Здесь вы можете скачать скрипт для подключения впн через TOR. Зарегистрировать для получения бесплатных конфигов Openvpn для Linux можно на этой странице.
Настройка firewall в Linux Ubuntu
Firewall, по-русски называемый межсетевым экраном или брандмауэром, занимает важное место в защите системы Linux. Файрвол Linux это пропускной пункт между внутренней и внешней сетью, в котором происходит контроль и управление входящим и исходящим сетевым трафиком. Правила контроля задаются пользователем в интерфейсе межсетевого экрана: здесь он решает, какие порты открыть и какие соединения разрешить.
Разработчики программ для Linux всерьез озабочены защитой операционной системы от несанкционированных вторжений: для скачивания и установки в дистрибутивы Linux доступны десятки брандмауэров с открытым исходным кодом. Но далеко ходить не нужно: встроенная изначально во всех дистрибутивах Linux файрвол-утилита Iptables отлично минимизирует риск хакерских атак и заражения вирусами. При попытке установления соединений с ПК, утилита обращается к своим правилам для проверки того, является ли соединение разрешенным или его следует запретить. Если по соединению нет информации – оно выполняется по умолчанию. Кроме этого, Iptables поможет выполнить резервное копирование и восстановление с файлами.
Если вдруг файрвола Iptables не обнаружилось в вашем дистрибутиве, или вы хотите обновить утилиту, введите следующую команду:
sudo apt-get install iptables
Iptables – первая линия системы безопасности Linux и любимец сетевых администраторов. Настраивается данный Linux файрвол через командную строку при помощи установленных команд. Проблема в том, что начинающему юзеру процесс контроля за поступлением и отправлением трафика бесчисленными командами iptables может показаться слишком сложным. К счастью, существует интерфейс, специально разработанный для упрощения процесса настройки утилиты Iptables: UFW (Uncomplicated Firewall или по-русски «простой брандмауэр»). Кстати, в Linux Ubuntu UFW встроен также по умолчанию. А если вы его удалили, то можете заново загрузить, введя в консоли:
sudo apt install ufw
Мы пошагово показываем настройку Uncomplicated Firewall Linux в нашем видео Как настроить фаервол в Ubuntu.
Заключение
Это лишь некоторые аспекты безопасного использования устройств с операционной системой Linux, но на первое время вам будет их достаточно, чтобы спокойно пользоваться компьютером и выходить в сеть. Не забывайте также своевременно обновлять программное обеспечение и устанавливайте только сильные пароли – из не менее 8 букв разного регистра, цифр и специальных знаков. Ну и, так как человеческий фактор – обычно самое слабое звено в цепи безопасности, посмотрите наше видео про то, Как хакеры используют Социальную Инженерию.
Читайте наши статьи, подписывайтесь на социальные сети и youtube-канал, и помните, что мы всегда стоит на страже вашей безопасности и конфиденциальности в сети!
Источник
Механизмы безопасности в Linux
В данной статье я проведу краткий экскурс в наиболее распространенные средства, связанные с безопасностью Linux. Информация предоставлена в сжатом виде, и если какое-то средство вас заинтересует, можно пройтись по ссылкам и прочитать более подробно. По заявкам пользователей некоторые механизмы можно будет рассмотреть более подробно в последующих статьях.
Будут рассмотрены следующие средства: POSIX ACL, sudo, chroot, PAM, SELinux, AppArmor, PolicyKit. Виртуализация, хотя и относится в какой-то мере к средствам безопасности, рассматриваться не будет, тем более что это отдельная обширная тема.
POSIX ACL
Описание: Разграничение прав доступа к файлам на основе их атрибутов (Discretionary Access Control, DAC).
Механизм работы: Система (в частности, менеджер файловой системы) считывает атрибуты файла, к которому обращается пользователь (или программа, работающая от имени какого-либо пользователя), и решает предоставлять ли доступ на основе этих атрибутов. При ошибке доступа приложению возвращается соответствующий код ошибки.
Пример использования: Чтобы запретить/разрешить доступ остальных пользователей к своему файлу, можно поменять его атрибуты через chmod, и поменять владельца/группу через chown и chgrp (либо использовать более общую команду setfacl). Текущие права доступа можно посмотреть через ls и getfacl.
Дополнительные ссылки: POSIX Access Control Lists on Linux, Расширенные ACL в Linux.
Описание: Выполнение программ от своего и/или чужого имени.
Механизм работы: При вызове команды sudo/sudoedit система считывает файл /etc/sudoers, и на его основе определяет какие команды может вызывать пользователь.
Пример использования: Вся конфигурация определяется в файле /etc/sudoers. Например, можно разрешать выполнять только определенные команды и только от определенного пользователя:
WEBMASTERS www = (www) ALL, (root) /usr/bin/su www
Данная строчка говорит о том, что пользователи, определенные в алиасе WEBMASTERS могут выполнять все команды от имени пользователя www, или делать su только в www.
chroot
Описание: Операция, ограничивающая доступ процесса к файловой системе, изменяя ее корень в контексте процесса.
Механизм работы: Запускает программу (по умолчанию /bin/sh) с контекстом, в котором переопределен корневой каталог файловой системы. Теперь все обращения вызванной программы не могут выйти за пределы корневого каталога (т.е. программа работает в весьма условной «песочнице»). Обойти данный механизм не составляет труда, особенно из под рута, так что это средство не рекомендуется для обеспечения безопасности. Настоящую песочницу сможет обеспечить только виртуализация.
Пример использования: Создается специальный каталог, в него копируется необходимое для работы окружение (также можно использовать команду mount —bind). Далее делается chroot на этот каталог, и запущенная программа работает только с предварительно подготовленным окружением. Для упрощения можно использовать различные jail-инструменты, доступные в дистрибутивах.
Описание: Подключаемые модули аутентификации.
Механизм работы: Программы, написанные с использованием PAM, обращаются к его библиотеке, которая уже собственно проводит процедуру аутентификации пользователя. При ошибке авторизации приложению возвращается соответствующий код ошибки.
Пример использования: PostgreSQL, Apache, Squid и другие программы (включая написанные вами) могут работать с учетными записями пользователей не через собственные конфигурационные файлы, а обращаться к PAM, тем самым обеспечивая различные варианты аутентификации — Kerberos, eTokens, биометрия и др. Естественно, это касается и самого Linux-а — можно входить не только вбивая пару логин/пароль.
SELinux
Контроль называется принудительным, когда применение контроля производится администраторами и системой, и не зависит от решения пользователей, как это происходит при обычном контроле доступа. [*]
Механизм работы: Для проверки прав доступа используется LSM-модуль ядра, которые проверяет политику безопасности приложения и сверяет его тип с контекстом безопасности используемых файлов (объектов). При ошибке доступа соответствующая запись добавляется в /var/log/audit/audit.log. Пользователь может получить нотификацию об этом через утилиту setroubleshoot.
Пример использования: В targeted-режиме SELinux позволяет апачу читать только определенные каталоги. Стандартный (для кого-то) путь сделать веб-сайт в домашнем каталоге и открыть его через симлинк в /var/www не пройдет процедуру проверки, т.к. SELinux проверяет контекст безопасности файлов, делая полное сканирование. Чтобы поменять контекст безопасности файла, необходимо использовать команду chcon (в данном случае, chcon -R -h -t httpd_sys_content_t /path/to/directory). Текущие контексты безопасности можно посмотреть через ls -Z.
Дополнительные ссылки: Анатомия SELinux.
AppArmor
Описание: Система упреждающей защиты, основанная на политиках безопасности (профилях).
Механизм работы: Для проверки прав доступа используется LSM-модуль ядра, который при запуске приложения проверяет наличие его профиля (/etc/apparmor.d), и если профиль существует, то ограничивает выполнение системных вызовов в соответствии с профилем. При ошибке доступа соответствующая запись добавляется в /var/log/audit/audit.log. Пользователь может получить нотификацию об этом через утилиту apparmor-notify.
Пример использования: С помощью команды aa-genprof можно создать профиль интересующего приложения, отработав в нем все необходимые use-case-ы. Далее полученный файл профиля можно модифицировать интересующим вас образом, сохранить в /etc/apparmor.d и активировать через aa-enforce.
PolicyKit
Описание: Средство контроля системных привилегий.
Механизм работы: При обращении приложения к сервису (любое обращение проходит как action), он проверяет через PolicyKit права доступа пользователя для данного action-а. В зависимости от политик доступ может быть запрещен, разрешен или требовать аутентификации. Отображение ошибок (или запрос пароля) должно на себя брать клиентское приложение.
Пример использования: Ubuntu при настройке сети позволяет просматривать всю информацию без запроса пароля (т.к. конфигурация PolicyKit разрешает чтение без авторизации), но когда необходимо настройки сохранить, то запрашивается пароль. Причем пользователю не даются рутовские права на всю систему, т.к. он работает только в пределах используемого сервиса.
Заключение
Естественно, есть и другие средства, связанные с безопасностью, не рассмотренные в данной статье. Однако все вышеперечисленное является стандартом де-факто для наиболее распространенных дистрибутивов, и если вы заботитесь о безопасности, желательно их знать.
Если у кого-то есть более релевантные ссылки на описание средств безопасности (на русском), пишите в комментарии. Также буду рад всем замечаниям и найденным неточностям.
Источник