Linux mint настройка безопасности

Обновлено: 05.07.2024

Никто из нас не хочет, чтобы личная информация попала в чужие руки. Но как защитить систему от атак и хищений данных? Неужели придется читать километровые мануалы по настройке и алгоритмам шифрования? Совсем не обязательно. В этой статье я расскажу, как сделать Linux-систему безопасной буквально за 30 минут.

Введение

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

Когда я потерял смартфон, мне сильно повезло, что установленный на него антивор оказался работоспособным и позволил удаленно стереть все данные из памяти девайса. Когда я по невнимательности открыл SSH-порт на домашней машине с юзером без пароля (!) во внешний мир (!!), мне сильно повезло, что на машину пробрались скрипт-кидди, которые кроме смешной истории шелла не оставили никаких серьезных следов своего пребывания в системе. Когда я случайно опубликовал в интернете листинг со своим паролем от Gmail, мне сильно повезло, что нашелся добрый человек, который предупредил меня об этом.

Может быть, я и раздолбай, но я твердо уверен, что подобные казусы случались со многими, кто читает эти строки. И хорошо, если эти люди, в отличие от меня, серьезно позаботились о защите своей машины. Ведь антивор мог бы и не сработать, и вместо скрипт-кидди в машину могли пробраться серьезные люди, и потерять я мог не смартфон, а ноутбук, на котором кроме пароля пользователя не было никакой другой защиты. Нет, полагаться на одну двухфакторную аутентификацию Google и дурацкие пароли в наш век определенно не стоит, нужно что-то более серьезное.

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

Пароль!

Все начинается с паролей. Они везде: в окне логина в Linux-дистрибутиве, в формах регистрации на интернет-сайтах, на FTP- и SSH-серверах и на экране блокировки смартфона. Стандарт для паролей сегодня — это 8–12 символов в разном регистре с включением цифр. Генерировать такие пароли своим собственным умом довольно утомительно, но есть простой способ сделать это автоматически:

Никаких внешних приложений, никаких расширений для веб-браузеров, OpenSSL есть на любой машине. Хотя, если кому-то будет удобней, он может установить и использовать для этих целей pwgen (поговаривают, пароль получится более стойким):

Где хранить пароли? Сегодня у каждого юзера их так много, что хранить все в голове просто невозможно. Довериться системе автосохранения браузера? Можно, но кто знает, как Google или Mozilla будет к ним относиться. Сноуден рассказывал, что не очень хорошо. Поэтому пароли надо хранить на самой машине в зашифрованном контейнере. Отцы-основатели рекомендуют использовать для этого KeePassX. Штука графическая, что не сильно нравится самим отцам-основателям, но зато работает везде, включая известный гугль-зонд Android (KeePassDroid). Останется лишь перекинуть базу с паролями куда надо.

В KeePassX есть свой генератор паролей

В KeePassX есть свой генератор паролей

Шифруемся

В Linux можно найти тонны средств шифрования всего и вся, от разделов на жестком диске до одиночных файлов. Три наиболее известных и проверенных временем инструмента — это dm-crypt/LUKS, ecryptfs и encfs. Первый шифрует целые диски и разделы, второй и третий — каталоги с важной информацией, каждый файл в отдельности, что очень удобно, если потребуется делать инкрементальные бэкапы или использовать в связке с Dropbox. Также есть несколько менее известных инструментов, включая TrueCrypt например.

Сразу оговорюсь, что шифровать весь диск целиком — задача сложная и, что самое важное, бесполезная. Ничего особо конфиденциального в корневом каталоге нет и быть не может, а вот домашний каталог и своп просто кладезь инфы. Причем второй даже больше, чем первый, так как туда могут попасть данные и пароли уже в расшифрованном виде (нормальные программеры запрещают системе скидывать такие данные в своп, но таких меньшинство). Настроить шифрование и того и другого очень просто, достаточно установить инструменты ecrypts:

И, собственно, включить шифрование:

Далее достаточно ввести свой пароль, используемый для логина, и перезайти в систему. Да, все действительно так просто. Первая команда зашифрует и перемонтирует своп, изменив нужные строки в /etc/fstab. Вторая — создаст каталоги

/Private, в которых будут храниться зашифрованные и расшифрованные файлы соответственно. При входе в систему будет срабатывать PAM-модуль pam_ecryptfs.so, который смонтирует первый каталог на второй с прозрачным шифрованием данных. После размонтирования

