Debian. Шпаргалка сисадмина. Информация об устройствах

Если вы начали использовать Ubuntu или любой дистрибутив Linux, основанный на Ubuntu, такие как Linux Mint, ElementaryOS и др., вы, должно быть, уже столкнулись с командой apt-get.

Перенос файлов между серверами по протоколу ftp.

Копирование всех файлов без исключений директорий:

lftp -u name -e 'mirror to from' server

name — имя пользователя на удалённом сервере

to — директория, куда надо копировать файлы

from — директория, откуда надо копировать на удалённом сервере

server — адрес или хостнейм удалённого сервера с которого нужно получить данные

Копирование всех файлов, исключая директорию tmp:

lftp -u name -e 'mirror —exclude tmp to from' server

name — имя пользователя на удалённом сервере

to — директория, куда надо копировать файлы

from — директория, откуда надо копировать на удалённом сервере

server — адрес или хостнейм удалённого сервера с которого нужно получить данные

Копирование файлов по одному между серверами:

lftp -u name -e "get tmp/" server

name — имя пользователя на удалённом сервере

tmp/ — путь к файлу, который нужно скопировать

server — адрес или хостнейм удалённого сервера с которого нужно получить данные

Работа с базами данных

Что такое apt-get?

Ubuntu основана на Debian Linux. Debian использует систему пакетов dpkg. Система пакетов — это способ предоставления программ и приложений для установки. Таким образом, вам не придётся собирать программу из исходного кода.

APT (Advanced Package Tool) — инструмент командной строки для взаимодействия с этой упаковочной системой. Для управления им уже существуют команды dpkg, но apt является более удобным способом работы с пакетами. Вы можете использовать его для поиска и установки новых пакетов, обновления пакетов, очистки пакетов и т.д.

У APT есть два основных инструмента: apt-get и apt-cache. apt-get предназначен для установки, обновления и очистки пакетов, в то время как команда apt-cache используется для поиска новых пакетов. Мы рассмотрим все эти команды с примерами позже в этом руководстве.

В этом руководстве я использую Linux Mint 18, но вы можете использовать любой другой дистрибутив Linux, основанный на Ubuntu, например, ElementaryOS, Linux Lite и т.п.

Послесловие.

Как-то так. Как и всегда ждем от Вас комментариев, дополнений и всего такого прочего.

На этом мы закончим нашу очередную лекцию :). Будут и следующие, надеюсь, что интересные и захватывающие. Если есть, что дополнить (добавить), милости прошу, добавляйте в своих комментариях.

P.S. За существование данной статьи спасибо члену команды Pantera

Любая операционная система поддерживает несколько файловых систем, например, Windows поддерживает такие известные всем файловые системы, как FAT, FAT32, NTFS и др. Linux не исключение.

Практические аспекты аудита защищенности

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

Первый — это соответствие так называемым compliance-требованиям, здесь проверяется наличие обязательных элементов защиты, прописанных в каком-либо международном стандарте или «best practice». Классический пример — требования PCI DSS для платежных ИТ-систем, SOX404, NIST-800 series, MITRE.

Читайте также:  iPhone X(s/r)/8/7/6 не обновляется iOS по воздуху или через iTunes

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

Все, что относится ко второму подходу, принято называть специальным термином Hardening, что еще можно определить как «действия, направленные на усиление уровня исходной защищенности операционной системы (или программы) преимущественно штатными средствами».

Соответствие compliance-требованиям, как правило, проверяют при подготовке к прохождению обязательного аудита типа PCI DSS или другого сертификационного аудита. Мы же больше уделим внимание Hardening-составляющей. Все крупные разработчики предлагают для своих продуктов Hardening Guidelines — руководства, содержащие советы и рекомендации, как усилить защищенность, учитывая штатные механизмы безопасности и специфику софта. Так, подобные руководства есть у Red Hat, Debian, Oracle, Cisco.

INFO

Hardening — это термин из мира ИБ, который обозначает процесс обеспечения безопасности системы (программы) за счет снижения ее уязвимости и, как правило, с использованием только штатных утилит или механизмов защиты.

Кстати, на Хакере уже была схожая статья про настройку опций Hardening, но тогда речь шла именно о настройке. Мы же сначала почекаем нашу систему с помощью специальных утилит, то есть проведем аудит ИБ, оценим текущий уровень защиты, а потом уже накрутим туда security option, если необходимо. Ну или еще как вариант: если сервер уже оттюнингован с точки зрения безопасности, наши тулзы смогут это проверить и, возможно, подсказать, что же можно сделать еще.

