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

Для использования прокси из командной строки в Linux, в зависимости от типа трафика, вы можете настроить переменные окружения http_proxy, https_proxy или ftp_proxy.

Описание курса

Обновленная версия курса на 24 часа!

Материал курса позволяет получить ключевые знания по обеспечению комплексной безопасности сетевой инфраструктуры, что позволит значительно уменьшить риск взлома сетей и сервисов предприятия или минимизировать последствия такого взлома. Уникальной особенность курса являются лабораторные работы, позволяющие слушателям побывать по обе стороны «баррикад» — в роли хакеров и в роли администраторов безопасности сети.

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

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

Узнать больше

MAC: безопасность с SELinux

MAC является аббревиатурой от Mandatory Access Control (MAC). SELinux — это реализация механизма безопасности MAC. Он встроен в ядро ​​Linux и по умолчанию включен в Fedora, CentOS, RHEL и некоторых другие дистрибутивах Linux.

SELinux позволяет администратору сервера определять различные разрешения для всего процесса. Он определяет, как все процессы взаимодействуют с другими частями сервера.

SELinux накладывает ограничения на каждый из вышеуказанных объектов в соответствии с политикой. Например, пользователь apache с полным разрешением может получить доступ только к каталогу / var / www / html, но не может затрагивать другие части системы, такие как каталог / etc, без изменения политики.

Если злоумышленнику удастся получить доступ к почте sendmail или bind dns или веб-серверу apache, он будет иметь доступ только к эксплуатируемому серверу, а файлы, как правило, имеют доступ, определенный в политике для сервера. Злоумышленник не может получить доступ к другим частям системы или внутренней локальной сети.

MAC: безопасность с SELinux

Другими словами, ущерб теперь может быть ограничен конкретным сервером и файлами. Взломщик не сможет получить оболочку на вашем сервере через распространенные демоны, такие как Apache / BIND / Sendmail, поскольку SELinux предлагает следующие функции безопасности:

  • Данные пользователей от несанкционированного доступа.
  • Другие программы от несанкционированного доступа.
  • Сетевые порты от несанкционированного доступа.
  • Сервер

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

  • Реализация политики брандмауэров.
  • Мониторинг сервера.
  • Патч системы вовремя.
  • Написание и защита скриптов.
Читайте также:  Адобе флеш плеер для линукс минт 17. Установка Flash Player в Ubuntu

Проверка Работы Прокси Сервера

Как только вы настроили прокси — самое время убедиться, что он правильно работает.

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

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

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

Проверьте текущие настройки прокси:

$ env | grep -i proxy

Узнайте свой публичный IP адрес из командной строки в Linux:

$ wget -q -O — \ | sed -e ‘s/.*Current IP Address: //’ -e ‘s/<.*$//’

Сравните время ответа с настроенным прокси сервером и без него:

$ time wget -q -O — \ | sed -e ‘s/.*Current IP Address: //’ -e ‘s/<.*$//’

Проверьте скорость интернета через прокси:

$ wget —output-document=\ /dev/null

Шифруемся

Шифрование — как много в этом слове… Сегодня шифрование везде и нигде одновременно. Нас заставляют пользоваться HTTPS-версиями сайтов, а нам все равно. Нам говорят: «Шифруй домашний каталог», а мы говорим: «Потом настрою». Нам говорят: «Любимое занятие сотрудников Dropbox — это ржать над личными фотками юзеров», а мы: «Пусть ржут». Между тем шифрование — это единственное абсолютное средство защиты на сегодняшний день. А еще оно очень доступно и сглаживает морщины.

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

Шифруемся

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

$ sudo apt-get install ecryptfs-utils

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

$ sudo ecryptfs-setup-swap $ ecryptfs-setup-private

Шифруемся

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

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

Читайте также:  Тема: Работа с файлами и каталогами в ОС Linux.

# ecryptfs-migrate-home -u vasya

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

Шифруемся

$ mount | grep Private /home/vasya/.Private on /home/vasya type ecryptfs …

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

$ sudo rm -r /home/vasya.*

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

Шифруемся

