Архив метки: Linux

Правильная настройка SSH на Ubuntu Server

Сегодня в статье поговорим о правильной настройке SSH на Ubuntu Server 18.04 LTS.




Практически сразу после запуска сервера на порту 22 наблюдается бурная активность ботов-брутфорсчиков. Для того чтобы защититься от их атак и снизить нагрузку на сервер первым делом устанавливаем и настраиваем Fail2Ban для SSH.




Далее переходим к настройке конфигурационного файла ssh




Настройка sshd_config




Открываем в терминале конфигурационный файл SSH




sudo nano /etc/ssh/sshd_config




Первое что нужно сделать, так это сменить порт ssh с 22 на любой другой. Ищем строку Port 22 и заменяем её например на Port 2222




Port 2222




Порты 21, 22, 80, 139, 443, 1194, 3306, 8080 — советую не использовать.




Второе – ограничим тип адресов для подключения (IPv6 либо IPv4). Если у вас на сервере не используется IPv6, то дописываем в файл:




AddressFamily inet




Третье – запретим root авторизацию




PermitRootLogin no




Четвертое – разрешаем подключение только под определенным логином:




AllowUsers user




где список пользователей пишется через пробел.




Пятое – запрещаем попытку входа с пустым паролем:




PermitEmptyPasswords no




Шестое – настраиваем вход по ключу.




PubkeyAuthentication yes




Далее на машине с который будете подключаться к серверу набираем следующие команды:




ssh-keygen 




Будет предложено указать место размещения пары ключей, парольная фраза на них и их название. Можете оставить все как есть просто нажимая Enter.




Далее копируем наш публичный ключ на сервер:




ssh-copy-id ваш_user@IP_сервера.ru




Проверьте, что можете зайти на сервер по ключу, без ввода пароля!!!




ssh ваш_user@IP_сервера.ru




Седьмое – запрещаем вход по паролю




PasswordAuthentication no




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




Восьмое – сохраняем правки и перезапускаем ssh демон:




sudo /etc/init.d/ssh restart




Соединение по SSH с сервером




Теперь можем перезайти с новыми параметрами на ваш сервер. В терминале набираем:




ssh -p 2222 user@sshserver




На всякий случай посмотрим открытые порты:




netstat -tupln | grep LISTEN




Вы должны увидеть порт 2222




В случае ошибок полезно бывает смотреть лог /var/log/secure либо использовать опции -v, -vv или -vvv для вывода детального лога соединения:




ssh -vvv user@sshserver



[endtxt]




RSS



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


2019-09-15T21:49:19
SSH

Настройка LTSP сервера на Ubuntu 18.04 | LinuxMint 19

Сегодня рассмотрим пример установки и настройки LTSP сервера на Ubuntu 18.04.




Linux Terminal Server Project (LTSP) — это свободно
распространяемый дополнительный пакет для Linux с открытым исходным
кодом, который позволяет нескольким людям с маломощными компьютерами
(терминалами) использовать вычислительные мощности одного более
производительного компьютера (сервера). При этом, все приложения
запускаются на сервере, а терминалы, так же называемые тонкими клиентами
(или X-терминалами), просто принимают видеоряд, посылаемый сервером, и
кроме него ничего не обрабатывают. Как правило, терминал представляет
собой маломощный компьютер, в нём даже может отсутствовать жесткий диск,
вследствие чего он может работать тише, чем обычный настольный
компьютер.




LTSP был переработан и переписан с нуля в 2019 году alkisg для поддержки новых технологий, таких как systemd, обновленные среды рабочего стола, Wayland, UEFI и т. д. Сейчас только новая версия активно развивается, в то время как старая(теперь называется LTSP5) находится в режиме минимального обслуживания. В связи с эти статья была полностью переработана для нового LTSP сервера.




Была установлена Ubuntu 18.04. Как установить систему я думаю вы разберетесь сами, благо материалов на эту тему в интернете куча. Будем считать, что система установлена и готова к использованию, все действия подойдут для всех производных дистрибутивов Ubuntu




Структура сервера LTSP




Что мы должны знать – это компоненты из которых состоит сервер:




  • DHCP-сервер — используется для выдачи клиентам IP-адресов и информации о tftp-сервере и пути к загрузчику pxelinux. По дефолту используется dnsmasq, но можно использовать и isc-dhcp-server.
  • iPXE — сетевой загрузчик, который показывает меню начальной загрузки клиента.
  • mksquashfs — создает сжатую копию образа, который будет использоваться при работе клиента.
  • TFTP-сервер — отдает по tftp-протоколу загрузчик, ядро и главный конфиг ltsp.conf.
  • NFS /NBD — Транслирует образ системы в сеть.
  • SSH-сервер — используется для авторизации пользователей и передачи их домашних каталогов на терминальные станции.