/Private окажется пуст, а

/.Private будет содержать все файлы в зашифрованном виде.

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

/Dropbox. Делается это так:

Кстати, места на диске должно быть в 2,5 раза больше, чем данных у vasya, так что рекомендую заранее почиститься. После завершения операции следует сразу войти под юзером vasya и проверить работоспособность:

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

Ecryptfs предупреждает нас

Ecryptfs предупреждает нас

Заметаем следы

ОK, пароли в надежном месте, личные файлы тоже, что теперь? А теперь мы должны позаботиться о том, чтобы какие-то куски наших личных данных не попали в чужие руки. Ни для кого не секрет, что при удалении файла его актуальное содержимое остается на носителе даже в том случае, если после этого произвести форматирование. Наши зашифрованные данные будут в сохранности даже после стирания, но как быть с флешками и прочими картами памяти? Здесь нам пригодится утилита srm, которая не просто удаляет файл, но и заполняет оставшиеся после него блоки данных мусором:

Как всегда, все просто до безобразия. Далее, если речь идет о всем носителе, то можно воспользоваться старым добрым dd:

Эта команда сотрет все данные на флешке sdb. Далее останется создать таблицу разделов (с одним разделом) и отформатировать в нужную ФС. Использовать для этого рекомендуется fdisk и mkfs.vfat, но можно обойтись и графическим gparted.

Предотвращение BruteForce-атак

В Ubuntu/Debian для установки набираем:

Конфиги находятся в каталоге /etc/fail2ban. После изменения конфигурации следует перезапускать fail2ban командой:

Угроза извне

Теперь позаботимся об угрозах, исходящих из недр всемирной паутины. Здесь я должен был бы начать рассказ об iptables и pf, запущенном на выделенной машине под управлением OpenBSD, но все это излишне, когда есть ipkungfu. Что это такое? Это скрипт, который произведет за нас всю грязную работу по конфигурированию брандмауэра, без необходимости составлять километровые списки правил. Устанавливаем:

Для включения ipkungfu открываем файл /etc/default/ipkungfu и меняем строку IPKFSTART = 0 на IPKFSTART = 1. Запускаем:

Дополнительно внесем правки в /etc/sysctl.conf:

Выявляем вторжения

Snort — один из любимейших инструментов админов и главный фигурант всех руководств по безопасности. Штука с долгой историей и колоссальными возможностями, которой посвящены целые книги. Что он делает в нашем гайде по быстрой настройке безопасной системы? А здесь ему самое место, Snort можно и не конфигурировать:

Все! Я не шучу, стандартных настроек Snort более чем достаточно для защиты типовых сетевых сервисов, если, конечно, они у тебя есть. Нужно только время от времени просматривать лог. А в нем можно обнаружить строки типа этих:

Упс. Кто-то пытался вызвать переполнение буфера в MySQL. Тут сразу есть и ссылочка на страницу с детальным описанием проблемы. Красота.

Кто-то наследил…

Кто-то особенно умный смог обойти наш брандмауэр, пройти мимо Snort, получить права root в системе и теперь ходит в систему регулярно, используя установленный бэкдор. Нехорошо, бэкдор надо найти, удалить, а систему обновить. Для поиска руткитов и бэкдоров используем rkhunter:

Софтина проверит всю систему на наличие руткитов и выведет на экран результаты. Если зловред все-таки найдется, rkhunter укажет на место и его можно будет затереть. Более детальный лог располагается здесь: /var/log/rkhunter.log. Запускать rkhunter лучше в качестве cron-задания ежедневно:

Заменяем email-адрес Васи на свой и делаем скрипт исполняемым:

Базу rkhunter рекомендуется время от времени обновлять с помощью такой команды:

Ее, кстати, можно добавить перед командой проверки в cron-сценарий. Еще два инструмента поиска руткитов:

По сути, те же яйца Фаберже с высоты птичьего полета, но базы у них различные. Возможно, с их помощью удастся выявить то, что пропустил rkhunter. Ну и на закуску debsums — инструмент для сверки контрольных сумм файлов, установленных пакетов с эталоном. Ставим:

Как всегда? запуск можно добавить в задания cron.

rkhunter за работой

