105 команд для работы с сервером Linux по SSH

Для повышения безопасности ssh-соединения рекомендуется отказаться от логина по паролю, и подключаться к удалённому серверу с помощью ключей. Это действие аналогично отпиранию замка с помощью ключа. Логин по паролю в конце-концов может быть взломан методом перебора, либо утечкой пароля. Тогда как логин по ключам достаточно стоек к взлому.

Основные методы, которые помогут для защиты сервера:

  • Используйте сложные пароли и не применяйте одно и то же секретное слово для обеспечения надёжности веб-сервера. Следует отнестись к этому правилу со всей серьёзностью. Если вы не можете придумать сами сложный код, то применяйте утилиту pwgen, которая поможет вам сгенерировать кодировку особой сложности.
  • Не пользуйтесь стандартными портами, ведь сканеры уязвимостей занимают их поиском на таких портах. В том случае, если вы всё-таки имеете ненадёжную службу, то сканер может её просто пропустить.
  • Занимайтесь просмотрами логов, чтобы повысить безопасность серверов Linux. Именно они помогут вам узнать об ошибках, а также об уязвимостях, с которыми столкнулись другие пользователи. Это поможет сделать выводы и не допустить таких же ошибок.
  • Часто не заходите в систему под именем суперпользователя, ведь вы можете что-то нечаянно удалить, что плохо скажется на защищённости системы. А если зайти под именем суперпользователя и попасть в западню, то злоумышленник сможет овладеть всеми правами владельца.
  • была надёжной. Очень поможет ядерный модуль selinux для повышения уровня доступа, а также bindfs позволяет рассматривать папку, как независимую файловую систему.
  • Производите черут всех документов, которые имеют отношение к доступу в систему. Черут создаёт необходимые файлы и утилиты, помогает изменить корневой каталог в Unix-подобных операционных системах. Вы можете осуществить копирование необходимых утилит в папку «bin», что значительно уменьшит возможности злоумышленников, а даже если они захотят навредить вам, то дальше этой папки их действия не распространятся.
  • Запускайте все службы и домены под именем пользователя, который имеет не все права к доступу, чтобы повысить безопасность серверов Unix. Например, если апач станет уязвимым, то юзер, который его запустил, сможет выполнять основные команды. Поэтому необходимо уменьшить права для этого пользователя для повышения защиты.
  • Используйте соответственные программы, фаерволы или блокировщики, чтобы улучшить безопасность сервера Linux/Unix. Эти программы позволяют делать фильтрацию получаемой информации в зависимости от политики защиты. Например, Fail2ban позволяет заблокировать пользователей по ssh, если замечено несколько попыток неправильного ввода пароля, а также обезопасит вас от автоматического перебоя паролей.
  • Для защиты веб-сервера следует использовать антивирусы. Хотя вредоносные программы не представляют особой угрозы, но всё-таки они могут заразить сам сайт.
  • Отключайте протоколы, которыми не пользуетесь, ведь они тоже могут навредить надёжности системы.
  • сервера Linux.
  • Если вам не нужно подключаться удалённо, то производите подключения только через локальный хост. Например, нужно запретить все подключения к базе данных, если они происходят только с веб-сервера.
  • Для ограничения доступа, следует использовать авторизацию ssh только с помощью ключа. Это будет намного надёжнее, ведь секретное слово можно подобрать, а ключ нет. А лучше просто запретить вход юзера для ssh, если в нём нет необходимости. Если подключение предназначено только для определённых пользователей, то лучше ввести ограничения и открыть вход определённым ip адресам.
  • Регулярно проводите резервное копирование, ведь нет ничего безопасного. Для хорошей надёжности можно хранить информацию на других ПК или на веб-серверах.

Описание уязвимости

Уязвимость выражается в удалённом выполнении кода в Microsoft SMBv1 сервере. Она настолько серьёзная, что были выпущены заплатки даже для уже неподдерживаемой версии Windows XP (также подверженной данной уязвимости). Данной уязвимости присвоен идентификатор CVE-2017-0143 и кодовое имя “EternalBlue”.

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

SELinux и DAC

DAC является аббревиатурой от Discretionary Access Control (DAC). Это стандартный механизм безопасности Linux, * BSD, Apple OSX и Unix. В DAC каждый процесс выполняется под пользователем и группой.

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

Взломанный процесс httpd может получить доступ, изменить и уничтожить все файлы, принадлежащие пользователю apache. Он может получить доступ к временным каталогам (/ tmp / или / var / tmp) и файлам, которые можно прочитать всем.

SELinux и DAC

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

Он выполняет любые операции над файлами в группе apache. Злоумышленник может использовать этот неправильно настроенный сценарий cgi / php или сломанный сервер apache для получения доступа к корневому уровню. Это даст суперпользователю доступ в системе на основе Linux. После получения прав взломщик может украсть ваши личные данные или получить доступ к другим частям вашей внутренней сети (LAN).

Что такое операционная система?

Операционная система ОС (Operating system, OS) – это комплекс программ, который выполняет роль интерфейса (панели взаимодействия) между пользователем и оборудованием компьютера. Чтобы компьютер мог работать, на нем должна быть установлена хотя бы одна ОС. Все приложения компьютера, такие как текстовые и графические редакторы, электронные таблицы, базы данных, интернет-браузеры и пр., и пр., не могут работать и выполнять свои задачи без программной среды операционной системы, которая предоставляет для них необходимые сервисы.