Сравнение с другими os linux

Подробное сравнение Ubuntu с другими популярными дистрибутивами Linux я планирую сделать в отдельной статье. В обзоре Ubuntu Server упомяну только самое основное, что пришло в голову.

Как я уже говорил ранее, Ubuntu от остальных отличают свежие версии ядра и софта. Это дистрибутив, где раньше остальных появляются нововведения. Это одновременно и плюс и минус, так как обновления зачастую несут в себе целую пачку новых проблем. Так что если вам важна стабильность, часто обновлять нет смысла, только в случае необходимости.

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

Если сравнивать Ubuntu с Centos, то последняя система однозначно выигрывает по такому понятию, как поддержка. У нее с давних времен поддержка каждого релиза продолжается 10 лет, причем не за деньги, а бесплатно и для всех. Ubuntu в этом плане проигрывает со своими 5-ю годами бесплатной поддержки LTS версий. Но зато у Ubuntu есть плюс — она поддерживает обновление между релизами. Вы можете версию 16 lts обновить до 18 lts, а в Centos нет возможности обновления между релизами, только полная миграция на новую версию.

Лично мне нравится установщик, который появился в Ubuntu 18 lts. Он легок и понятен. Можно быстро выполнить установку. Но не нравится настройка сети через netplan. Вообще, ubuntu славится постоянными нововведениями и кардинальными изменениями. Зачастую это раздражает. Например, я не понимаю, в чем был смысл замены стандартной и привычной настройки сети на netplan. Лапша в yaml конфигах выглядит ужасно. Я понимаю, что это веяние моды, yaml разметка сейчас везде — kubernetes, openstack, ansible, и т.д. Но конкретно в настройках сети я не вижу в этом смысла. Базовые настройки системы надо менять как можно реже, только когда это объективно стало необходимо.

Демонстрация использования уязвимости EternalBlue

Для того, чтобы продемонстрировать работу данной уязвимости, я специально накатил на виртуальные машины пару операционных систем без заплаток – Windows XP SP3 (до сих пор актуальную в определённых кругах) и Windows Server 2008 R2.

Читайте также:  Linux — файловые системы ext3 и ext4

Вообще я тестировал на нескольких виртуальных машинах без установки заплатки:

  • Windows XP SP3 – вылетела в синий экран смерти;
  • Windows 7 SP1 – вылетела в синий экран смерти;
  • Windows Server 2008 R2 – отдала шелл с правами системы;

Помните, что эксплуатация данной уязвимости может послужить потерей данных и стать уголовно наказуемым деянием, поэтому выполнять будем только на своих виртуальных системах, а не на живых серверах (и уж тем более чужих). Смотрим!

Понравилось? Хотите сказать спасибо? Поставьте Like, порекомендуйте статью своим друзьям, сделайте репост! Когда вижу, что статьи читают и репостят – хочется писать больше и качественнее! Удачи вам!

Вам так же понравится: QEMU виртуализация. Готовим образ операционной системы Как найти драйверы, если их нет на официальном сайте оборудования? Бэкдор в CCleaner – столкнулся сам Уязвимость в системе WebMoney Merchant Скрытие папок на флешке и уязвимость с ярлыками lnk Уязвимость в Samba (CVE-2015-0240) позволяет получить права суперпользователя

Редактирование прав

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

sudo — выдает права суперпользователя. Используется перед любой командой, если нужно выполнить ее от имени администратора. Многие программы и операции запускаются исключительно при наличии этих прав, так что sudo используется часто. Например, чтобы обновить список пакетов в Fedora, введем: sudo dnf update. При этом система запросит пароль администратора.

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

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

chmod — корректирует права доступа к выбранному файлу. Применяется исключительно с набором опций, обозначающих список прав. Допустим, я хочу выдать права на чтение и запись файла на рабочем столе. Для этого введу в терминал: chmod 777 ~/Desktop/. Теперь его можно открывать и редактировать. Аналогичным образом пользователи поступают с системными файлами, когда приходит время что-то в них менять. По умолчанию большая их часть защищена от записи.

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

chown Timeweb ~/Desktop/