Требования к терминальному серверу




  • Рекомендуется 2-х (и более) ядерный процессор,
  • 512 Мб RAM на систему и по 120 Мб RAM на каждого терминального пользователя.
  • Сеть – 100 Мбит/с, желательно для тонких клиентов выделить отдельную сеть 
  • HDD – не менее 10Гб свободного пространства




Установка LTSP сервера на Linux




Для начала приведем систему в актуальное состояние:




sudo apt update && sudo apt dist-upgrade -y




Теперь давайте добавим официальный репозиторий LTSP сервера.




Ubuntu




sudo add-apt-repository ppa:ltsp --yes && sudo apt update




Debian




sudo wget https://ltsp.org/misc/ltsp-ubuntu-ppa-focal.list -O /etc/apt/sources.list.d/ltsp-ubuntu-ppa-focal.list
sudo wget https://ltsp.org/misc/ltsp_ubuntu_ppa.gpg -O /etc/apt/trusted.gpg.d/ltsp_ubuntu_ppa.gpg
sudo apt update




Теперь можно приступить к установке LTSP сервера и его зависимостей.




sudo apt install --yes --install-recommends ltsp ltsp-binaries dnsmasq nfs-kernel-server openssh-server squashfs-tools ethtool net-tools epoptes




Настройка LTSP сервера




Добавляем пользователей в ltsp сервер




Добавим нашего пользователя в группу epoptes c правами sudo




sudo gpasswd -a ${SUDO_USER:-$USER} epoptes




Для добавления обычного пользователя набираем:




sudo gpasswd -a user1 epoptes




Конечно пользователь user1 должен существовать на машине “родители”. Добавить пользователя в систему:




sudo adduser user1




После внесения изменений (пользователей) необходимо пересобрать образ и initrd. Об этом ниже по статье!




Конфигурация сети




Для начала настроим нашу сеть для LTSP сервера. Если у вас один сетевой интерфейс, то команда конфигурирования будет выглядеть так:




sudo ltsp dnsmasq




Если же у вас два сетевых интерфейса, то необходимо сначала назначить интерфейсу который будет смотреть в сторону клиентов статический IP-адрес (например 192.168.67.1 с маской 255.255.255.0). После назначения статического IP-адреса конфигурируем сеть:




sudo ltsp dnsmasq --proxy-dhcp=0




Если dnsmasq отказывается запускаться (ругается на используемый порт), то необходимо отключить systemd-resolver. Для этого набираем следующие команды:




sudo systemctl stop systemd-resolver.service
sudo systemctl disable systemd-resolver.service




И пробуем запустить dnsmasq




sudo /etc/init.d/dnsmasq restart
sudo ltsp dnsmasq --proxy-dhcp=0




Создаем образ для клиента




Далее создаем образ LTSP сервера для тонких клиентов следующей командой:




sudo ltsp image /




Приведенная выше команда установит по умолчанию 64-битный образ ubuntu. Если вы предпочитаете 32-разрядный образ, наберите такую команду:




sudo ltsp image x86_32




Также можно использовать образы виртуальных машин от VirtualBox. Тогда команда примет вид:




sudo ln -s "/home/user/VirtualBox VMs/debian/debian-flat.vmdk" /srv/ltsp/debian.img
ltsp image debian




Данной командой мы создаем симлинк на виртуальную машину debian, которая расположена в директории по пути /home/user/VirtualBox VMs/debian/. И сконфигурировали LTSP сервер на этот образ.




Настройка iPXE




Теперь настроим iPXE:




sudo ltsp ipxe




Настройка NFS сервера




sudo ltsp nfs




Теперь необходимо настроить NFS-сервер. После ввода команды ltsp nfs в директории /etc генерируется директория с конфигурационным файлом для nfs сервера. Откроем её:




sudo nano /etc/exports.d/ltsp-nfs.exports




В данном файле должны быть указаны следующие параметры:




/srv/ltsp    *(ro,no_root_squash,async,no_subtree_check)




Директория /srv/ltsp разрешена только для чтения.Если Вы хотите разрешить её ещё и для записи, то укажите вместо параметра ro параметр rw




/srv/ltsp    *(rw,no_root_squash,async,no_subtree_check)




После, сохраняем файл и перезапускаем NFS-сервер:




sudo /etc/init.d/nfs-kernel-server restart




либо




sudo exportfs -ra




Создадим ltsp.img




sudo ltsp initrd




Имейте в виду, что вам нужно запускать ltsp initrd после каждого обновления пакета LTSP, или при добавлении новых пользователей, или при создании и изменении /etc/ltsp/ltsp.conf