Работа с файлами

Следующие команды потребуются вам при работе с файлами разного типа и объёма:

  • cat — для относительно коротких файлов: cat ;
  • less —  считывает текст не полностью, а небольшими фрагментами: less /etc/;
  • more — для длинных файлов;
  • tail -f — используется для просмотра растущего файла в окне интерактивного запуска кода.

Что вы можете сделать с двоичными файлами? На самом деле, вариантов не очень много:

Если вам требуется сравнить текстовые файлы друг с другом, введите следующие команды:

  • comm — отсортированные файлы будут строка за строкой;
  • diff — позволяет построчно выявить различия. Эта команда используется наиболее часто в силу богатого набора опций.

Команда lshw

Команда List Hardware (lshw) — еще одна популярная команда, используемая системными администраторами для получения очень подробной информации об аппаратных характеристиках машины. Это делается путем чтения различных файлов в каталоге /proc на компьютере с Linux.

Для получения информации утилите lshw необходим root-доступ. Она может сообщить о конфигурации RAM, версии прошивки, конфигурации материнской платы, информацию о процессоре, конфигурации кэша, скорости шины и т.д. Эта команда присутствует по умолчанию в большинстве дистрибутивов Linux. Если приведенные ниже команды не работают, значит утилиты в вашем дистрибутиве нет. Для ее установки перейдите на официальную страницу GitHub.

Синтаксис команды:

lshw [-format] [-options…]

Команда lshw

Формат вывода может быть любым из следующих:

  • html — вывод аппаратной конфигурации в формате HTML;
  • xml — вывод аппаратной конфигурации в формате XML;
  • json — вывод аппаратной конфигурации как объект JSON;
  • short — отображает только основную информацию;
  • businfo — выводит информацию о шине.
Читайте также:  Настраиваем Linux Mint

Параметры могут быть любыми из следующих:

  • -class CLASS — показывает только определенный класс оборудования;
  • -C CLASS — такой же, как ‘-class CLASS’;
  • -c CLASS — такой же, как ‘-class CLASS’;
  • -disable TEST — отключить тест (например, pci, isapnp, cpuid и т.д.);
  • -enable TEST — включить тест (например, pci, isapnp, cpuid и т.д.);
  • -quiet — не отображать статус;
  • -sanitize — удалить конфиденциальную информацию, такую как серийные номера и т.д.;
  • -numeric — числовые идентификаторы (для PCI, USB и т.д.);
  • -notime — исключить изменяемые атрибуты (временные метки) из вывода.

Поскольку команда должна выполняться с правами root, используйте sudo перед командой:

sudo lshw -short

Скриншот №7. Команда sudoПоделиться Оценить

Средняя оценка: 5.0 Оценили: 1

Команда lshw