rkhunter за работой

В моей системе руткитов нет

В моей системе руткитов нет

За пределами

Теперь поговорим о том, как сохранить свою анонимность в Сети и получить доступ к сайтам и страницам, заблокированным по требованию различных организаций-правообладателей и прочих Мизулиных. Самый простой способ сделать это — воспользоваться одним из тысяч прокси-серверов по всему миру. Многие из них бесплатны, но зачастую обрезают канал до скорости древнего аналогового модема.

Чтобы спокойно ходить по сайтам и только в случае необходимости включать прокси, можно воспользоваться одним из множества расширений для Chrome и Firefox, которые легко находятся в каталоге по запросу proxy switcher. Устанавливаем, вбиваем список нужных прокси и переключаемся на нужный, увидев вместо страницы табличку «Доступ к странице ограничен по требованию господина Скумбриевича».

В тех ситуациях, когда под фильтр попал весь сайт и его адрес внесли в черный список на стороне DNS-серверов провайдеров, можно воспользоваться свободными DNS-серверами, адреса которых опубликованы здесь. Просто берем два любых понравившихся адреса и добавляем в /etc/resolv.conf:

Чтобы разного рода DHCP-клиенты и NetworkManager’ы не перезаписали файл адресами, полученными от провайдера или роутера, делаем файл неперезаписываемым с помощью расширенных атрибутов:

После этого файл станет защищен от записи для всех, включая root.

Чтобы еще более анонимизировать свое пребывание в Сети, можно воспользоваться также демоном dnscrypt, который будет шифровать все запросы к DNS-серверу в дополнение к прокси-серверу, используемому для соединения с самим сайтом. Устанавливаем:

Указываем в /etc/resolv.conf loopback-адрес:

Кстати, версии dnscrypt есть для Windows, iOS и Android.

Луковая маршрутизация

Что такое луковая маршрутизация? Это Tor. А Tor, в свою очередь, — это система, которая позволяет создать полностью анонимную сеть с выходом в интернет. Термин «луковый» здесь применен относительно модели работы, при которой любой сетевой пакет будет «обернут» в три слоя шифрования и пройдет на пути к адресату через три ноды, каждая из которых будет снимать свой слой и передавать результат дальше. Все, конечно, сложнее, но для нас важно только то, что это один из немногих типов организации сети, который позволяет сохранить полную анонимность.

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

Тем не менее Tor очень легко установить и использовать:

Чтобы введенный в командной строке пароль не был сохранен в истории, можно использовать хитрый трюк под названием «добавь в начале команды пробел».

Именно ecryptfs используется для шифрования домашнего каталога в Ubuntu.

Борьба с флудом

Приведу несколько команд, которые могут помочь при флуде твоего хоста.

Подсчет количества коннектов на определенный порт:

Подсчет числа «полуоткрытых» TCP-соединений:

Просмотр списка IP-адресов, с которых идут запросы на подключение:

Анализ подозрительных пакетов с помощью tcpdump:

Дропаем подключения атакующего:

Ограничиваем максимальное число «полуоткрытых» соединений с одного IP к конкретному порту:

Отключаем ответы на запросы ICMP ECHO:

Выводы

Вот и все. Не вдаваясь в детали и без необходимости изучения мануалов мы создали Linux-box, который защищен от вторжения извне, от руткитов и прочей заразы, от непосредственно вмешательства человека, от перехвата трафика и слежки. Остается лишь регулярно обновлять систему, запретить парольный вход по SSH, убрать лишние сервисы и не допускать ошибок конфигурирования.

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

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

Если это домашний компьютер, то про безопасность, возможно, и нет смысла беспокоиться настолько сильно, достаточно будет надежных паролей и закрытия доступа к портам из сети интернет. Но в случае публичного сервера стоит обратить внимание на обеспечение его защиты. Эта инструкция подойдет для любого дистрибутива, неважно, что вы используете CentOS, Fedora, Red Hat Enterprise Linux или Ubuntu и Debian.

Настройка безопасности сервера Linux

1. Обновления системы

Несмотря на простоту этого пункта, он один из самых важных. В программном обеспечении постоянно находят и исправляют различные уязвимости. Если вы хотите чтобы ваш сервер был в безопасности, держите всё программное обеспечение в актуальном состоянии. Возьмите за правило время от времени проводить обновление системы. В Ubuntu или Debian для обновления надо выполнить:

sudo apt update

sudo apt full-update

В Fedora или CentOS надо использовать пакетный менеджер dnf:

sudo dnf update

2. Не используйте незащищённые сервисы

В большинстве сетей имена пользователей, пароли от FTP, Telnet, RSH команд могут быть перехвачены кем-либо из той же самой сети с помощью анализатора пакетов. Общее решение этой проблемы заключается в использовании OpenSSH, SFTP или SFTP, который добавляет SSL или TLS к обычному FTP. Для подключения к серверу удалённо можно использовать ssh, а для передачи файлов либо SSH либо SFTP.

3. Минимум программ и открытых портов

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

sudo nmap -sT адрес_сервера

Вы можете узнать PID процесса, который использует порт с помощью команды ss:

sudo ss -lptn 'sport = :53'

Информацию о процессе по его PID вы можете узнать с помощью команды ps. Например:

Используйте свой пакетный менеджер чтобы посмотреть установленные программы и удалить все ненужные. Например, для Debian:

yum list installed
yum list пакет
yum remove пакет

dpkg --list
dpkg --info пакет
apt remove пакет

4. SELinux или Apparmor

Операционная система Linux поставляется с различными патчами безопасности, которые могут быть использованы для защиты от неправильной конфигурации или вредоносных программ. Вы можете использовать также такие дополнительные системы контроля доступа для приложений как SELinux или AppArrmor.

SELinux предоставляет различные политики безопасности для ядра Linux. Эта надстройка позволяет контролировать доступ процессов к файлам в файловой системе. К тому или иному ресурсу может получить доступ только программа, роль которой позволяет это делать и даже права суперпользователя не имеют значения. SELinux намного увеличивает безопасность системы Linux, поскольку даже root здесь считается обычным пользователем. Подробнее о настройке SELinux описано в отдельной статье.

Система AppArmor используется в Ubuntu, она работает похожим образом на SELinux. Здесь для каждого приложения создаются профили, в которых описано к каким файлам приложение может получить доступ, а ко всему остальному у него доступа не будет. Подробнее про AppArrmor читайте здесь.

5. Учетные записи пользователей

Не используйте пользователя root для администрирования сервера. Создайте для этого не привилегированного пользователя с помощью команд useradd и usermod/ Убедитесь, что у вас хороший и сильный пароль, он должен содержать, по крайней мере, восемь символов, желательно в разном регистре, среди которых должны встречаться специальные символы или цифры. Например, 8 символов, из которых семь буквы и один символ или цифра. Для генерации паролей можно воспользоваться утилитой pwgen или любой другой утилитой из этой статьи.

6. Регулярная смена пароля

Команда change позволяет указать количество дней до даты принудительной смены пароля. Эта информация используется системой для определения момента, когда пользователь должен его изменить. Эти настройки находятся в /etc/login.defs. Чтобы отключить старение пароля введите следующую команду:

change -l имя_пользователя

Чтобы получить информацию о строке годности пароля введите команду:

Также вы можете все настроить вручную, в файле /etc/shadow:

  • Минимум дней - минимальный интервал между сменами паролей, то есть насколько часто пользователь может менять пароль.
  • Максимум дней - сколько дней будет годен пароль, по истечении этого срока пользователь будет вынужден поменять пароль.
  • Предупреждение - количество дней после которых пользователь будет предупрежден, что ему нужно сменить пароль.
  • Строк_годности - количество дней с первого января 1970 когда аккаунт будет полностью отключен.

Рекомендуется использовать такую команду, вместо редактирования файла /etc/shadow вручную:

chage -M 60 -m 7 -W 7 имя_пользователя

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

7. Использование fail2ban

В операционной системе Linux вы можете использовать команду faillog, чтобы посмотреть неудачные попытки входа пользователей. Также с помощью нее вы можете установить лимит неудачных попыток входа. Вся информация о неудачных попытках входа хранится в файле /var/log/faillog или /var/log/secure. Чтобы ее посмотреть наберите:

8. Отключение входа для суперпользователя

На одном из предыдущих шагов вы создали непривилегированного пользователя, его и следует использовать для авторизации на сервере по SSH, а вход от имени Root пользователя следует отключить. Для этого в конфигурационном файле /etc/sshd_config надо изменить значение строчки PermitRootLogin с Yes на No:

sudo vi /etc/sshd_config


9. Настройка брандмауэра

Используйте брандмауэр. Он позволяет закрыть доступ к портам, которые не должны быть видны из сети, а также отфильтровать нежелательный трафик. Разрешите в брандмауэре только нужные порты, а остальные пусть будут закрытыми. Про настройку iptables можно почитать в статье iptables для чайников. А ещё есть ufw и firewalld.

10. Настройка ядра

В файле /etc/sysctl.conf хранятся настройки ядра, которые загружаются и применяются во время запуска системы. Чтобы включить защиту от переполнения буфера execshield, добавьте:

Включить защиту от подделывания IP:

Отключить перенаправление IP адресов:

Игнорировать широковещательные запросы:

Логгировать все подделанные пакеты:

11. Разбивка диска на разделы

Разделение жесткого диска на разделы в зависимости от назначения файлов улучшает безопасность ОС Linux. Рекомендуется делать отдельные разделы для таких директорий:

Сделайте отдельные разделы для корневых директорий Apache и FTP серверов. Откройте файл /etc/fstab и выставьте специальные опции для нужных разделов:

  • noexec - не выполнять любые программы или исполняемые файлы на этом разделе, разрешены только скрипты
  • nodev - не разрешать символические или специальные устройства на этом разделе.
  • nosuid - не разрешать SUID / SGID доступ для программ из этого раздела.

12. Отключение IPv6

Протокол интернета нового поколения IPv6 в будущем заменит уже используемый IPv4. Но на данный момент нет инструментов, позволяющих проверить безопасность сети на основе IPv6. Многие дистрибутивы Linux разрешают использование протокола IPv6 по умолчанию. Хакеры могут отправлять нежелательный трафик и администраторы не смогут его отследить. Так что если эта служба вам не нужна отключите её. Про отключение IPv6 в Ubuntu написано здесь.

13. Программы с SUID и SGID битами

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

find / -perm +4000

Затем файлы с установленным SGID битом:

find / -perm +2000

Или можно скомбинировать всё это в одной команде:

find / \( -perm -4000 -o -perm -2000 \) -print


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

14. Общедоступные файлы

Также желательно найти файлы, которые могут изменять все пользователи в системе. Для этого используйте такую команду:

find / -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print

Теперь вам нужно проверить правильно ли выставлены права для группы и владельца этого каждого файла и не несет ли это угрозы безопасности.

Также желательно найти все файлы не принадлежащие никому:

find / -xdev \( -nouser -o -nogroup \) -print

15. Логирование и аудит

Настройте логгирование и аудит для сбора и сохранения всех неудачных попыток входа и попыток взлома. По умолчанию все логи или, по крайней мере, большинство из них находятся в папке /var/log/. Подробнее, о том, за что отвечают определенные лог файлы мы говорили в отдельной статье.

Вы можете смотреть логи с помощью таких утилит, как logwatch или logcheck. Они очень сильно упрощают чтение логов. Вы можете просматривать не весь файл, а только интересующие вас события, а также отправлять себе уведомление на электронный адрес.

  • События запуска и выключения системы
  • Дата и время события
  • Пользовательские события (например доступ к определенному файлу)
  • Тип события (редактирование, доступ, удаление, запись, обновление и т д)
  • Удачность или сбой при выполнении события
  • Запись событий изменения настроек сети
  • Запись изменения пользователей и групп
  • Мониторинг изменений файлов

16. Настройка SSH сервера

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

Поэтому рекомендуется отключить использование протокола SSH1, в пользу более защищенного SSH2. Все настройки сервера ssh находятся в файле /etc/ssh/sshd_config. Разрешите только использование протокола 2:

Выше я предлагал запретить вход от имени суперпользователя и использовать для администрирование сервера пользователя с обычными привилегиями и утилиту sudo. Но ещё лучше будет, если вы настроите авторизацию по ключу и отключите полностью авторизацию по паролю. Для этого после настройки авторизации по ключу найдите в /etc/ssh/sshd_config такие строки и приведите их к такому виду:

PasswordAuthentication no
UsePAM no
ChallengeResponseAuthentication no

Также рекомендуется сменить порт ssh на случайный чтобы боты, которые автоматически пытаются перебрать пароль не могли этого сделать.