Установка DNS




Если вы выбрали вместо dnsmasq пакет isc-dhcp-server, то вам также понадобится DNS сервер. Самый распространенный на данный момент считается BIND9.




sudo apt install bind9




Как настроить зону для DNS на Ubuntu 18.04 смотрим статью – Установка и настройка DNS (bind9) на Ubuntu.




Установка DHCP




Устанавливаем пакет isc-dhcp-server вместо dnsmasq




sudo apt install isc-dhcp-server -y




Как настроить DHCP на Ubuntu 18.04 смотрим статью – Установка и настройка DHCP (isc-dhcp-server) на Ubuntu.




Конфиг ltsp.conf




Вот мы и подобрались к самому главному. Все доработки с LTSP сервером необходимо делать в конфигурационном файле который находится по адресу /etc/ltsp/ltsp.conf и представляет собой нечто иное как описание глобальных переменных.




Чтобы создать начальный ltsp.conf, выполните следующую команду:




sudo install -m 0660 -g sudo /usr/share/ltsp/common/ltsp/ltsp.conf /etc/ltsp/ltsp.conf




Файл конфигурации разделен на секции:




  • Секция [server] оценивается только сервером ltsp.
  • Секция [common] оценивается как сервером, так и клиентами ltsp.
  • В специальном разделе [clients] можно определить параметры для всех клиентов.Большинство параметров должны быть размещены здесь.
  • Разделы MAC-адрес, IP-адрес или имя хоста можно использовать для применения параметров к определенным клиентам. По умолчанию (192.168.67.*).
  • Также можно сгруппировать параметры в именованные разделы, такие как [crt_monitor]




Синтаксис данного файла подразумевает что вы не должны использовать пробелы после и до знака =, также вы можете закомментировать строку, используя символ #.




Для проверки ltsp.conf используйте все туже команду




sudo ltsp initrd




Подробно о параметрах ltsp.conf Вы можете почитать на официальной странички проекта.




Пример настройки ltsp.conf




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




[3c:07:71:a2:02:e3]
HOSTNAME=pc01
AUTOLOGIN=user01
PASSWORDS_PC01="user01/cGFzczAxCg=="




Пароль – “pass01” указывается в кодировке base64. Чтобы вычислить его, запускаем в терминале следующие команды:




base64
pass01
<press Ctrl+D at this point>
cGFzczAxCg==







Чтобы применились все сделанные изменения, нужно перегенерировать initrd и образ командой




sudo ltsp initrd
sudo ltsp image /




После того как вы установили и настроили сервер тонких клиентов, его надо проверить. Для этого на компьютерах, которые используются в качестве тонких клиентов, надо в BIOS выставить загрузку по сети. Для этого нужны сетевые карты способные загружаться по протоколу PXE. Мне повезло и встроенная сетевая карта поддерживала протокол PXE. 




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




Загрузка iPXE с USB или CD диска




Скачиваем iso-файл для загрузки из под USB или CD диска.




После загрузки записываем данный файл на USB диск или CD диск удобным для вас способом. Для записи на USB можно воспользоваться: из под Windows – rufus, WinSetupFromUSB; из под Linux – команда dd, различные USB прожигатели.




Ну а далее выставляете в BIOS загрузку либо с CD диска либо с USB диска.




Команды iPXE загрузчика




Приведу ряд команд для iPXE загрузчика. После загрузки нажимаем ctrl+B и попадаем в терминал iPXE




Вы можете перечислить сетевые устройства, обнаруженные iPXE с помощью ifstatкоманды:




iPXE> ifstat




и получить IP-адрес с помощью dhcp команда:




iPXE> dhcp




Вы можете изучить конфигурацию IP и другие параметры DHCP:




iPXE> route




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




iPXE> chain http://boot.ipxe.org/demo/boot.php




Настройка NAT для раздачи интернета тонким клиентам




Если необходимо дать доступ в Сеть для тонких клиентов, то придётся сделать ещё кое-что.