191028 Санкт-Петербург Литейный пр., д. 26, Лит. А +7 (812) 403-06-99

  • 700 300 ООО «ИТГЛОБАЛКОМ ЛАБС»191028 Санкт-Петербург Литейный пр., д. 26, Лит. А +7 (812) 403-06-99
  • 700 300 ООО «ИТГЛОБАЛКОМ ЛАБС»
  • 700 300
  • Как указать dns сервер

    Остался последний из основных сетевых параметров — dns сервер. С ним в debian и ubuntu есть определенная путаница. Традиционно в linux для установки dns серверов используется файл /etc/ Но в какой-то момент в этих дистрибутивах появилась программа resolvconf, которая стала управлять настройками dns в системе.

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

    :/> Управление VirtualBox из командной строки | Информационный портал К2®

    Если я не ошибаюсь, то в минимальной конфигурации debian программа resolvconf не устанавливается, а вот в ubuntu она стоит. Проверить наличие программы очень просто:

    # dpkg -l | grep resolvconf

    Если в выводе пусто, значит ее нет. Тогда все очень просто. Для того, чтобы указать dns сервер, достаточно его записать в файл /etc/ в следующем виде:

    # mcedit /etc/

    nameserver nameserver nameserver 8.8.8.8 nameserver 1.1.1.1

    локальный dns сервер
    публичный сервер Яндекса
    8.8.8.8 публичный сервер Гугла
    1.1.1.1 публичный сервер cloudflare

    Я на всякий случай указал локальный сервер и 3 внешних. Если у вас стоит resolvconf, то в случае ненадобности, удалите его командой:

    # apt-get remove resolvconf

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

    Если же вам по какой-то причине необходима указанная выше программа, она у вас стоит и вы не хотите ее удалять, то адрес dns сервера необходимо указать в файле /etc/network/interfaces, добавив к параметрам интерфейса еще один:

    dns-nameservers 8.8.8.8 1.1.1.1

    Этот параметр нужно установить сразу после указания шлюза gateway. Несколько адресов разделяются пробелом.

    Дополнительные утилиты

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

    Более сильная замена штатной утилиты top. В стандартной конфигурации с системой не поставляется. Предоставляет удобный интерактивный интерфейс со встроенной справкой и обновлением данных в реальном времени. [email protected]:~# htop -d 10

    Ключ -d выставляет значение в десятых долях секунды для обновления данных. Ключ -c переключает программу в монохромный режим работы.

    Утилита предназначена для вывода подробной информации об аппаратном обеспечении. Наиболее удобно экспортировать данные в .html-вид и просматривать в браузере. Такой способ, конечно же, исключается при работе в консольном режиме, разве что если просматривать данные на другой системе. [email protected]:~# lshw -C network

    Читайте также:  Командная строка Linux. Полное руководство

    Команда выведет данные только о сетевой плате.

    smartmontools

    Пакет состоит из двух утилит (smartctl и smartd), которые следят за жестких дисков. Для запуска демона необходимо произвести ряд настроек:

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

    enable_smart=»/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde» start_smartd=yes smartd_opts=»—interval=1800″

    Однако при запуске службы на виртуальной машине с Debian 7.7 у меня выдал ошибку (надо сказать, что отслеживание S.M.A.R.T на виртуальных жестких дисках достаточно бредовая идея, я это сделал лишь с целью протестировать):

    Просмотреть состояние диска можно командой: [email protected]:~# smartctl -a /dev/sda

    Несмотря на это, утилита является достаточно распространенной и однозначно рекомендуется к использованию. Кроме того, в сети есть масса инструкций 2 3 по настройке e-mail-уведомлений в случае проблем с жесткими дисками.

    hdparm

    Главное предназначение программы — тонкая настройка параметров IDE/SATA жестких дисков, тюнинг производительности. Помимо этого также можно просматривать характеристики устройств командой (укажите свой диск): [email protected]:~# hdparm -i /dev/sda

    Вопросы настройки дисков в рамках этой статьи рассматривать не планируется.

    ethtool

    Произвести диагностику сетевой платы вам поможет утилита ethtool. Конечно вытянуть информацию можно и с помощью ifconfig, и dmesg и др., но несравнимо больше полезных данных вы получите именно от ethtool. Надо отметить, что с виртуальными сетевыми интерфейсами программа работает достаточно криво. Например отображение статистики по интерфейсу у меня вообще было пустое: [email protected]:~# ethtool -S eth0 no stats available

    Общая информация об интерфейсе была примерно настолько же скудной: [email protected]:~# ethtool eth0 Settings for eth0:                 Link detected: yes

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

    sysstat

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

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

    Notes:

    1. Package: dmidecode () ↩
    2. Контролируем SMART HDD, с отчетом на e-mail. На примере FreeBSD и Debian/Ubuntu. ↩
    3. Мониторинг SMART на Centos и Debian ↩

    comments powered by HyperComments

    Webshells

    Webshells могут быть использованы для поддержания доступа или взлома веб-сайта. Но большинство из них выявляются антивирусами. Оболочка php C99 очень хорошо известна среди антивирусов. Любой распространенный антивирус легко обнаружит его как вредоносное ПО.

    Как правило, их основной функцией является отправка системной команды через веб-интерфейсы.

    Чтобы открыть его, введите «cd / usr / share / webshells /» в терминале.

    Как видите, они разделены на классы в соответствии с языком программирования: asp, aspx, cfm, jsp, perl, php

    Если вы войдете в папку PHP, вы увидите все веб-оболочки для веб-страниц php.

    Чтобы загрузить оболочку на веб-сервер, например «», откройте веб-страницу и URL-адрес веб-оболочки.

    В конце напишите команду cmd. У вас будет вся информация, показанная на следующем скриншоте.