17. Установка IDS

IDS или система обнаружения вторжений пытается обнаружить подозрительную, вредоносную активность, такую как атака DOS, сканирование портов или даже попытки взломать компьютер путем мониторинга сетевого трафика.

Хорошая практика - развернуть подобное программное обеспечение, перед тем как система станет доступной из интернета. Вы можете установить AIDE, это HIDS (Host based IDS) которая может контролировать все аспекты внутреннего устройства вашей системы.

Snort - это программное обеспечение для обнаружения попыток вторжения из сети. Она способна выполнять анализ и журналирование пакетов и анализировать сетевой трафик в реальном времени.

Выводы

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

Нет похожих записей

Оцените статью:

(9 оценок, среднее: 5,00 из 5)

Об авторе

8 комментариев

Хорошая статья. Напишите пожалуйста статью про безопасность Linux на домашнем ПК. Я часто пользуюсь торрент трекерами, в основном для скачивания фильмов и сериалов. Качаю со строго определенных трекеров, проверенных годами сидения под виндой, в общем пара тройка трекеров которым я доверяю хотелось бы сохранить эту возможность=)

Пожалуйста дайте инструкцию как удалить Х сервер

sudo apt remove --purge xserver-xorg Вместе с программой удаляться все пакеты, которые от нее зависят.

Имхо, альтернативно SELinux, можно использовать docker..

sudo apt autoremove --purge
autoremove - удаление зависимостей
--purge - конфигурационных файлов

Ой холиварная статья то! :))

1. Обновления системы: spacewalk в руки, удобное дело. Накатывать вручную печально, ставить на автообновление - есть шанс проснуться от матюгов мониторинга, так как какой-то сервис может потребовать дополнительных настроек и просто не запустится.
2. Открытые порты lsof -Pni | grep LISTEN и это уже немало покажет.Смысла нет самого себя сканировать.
3. Регулярная смена пароля: даже майки от этого отказались. Если нормальный пасс - он будет жить долго и счастливо. Если ломанут - сервис будут использовать сразу и никто не станет ждать ..дцать дней чтобы снова зайти.
4. fail2ban - шикарен на серверах, наличие которого не сильно важно самому владельцу. Он или будет работать совсем слабо или будет слишком активен и, в итоге, будет больше мешать, чем спасать. Про переполнение буфера в iptables молчу, на эти грабли и крупный игрок IT сферы уже натыкался при мне дважды.
5. Отключение входа root - зачем? Чтобы потом заходить пользователем и сразу sudo su - ? Ограничить ключами и только с нужных хостов/сетей (hosts.allow и hosts.deny прекрасно работают в этом плане)
6. Про настройки ядра - тут надо смотреть на роли серверов.
7. Отключение ipv6 - вот это вообще странно. Доля трафика на 6 версии растёт и на своих машинках давно уже вижу что за 20-30 процентов заваливает. А если где-то используются пиринговый технологии, то там и вообще под 80. Лучше научится пользоваться, чем бездумно отключать.

По хорошему, лучше каждый пункт разобрать и решить, где использовать, где нет, а где сделать с точностью до наоборот. 🙂 И немаловажно: научится использовать хотя бы Ansible+Git. Если на прод-машинки человек заходит по SSH, значит он уже как убегающий шпион - уже проиграл.

Минимум дней - минимальный интервал между сменами паролей, то есть насколько часто пользователь может менять пароль.
Максимум дней - сколько дней будет годен пароль, по истечении этого срока пользователь будет вынужден поменять пароль.
Предупреждение - количество дней после которых пользователь будет предупрежден, что ему нужно сменить пароль.
Строк_годности - количество дней с первого января 1970 когда аккаунт будет полностью отключен.

Не так важно, поставили вы себе 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-адрес сменился, введите:

Чтобы отключить 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.

Настройка 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 Mint в качестве фильтра пакетов используется Netfilter, который входит в состав ядра и разрабатывается группой Netfilter Core Team. Для управления его настройками используется утилита командной строки iptables, разрабатываемая параллельно этим же проектом. Процесс настройки требует некоторого понимания протоколов, используемых при обмене информации в Интернете, и назвать его простым нельзя. Хотя тема настройки netfilter/iptables уже не является новой, в глобальной сети можно найти не один десяток документов, описывающих как его устройство, так и сами команды.