Схематичное изображение функций ОС

Важно понимать отличие серверной операционной системы от операционной системы обычного компьютера.

В обычной ОС работают такие программы как MS Word, Excel, PowerPoint, Visio, Adobe Photoshop и многие другие, которые используются для повседневной работы, а также игры и прочие развлекательные приложения для отдыха. Обычная ОС отвечает за подключение пользователя компьютера к локальной сети LAN и к сети Интернет, а также к различным устройствам через протокол Bluetooth. Стоит добавить, что обычная ОС стоит гораздо меньше, чем ОС сервера.

Читайте также:  Установка и настройка SSH на сервере с Ubuntu

Серверная ОС использует гораздо больший объем памяти для вычислений, а также может выполнять функции веб-сервера, сервера приложений и сервера электронной почты и многих других серверов, необходимых для работы ИТ-системы предприятия. Серверная ОС может подключать к локальной сети и к Интернет многих пользователей, а не одного, как обычная ОС. Поэтому серверная ОС и более дорогая.

Создание пары ключей RSA

Для того, чтобы заходить на сервер по ключу, необходимо сгенерировать пару ключей: открытую и закрытую. Открытый (или публичный) ключ мы помещаем на сервер, а закрытый хранится у нас. По этой паре мы можем осуществлять логин на сервер. На данный сервер сможет заходить тот, у кого есть вторая часть ключа.

Сгенерируем пару ключей.

ssh-keygen

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

После выполнения этой команды, вы получите следующий вывод:

Generating public/private rsa key pair. Enter file in which to save the key (/your_home/.ssh/id_rsa):

После чего можно нажать клавишу “Enter”, чтобы сохранить эту пару ключей в директорию .ssh/ внутри домашней директории, либо вы можете задать другую директорию.

Если ранее вы генерировали пару ssh-ключей, то вероятнее всего вы получите следующий вывод:

/home/your_home/.ssh/id_rsa already exists. Overwrite (y/n)?

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

После успешной операции, вы увидите следующий вывод:

Enter passphrase (empty for no passphrase):

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

После этого, вы увидите следующий вывод:

Output Your identification has been saved in /your_home/.ssh/id_rsa. Your public key has been saved in /your_home/.ssh/id_ The key fingerprint is: a9:49:2e:2a:5e:33:3e:a9:de:4e:77:11:58:b6:90:26 [email protected]_host The key’s randomart image is: +—[ RSA 2048]—-+ | ..o | | E o= . | | o. o | | .. | | ..S | | o o. | | =o.+. | |. =++.. | |o=++. | +——————+

Это говорит о том, что у вас появилась пара из открытого и закрытого ключа, которые могут быть использованы для логина на удалённый сервер. Далее необходимо скопировать открытый ключ на удалённый сервер.

Работа с командной строкой, горячие клавиши и дополнительные символы

Базовые методы управления текстом в терминале.

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

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

Читайте также:  Как сбросить настройки роутера

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

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

Дополнительные символы

Не совсем команды, но тоже текстовые элементы, причем полезные.

; — разделитель, необходимый, чтобы активировать сразу несколько команд подряд. Это выглядит так: cd ~/Documents; mkdir Novaya_papka; rmdir Staraya-papka. Команды будут выполняться друг за другом независимо от результата выполнения каждой из них.

&& — то же самое, что и ;, но с важным нюансом. Команды, соединенные с помощью &&, будут выполняться друг за другом, только если предыдущая завершилась успешно. Синтаксис аналогичный:

sudo apt-get update && sudo apt-get install wget

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

~ — сокращение от /home/имя учетной записи/. Часто фигурирует в инструкциях.

Горячие клавиши

Парочка полезных сочетаний клавиш.

Стрелка вверх — показывает предыдущую команду.

Ctrl+C — прерывает запущенный процесс.

Ctrl+A — перемещает курсор в начало строки.

Ctrl+E — перемещает курсор в конец строки.

Почему за Secret Net Studio следует обратиться именно к нам

Компания «Интелком» более 10 лет занимается поставками и внедрением систем информационной безопасности от лучших отечественных производителей. Мы являемся лицензиатами ФСТЭК и ФСБ РФ. Нам доверяют правительства Московской и Тульской областей, МФЦ 20 городов России, ведущие оборонные предприятия и крупнейшие вузы страны. Наши проекты отмечены благодарственными отзывами Госдумы, УФМС, МВД, ФСБ и МЧС РФ, госкорпораций «РОСТЕХ» и «Высокоточные комплексы». Обращаясь в ООО «Интелком», вы можете быть уверены в надёжной защите ваших информационных систем. На все работы предоставляются долгосрочные гарантии.

Ощущения от использования Astra

Писать тексты, обрабатывать фотографии и работать с документацией можно

Для тех, кто использовал популярные дистрибутивы Linux, Windows или macOS, Astra Linux станет интуитивно понятной и не потребует сколько-то значимого времени для привыкания.

Ощущения от использования Astra

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

Ресурсов нужно немного

«Железо» определяет моментально, поэтому каких-либо проблем с установкой и запуском не предвится.

На данный момент среди аппаратных партнеров Astra Linux, предоставляющих необходимые данные для оптимизации системы, числятся все свободно продаваемые в России пользовательские и профессиональные решения.

Ощущения от использования Astra

Высшие строки на соответствующей странице занимают Acer, HP, Dell и множество других крупных поставщиков.

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