Во-первых, раскомментироваться (убрать # в начале) файла строчку #net.ipv4.ip_forward=1:




sudo nano /etc/sysctl.conf




net.ipv4.ip_forward=1




Во-вторых, выполнить пару команд. Последнюю команду надо добавить в конец файла /etc/rc.local перед строчкой exit 0, чтобы проброс Сети запускался при старте.




sudo nano /etc/rc.local




sudo sysctl -p sudo iptables -t nat -A POSTROUTING -o enp4s0 -j MASQUERADE




  • enp4s0 – интерфейс который смотрит в интернет.




На этом на сегодня всё!!!



[endtxt]




RSS



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


2019-09-14T16:10:33
LTSP

Защита PostgreSQL с помощью Fail2ban

В сегодняшней статье я расскажу как можно защитить PostgreSQL от атак перебора паролем или как его ещё называют – от Брутфорса (Brute Force).

После установки и настройки PostgreSQL Вы скорее всего задумывались о том, каким способом защитить вашу базу данных.

Один из способов это установка fail2ban, который на Ubuntu доступен в официальном репозитории. Но из коробки он работает только для SSH.

Давайте же разберемся, как включить его дня защиты postgresql. Читать

Команда history в Linux

В операционной системе Linux в терминальном режиме есть возможность посмотреть историю команд. Все последние команды (около 1000 по умолчанию), которые вводились в командной строке сохраняются, их можно вывести на экран. Чтобы не вводить сложные названия утилит вместе с опциями, система позволяет вернуть раннее введенную команду и выполнить ее еще раз.

Читать

Чем создавать бэкапы на Linux?

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

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

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

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

Используйте Dropbox

Одна из популярных платформ облачного хранения — Dropbox. Он будет размещать и синхронизировать ваши данные на нескольких устройствах.

Когда вы загружаете Dropbox в вашу систему Linux, он создает специальную папку на вашем компьютере. Он также синхронизирует ваши файлы со всеми устройствами и компьютерами, на которых установлен клиент Dropbox.

Существует бесплатная версия, которая позволяет 2 ГБ свободного места. У вас также есть возможность обновить, если вам нужно больше.

Ниже приведены простые шаги по установке Dropbox для Ubuntu 18.04. Чтобы использовать установщик Dropbox, сначала необходимо установить GDebi .

Сначала откройте терминал и наберите:

  $ sudo apt-get install gdebi

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

Когда вы сначала установили GDebi, вы должны увидеть всплывающее окно из установщика пакетов с кнопкой, чтобы нажать «Установить пакет».

Если вы сначала не установили GDebi, вы можете использовать эту команду для ручной установки Dropbox в Терминале.

  $ sudo gdebi dropbox_2015.10.28_amd64.deb

Теперь вы увидите всплывающее окно с просьбой запустить Dropbox для завершения установки. Нажмите Запуск Dropbox.

Чтобы загрузить демон свойства (фоновый процесс), нажмите кнопку ОК.

После завершения загрузки выйдите из всплывающего окна. Страница входа в Dropbox автоматически откроется в вашем веб-браузере.

Если у вас уже есть аккаунт Dropbox, войдите в систему. Если у вас его нет, зарегистрируйтесь.

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

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

Bacula

Bacula — одно из самых популярных и широко используемых решений для восстановления и резервного копирования в Linux. Это открытый исходный код и позволяет пользователям:

  • Резервные данные.
  • Проверьте данные в сети.
  • Восстановление поврежденных или потерянных файлов быстро.

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

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

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

Чтобы узнать, как установить Bacula, прочитайте Руководство по установке Bacula Community.

Программное обеспечение FlyBack

FlyBack — это программа, которая создает резервные копии и восстанавливает ваши файлы. Это инструмент для создания снимков, основанный на rsync (команда для копирования и синхронизации каталогов и файлов как локально, так и удаленно).

Функциональность похожа на Mac OS Time Machine, создавая последовательные каталоги резервного копирования, которые отражают файлы, которые вы хотите сделать резервную копию.

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

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

Некоторые функции включают в себя возможность:

  • Расписание нескольких резервных копий.
  • Автоматически запускать выборочные резервные копии.
  • Расписание, когда автоматически удалять старые резервные копии.
  • Имейте контроль над расположением резервной копии, а также над тем, что включать или исключать.
  • Сканирование структуры каталогов в процессе резервного копирования.
  • Выполните резервное копирование любого каталога в любое место, включая внешний диск.

Relax-и-Recover

Также называемый ReaR, Relax-and-Recover — это инструмент для резервного копирования ваших файлов в Linux. Это верно для его имени в том, что после того, как вы установите и настроите его, вам больше ничего не нужно делать. Резервное копирование и восстановление ваших файлов выполняется автоматически.

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

fwbackups

Еще один бесплатный инструмент с открытым исходным кодом — fwbackups. Это простой, но мощный инструмент, позволяющий легко выполнять резервное копирование.

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

  • Гибкая конфигурация резервного копирования.
  • Простой интерфейс
  • Возможность резервного копирования всех ваших файлов.
  • Исключение каталогов или файлов из резервной копии.

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



2019-08-30T12:31:52
Вопросы читателей

Как в fail2ban удалить заблокированный ip-адрес

Как в fail2ban удалить заблокированный ip-адрес с установленной операционной системой Linux

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