Межсетевой экран в Linux Mint

Кроме этого написано несколько хороших графических утилит (КМуFirewall, Firewall Builder, Firestarter и др.), помогающих самостоятельно создавать правила неподготовленному пользователю. В Ubuntu, начиная с версии 8.04, для управления правилами netfilter используется UFW (Uncomplicated firewall), поэтому процесс настройки здесь выглядит несколько иначе, чем в других дистрибутивах. Позже UFW перекочевал в другие дистрибутивы, в том числе и в Linux Mint. Важно понять, что UFW не заменяет iptables, а является лишь удобной высокоуровневой надстройкой над этой утилитой. Процесс создания новых правил планируется сделать максимально понятным для обычного пользователя. Кроме этого упрощена интеграция приложений с межсетевым экраном. Разработчик может создавать готовые правила, которые будут автоматически активироваться при установке сервиса, разрешая нужные сетевые соединения.

По умолчанию UFW всегда отключен, и перед запуском демона его необходимо актировать, заменив в файле /etc/ufw/ufw.conf строку

Иначе при попытке его запуска командой

sudo /etc/init.d/ufw start

будет получен отказ.

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

sudo ufw enable

Отключить также просто:

sudo ufw disable

Существует две глобальные политики: все разрешено и все запрещено. Первая активируется при помощи команды

sudo ufw default allow

Политика по умолчанию incoming изменена на allow.

Чтобы запретить все подключения, используется команда

sudo ufw default deny

При помощи ufw очень просто разрешить или запретить входящие соединения для сервиса, описанного в /etc/services, или конкретного порта/протокола.

В общем случае команда выглядит так:

ufw allow | deny [ service ]

Иными словами, чтобы разрешить подключение к веб-серверу, работающему на 80-м порту, необходимо поступить следующим образом:

sudo ufw allow 80 / tcp

Чтобы просмотреть правила iptables без их активации, необходимо добавить в команду параметр - -dry-run. Параметр status позволит узнать текущие настройки UFW без заглядывания внутрь iptables:

sudo ufw status

Удалить разрешение на подключение к выбранному порту можно так же просто:

sudo ufw delete allow 80/tcp

Запрещающее правило создается аналогично разрешающему, только вместо allow используется deny:

sudo ufw deny 53

Теперь был блокирован доступ к 53-му порту. При этом если ранее было создано, например, разрешающее правило, которое теперь нужно заменить на блокирующее, то это лучше производить в два этапа. Вначале отключается первое правило, а затем устанавливается второе.

Вместо номера порта можно назвать сервис по имени. Необходимо узнать как называется нужный сервис:

cat /etc/services | less

и включить его в правило:

sudo ufw allow ssh

В правилах UFW можно задавать IP-адреса (источника и назначения). Например, чтобы разрешить подключение с внутренней сети 192.168.1.0/24, используется:

sudo ufw allow 192.168.1.0/24

или запрещающее правило:

sudo ufw deny from 10.20.30.40

Опционально можно указать порт и протокол. Для того чтобы разрешить подключение по SSH только с одного IP-адреса следует ввести следующую команду:

sudo ufw allow from 192.168.0.20 to any port 22

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

sudo ufw logging on

Файл /etc/ufw/sysctl.conf задает некоторые системные переменные (аналог общесистемного /etc/sysctl.conf). Например, чтобы разрешить перенаправление пакетов, снимается комментарий со строки

В состав Linux Mint включен и графический интерфейс UFW - GUFW

GUFW

Рисунок 3.1 - GUFW

Для запуска GUFW используется команда:

Первым делом следует изменить статус работы фаервола на «Включен». Но следует учесть: на дефолтных настройках входящая информация из интернета запрещена, а исходящая проверяется. Таким образом, весь трафик станет напоминать улицу с односторонним движением.

Также можно создать развернутые правила, например, для специфических задач. Следует обратить внимание на первую из трех вкладок «Правила». В ней задаются правила всестороннего интернет движения для приложений вроде torrent и Skype. К сожалению, не все трудности преодолеваются путем фиксации распоряжений для списка предустановленных приложений. Помимо вышеупомянутого, можно оставить ценные целевые указания целому списку хостов и IP адресов, а также направлений соединений.

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

Читайте также: