По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
На сервера с системами семейства Linux всегда направлен большой уровень атак и сканирования портов В то время как правильно настроенный фаервол и регулярные обновления системы безопасности добавляют дополнительный уровень безопасности системы, вы также должны следить, не смог ли кто-нибудь пробраться через них. Инструменты, представленные в этой статье, созданы для этих проверок безопасности и могут идентифицировать вирусы, вредоносные программы, руткиты и вредоносные поведения. Вы можете использовать эти инструменты для регулярного сканирования системы, например, каждую ночь и отправлять отчеты на ваш электронный адрес. Lynis – Security Auditing and Rootkit Scanner Lynis - это бесплатный, мощный и популярный инструмент с открытым исходным кодом для аудита и сканирования безопасности для операционных систем Unix или Linux. Это средство сканирования на наличие вредоносных программ и обнаружения уязвимостей, которое сканирует системы на наличие информации и проблем безопасности, целостности файлов, ошибок конфигурации; выполняет аудит брандмауэра, проверяет установленное программное обеспечение, права доступа к файлам и каталогам, а также многое другое. Важно отметить, что он не выполняет автоматическое усиление защиты системы, однако просто дает предложения, позволяющие повысить уровень защиты вашего сервера. Мы установим Lynis (версия 2.6.6) из исходных кодов, используя следующие команды. # cd /opt/ # wget https://downloads.cisofy.com/lynis/lynis-2.6.6.tar.gz # tar xvzf lynis-2.6.6.tar.gz # mv lynis /usr/local/ # ln -s /usr/local/lynis/lynis /usr/local/bin/lynis Теперь вы можете выполнить сканирование вашей системы с помощью команды ниже: # lynis audit system Initializing program - Detecting OS... [DONE] - Checking profiles... [DONE] Program version: 2.6.6 Operating system: Linux Operating system name: CentOS Operating system version: CentOS Linux release 7.4.1708 (Core) Kernel version: 4.17.6 Hardware platform: x86_64 Hostname: merionet Profiles: /usr/local/lynis/default.prf Log file: /var/log/lynis.log Report file: /var/log/lynis-report.dat Report version: 1.0 Plugin directory: /usr/local/lynis/plugins Auditor: [Not Specified] Language: en Test category: all Test group: all - Program update status... [NO UPDATE] Чтобы запускать Lynis автоматически каждую ночь, добавьте следующую запись cron, которая будет запускаться в 3 часа ночи и отправлять отчеты на ваш адрес электронной почты. 0 3 * * * /usr/local/bin/lynis --quick 2>&1 | mail -s "Lynis Reports of My Server" you@yourdomain.com Chkrootkit – A Linux Rootkit Scanners Chkrootkit - это еще один бесплатный детектор руткитов с открытым исходным кодом, который локально проверяет наличие признаков руткита в Unix-подобных системах. Он помогает обнаружить скрытые дыры в безопасности. Пакет chkrootkit состоит из сценария оболочки, который проверяет системные двоичные файлы на наличие изменений руткита, и ряда программ, которые проверяют различные проблемы безопасности. Средство chkrootkit можно установить с помощью следующей команды в системах на основе Debian: $ sudo apt install chkrootkit В системах на базе CentOS вам необходимо установить его из источников, используя следующие команды: # yum update # yum install wget gcc-c++ glibc-static # wget -c ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz # tar –xzf chkrootkit.tar.gz # mkdir /usr/local/chkrootkit # mv chkrootkit-0.52/* /usr/local/chkrootkit # cd /usr/local/chkrootkit # make sense Чтобы проверить ваш сервер с помощью Chkrootkit, выполните следующую команду: $ sudo chkrootkit Или # /usr/local/chkrootkit/chkrootkit После запуска начнется проверка вашей системы на наличие известных вредоносных программ и руткитов, а после завершения процесса вы сможете увидеть отчет. Чтобы запускать Chkrootkit автоматически каждую ночь, добавьте следующую запись cron, которая будет запускаться в 3 часа ночи, и отправляйте отчеты на ваш адрес электронной почты. 0 3 * * * /usr/sbin/chkrootkit 2>&1 | mail -s "chkrootkit Reports of My Server" you@yourdomain.com Rkhunter – A Linux Rootkit Scanners RKH (RootKit Hunter) - это бесплатный, мощный, простой в использовании и хорошо известный инструмент с открытым исходным кодом для сканирования бэкдоров, руткитов и локальных эксплойтов в POSIX-совместимых системах, таких как Linux. Как следует из названия, это средство для обнаружения руткитов, мониторинга и анализа безопасности, которое тщательно проверяет систему на наличие скрытых дыр в безопасности. Инструмент rkhunter можно установить с помощью следующей команды в системах на основе Ubuntu и CentOS $ sudo apt install rkhunter # yum install epel-release # yum install rkhunter Чтобы проверить ваш сервер с помощью rkhunter, выполните следующую команду. # rkhunter -c Чтобы запускать rkhunter автоматически каждую ночь, добавьте следующую запись cron, которая будет работать в 3 часа ночи и отправлять отчеты на ваш адрес электронной почты. 0 3 * * * /usr/sbin/rkhunter -c 2>&1 | mail -s "rkhunter Reports of My Server" you@yourdomain.com ClamAV – Antivirus Software Toolkit ClamAV - это универсальный, популярный и кроссплатформенный антивирусный движок с открытым исходным кодом для обнаружения вирусов, вредоносных программ, троянов и других вредоносных программ на компьютере. Это одна из лучших бесплатных антивирусных программ для Linux и стандарт с открытым исходным кодом для сканирования почтового шлюза, который поддерживает практически все форматы почтовых файлов. Он поддерживает обновления вирусных баз во всех системах и проверку при доступе только в Linux. Кроме того, он может сканировать архивы и сжатые файлы и поддерживает такие форматы, как Zip, Tar, 7Zip, Rar и многие другие. ClamAV можно установить с помощью следующей команды в системах на основе Debian: $ sudo apt-get install clamav ClamAV можно установить с помощью следующей команды в системах на базе CentOS: # yum -y update # yum -y install clamav После установки вы можете обновить сигнатуры и отсканировать каталог с помощью следующих команд. # freshclam # clamscan -r -i DIRECTORY Где DIRECTORY - это место для сканирования. Опция -r означает рекурсивное сканирование, а -i - показать только зараженные файлы. LMD – Linux Malware Detect LMD (Linux Malware Detect) - это мощный и полнофункциональный сканер вредоносных программ для Linux с открытым исходным кодом, специально разработанный и предназначенный для общедоступных сред, но его можно использовать для обнаружения угроз в любой системе Linux. Он может быть интегрирован с модулем сканера ClamAV для повышения производительности. Он предоставляет полную систему отчетов для просмотра текущих и предыдущих результатов сканирования, поддерживает оповещения по электронной почте после каждого выполнения сканирования и многие другие полезные функции. LMD недоступен в онлайн-хранилищах, но распространяется в виде тарбола с веб-сайта проекта. Тарбол, содержащий исходный код последней версии, всегда доступен по следующей ссылке, где его можно скачать с помощью: # wget http://www.rfxn.com/downloads/maldetect-current.tar.gz Затем нам нужно распаковать архив и войти в каталог, в который было извлечено его содержимое. Там мы найдем установочный скрипт install.sh # tar -xvf maldetect-current.tar.gz # ls -l | grep maldetect Далее запускаем скрипт # ./install.sh На этом пока все! В этой статье мы поделились списком из 5 инструментов для сканирования сервера Linux на наличие вредоносных программ и руткитов.
img
В данной статье мы постараемся разобрать, как создать, отследить и завершить процесс. Посмотрим следующие задачки: Запуск задачи в активном и фоновом режиме; Заставить задачу выполнятся после выхода из системы; Отслеживать и сортировать активные процессы; Завершать процессы; Постараемся разобрать следующие понятия: Fg (foreground) и bg (background); Nohup (no hang up); Ps - информация об активных процессах; Pstree - дерево процессов; Pgrep - поиск процессов; Pkill - завершение процессов; Top - диспетчер задач; Free - загрузка оперативной памяти; Uptime - время и полнота загрузки; Screen - управление сессиями. Начнем разбирать данную тему с простой команды. Команда sleep man sleep С помощью данной команды мы можем выставить задержку на определенное время, собственно, о чем и написано в справочной статье. Она обычно пригождается, когда необходимо выполнить какой-то скрипт и компьютер должен немного подождать. В частности, мы можем посмотреть следующий пример: sleep 1000 - после данной команды, мы можем вводить в консоль различные символы, они будут появляться на экране но машина и операционная система не будет реагировать. Для того чтобы прервать нажимаем ctrl + c сочетание клавиш. Когда набираем команду, она начинает работать в активном режиме и занимает консоль, и мы соответственно ничего не можем делать. Так как компьютер у нас сейчас много задачный, процессор многозадачный, операционная система многозадачная, мы можем запускать какие-то процессы в фоновом режиме. Для того, чтобы это сделать необходимо набрать команду и в конце поставить знак амперсанда "". Т.е. мы получим следующее sleep 1000. Как, только мы написали команду плюс амперсанд и нажали Enter. Мы видим появился один процесс, и он бежит в фоновом режиме. Есть такая команда jobs, она показывает выполняющиеся задачи, бегущие процессы. И вот мы видим, что у нас есть одна выполняющаяся задача sleep на 1000 секунд. Мы можем еще запустить один sleep 999. Практического эффекта нету, данный пример необходим для наглядности процессов. Появился еще один процесс с отличным от прошлого id. Итого у нас 2 процесса. Теперь представим, что нам необходимо поработать с сервером, но в настоящий момент необходимо обновить, например, репозиторий или пакеты. Мы запускаем процесс обновления с амперсандом и продолжаем работу в обычном режиме, консоль стандартного вывода у нас свободна. Но если нам необходимо вернутся к процессу, который бежит в фоне. Мы можем использовать команду fg и номер процесса, например, 1 или 2. Так же сданной командой мы можем использовать PID, т.е. уникальный идентификатор процесса. Таким образом мы можем видеть, что мы оказались внутри указанного процесса. Для выхода нажимаем ctrl+z. И теперь данная задача будет остановлена. В чем можно убедится, используя команду job. И соответственно, чтобы запустить процесс используем команду bg #процесса. Небольшой итог: Есть команда, показывающая процессы jobs. И команды fg и bg, которые позволяют отправить процессы в фоновый режим и вернуть обратно. Команда PS man ps Согласно описанию, данная команда показывает снапшот текущих процессов. У данной команды очень много ключей, но очень часть данная команда используется в таком виде ps aux. Это означает вывести результат по всем пользователям, все процессы, даже запущенные вне нашего терминала. Это помогает, когда у нас много пользовательская среда, или мы запустили от имени суперпользователя, а сами переключились на текущего. Выглядит данная картинка примерно так: На данной картинке мы можем увидеть от имени какого пользователя процессы выполняются. Это снимок процессов системы, статический снапшот. Он выполнен на тот момент, когда мы подали команду на терминал. Внизу на картинке, можно увидеть наши sleep, значит они на момент ввода команды бежали в фоновом режиме. Кроме того, мы можем запускать данную команду, через pipeline. Например: ps aux | grep sleep Команда grep - отсортировать. И в данном случае мы увидим только два наших процесса. Мы так же можем убить процессы. Процессы убиваются командой kill PID (т.е по его ID). Вот таким образом мы можем завершить процесс. Запустим еще несколько процессов. Теперь мы можем их завершить массово с использованием их сортировки killall sleep например. Мы можем увидеть, что процессы завершились. Данная команда может быть полезно при зависании какого ни будь приложения. Действие данной команды работает, только в пределах пользователя от которого данную команду запустили. Если выполнять данную команду от root. То данная команда завершит процессы у всех пользователей с именем sleep. Если мы создадим процесс, а затем выйдем из терминала (команда exit). Заходя обратно выполняя ps aux мы так же в фоне увидим, что процесс выполняется. А набрав jobs мы не увидим данный процесс. Это происходит потому, что команда jobs показывает только текущие процессы запущенные из данной консоли. Есть такой тонкий нюанс. Если мы запускаем в нашем сеансе процессы, бэкграунд или активный режим, при завершении сессии наши процессы завершаются. Получается следующее, при подключении к серверу, через ssh все наши процессы запущенные при обрыве сессии прервутся. Например, мы запустим процесс обновления системы и завершим нашу сессию процесс обновления прервется. Чтобы у нас процессы не завершались при выходе из системы пользователя, есть команда nohup. Используем ее. nohup sleep 10000 Во-первых, данная команда позволяет заменить стандартный вывод на вывод в файл и во -вторых команда будет выполнятся, пока будет запущенна операционная система. Вне зависимости от наличия пользователя в системе, который запустил. Есть достаточно много нюансов. Можно логинится, разлогиниватся и попадать в тот же сеанс, а в современных Ubuntu уже практически нет необходимости использовать данную команду. Но все же, чтобы гарантированно процесс работал необходимо использовать данную команду. Теперь можно посмотреть команду pstree. Данная команда позволяет посмотреть все процессы в иерархическом виде дерева. На картинке, четко виден родительский процесс systemd, который запускает все остальные процессы. Например sshd - подключение к серверу, которое запускает bash - интерпретатор, далее запускается sudo , su и pstree в самом конце. Есть еще интересные команды pgrep и pkill. Есть просто запустить pgrep то данная команда ничего не выдаст. А если в совокупности с ключами и названием процесса, то данная команда вернет идентификационный номер данного процесса. Мы так же можем добавить ключ -l, то команда вернет и название процессов. У нее много других ключей. Можно, например, команде сказать pgrep -u root -l, т.е показать все процессы пользователя root. Следовательно, команда pkill позволяет убить все эти процессы. Например: pkill sleep. Мы убили все процессы sleep. В реальной же ситуации, мы обычно используем команду top. Данная команда позволяет наблюдать и не только в режиме реального времени за процессами. Посмотрим на данные выводимые данной утилитой. Мы видим, что по умолчанию данная утилита сортирует по загрузке процессора. Мы можем перейти в режим помощи нажав клавишу "h". Ключей и опций у данной утилиты достаточно много. Можно воспользоваться клавишами """", для переключения сортировки, например на сортировку по загруженности оперативной памяти. В данной утилите мы можем сказать, что необходимо завершить той или иной процесс. Практически он аналогичен Диспетчеру задач в операционной системе windows. Для того, чтобы убить процесс нажимаем клавишу "k" и система ждет ввода PID процесса. По умолчанию он берет тот PID, который находится в самом верху. Т.е. по факту самый загружающий процесс систему. Если у нас, что-то висит, то достаточно удобно завершить такой процесс. После ввода PID система запросит, какой сигнал ей необходимо послать по умолчанию сигнал номер 15 или sigterm - т.е. сигнал завершения работы в мягком режиме. Если мы хотим использовать более жесткий вариант отправляем цифру 9, или sigkill. В таком случае операционная система, очень жестко потушит процесс наплевав на зависимые процессы от данного и те процессы от которых зависит данный процесс. Команда uptime man uptime Данная команда показывает, как долго у нас запущена система. Сам по себе эти данные нам ничего не дают. Данная команда. полезна в контексте, если нам передали сервера, и мы видим у них очень большой аптайм, следовательно, сервера не обновлялись и не перезагружались. Данная команда полезна помимо параметра сколько запущенна системаданная команда показывает общую загрузку системы. Это показывают три цифры в выводе данной команды. Там достаточно сложная формула по которой рассчитывается данный параметра, во внимание принимается загрузка ЦП, жестких дисков, оперативной памяти. Первая цифра - это загрузка в минуту, вторая цифра - это загрузка в последние пять минут и третья цифра - это загрузка в последние 15 минут. Исходя из последней картинки, цифры примерно одинаковые, а значит нагрузка равномерна. Если цифры скачут, значит необходимо анализировать, особенно если на сервере есть просадка по производительности. Команда free man free Данная команда показывает свободное и используемое количество памяти в системе. И в данном случае, так же, как и в windows task manager, под памятью понимается оперативная память, так и файл подкачки (windows), раздел подкачки (swap Linux). Swap раздел, это раздел системы используемый для ее нужд если системе не хватает оперативной памяти. Это раздел на жестком диске, который используется в качестве оперативной памяти. Но жесткий диск значительно медленней оперативной памяти, поэтому сначала заполняется оперативная память, а только потом используется раздел подкачки (swap). Команда screen man screen Она есть не во всех дистрибутивах по умолчанию. Эта команда, которая позволяет создать типа оконного менеджера. Это удобно, когда подключаешься по ssh и получаешь, как будто бы несколько окон в пределах одного терминала. Понятно, что современные ssh клиенты позволяют открыть сколько угодно вкладок и работать с ними параллельно. Запускаем screen. Переходим во внутрь screen, запускаем какую-нибудь команду, например, ping ya.ru. Далее нажимаем ctrl+a и затем d и получаем: Первая команда позволяет находится в текущем окне, а вторая клавиша d позволяет свернуть текущий скрин. Теперь можно закрывать терминал, вылогиниваться из консоли. Процесс запущенный в скрине будет работать. Для того, чтобы восстановить окно с процессом достаточно ввести screen -r и мы вернемся к бегущему процессу. Для того, чтобы завершить screen необходимо внутри ввести exit. Если у нас есть потребность запустить несколько окон, то можно это сделать следующим образом: Screen -S yandex ping ya.ru, screen -S rambler ping r0.ru Где yandex и rambler - это просто названия окон (alias) Просмотреть бегущие окна: screen - ls Чтобы вернутся к нужному окну вводим screen -r alias
img
У нас есть Windows Server 2008 R2 и сейчас мы сделаем из него Контроллер домена - Domain Controller (DC). Погнали! Первым делом – запускаем Server Manager: Затем выбираем опцию Roles и добавляем новую роль для нашего сервера, нажав Add Roles: Нас встречает мастер установки ролей, а также просят убедиться, что учетная запись администратора имеет устойчивый пароль, сетевые параметры сконфигурированы и установлены последние обновления безопасности. Прочитав уведомление кликаем Next Сервер, выступающий в роли DC обязан иметь статический IP адрес и настройки DNS Если данные настройки не были выполнены заранее, то нас попросят выполнить их в дальнейшем на одном из этапов. В списке доступных ролей выбираем Active Directory Domain Services. Мастер сообщает, что для установки данной роли нужно предварительно выполнить установку Microsoft .NET Framework. Соглашаемся с установкой, нажав Add Required Features и кликаем Next Нас знакомят с возможностями устанавливаемой роли Active Directory Domain Services (AD DS) и дают некоторые рекомендации. Например, рекомендуется установить, как минимум 2 сервера с ролями AD DS (т.е сделать 2 DC) на случай, чтобы при выходе из строя одного сервера, пользователи домена все ещё могли бы залогиниться с помощью другого. Также, нас предупреждают о том, что в сети должен быть настроен DNS сервер, а если его нет, то данному серверу нужно будет дать дополнительную роль – DNS. После того, как прочитали все рекомендации, кликаем Next чтобы продолжить установку. Наконец, нам предоставляют сводную информацию об устанавливаемой роли и дополнительных компонентах для подтверждения. В данном случае, нас уведомляют о том, что будет установлена роль AD DS и компонент .NET Framework 3.5.1. Для подтверждения установки кликаем Install. Дожидаемся пока завершится процесс установки роли и компонентов. Через какое-то время перед нами появится результат установки, он должен быть успешным как для роли так и для компонентов Installation succeeded. Закрываем мастер установки, нажав Close. Вернувшись в Server Manager мы увидим, что у нас появилась роль AD DS, однако ее статус неактивен. Чтобы продолжить настройку кликаем на Active Directory Domain Services. Перед нами открывается уведомление о том, что наш сервер пока ещё не является контроллером домена, и чтобы это исправить нам следует запустить мастер настройки AD DS (dcpromo.exe). Кликаем на ссылку Run the Active Directory Domain Services Installation Wizard или же запускаем его через Пуск – Выполнить – dcpromo.exe. Перед нами открывается мастер настройки AD DS. Расширенный режим установки можно не включать. Для продолжения кликаем Next Нас встречает уведомление о том, что приложения и SMB клиенты, которые используют старые небезопасные криптографические алгоритмы Windows NT 4.0 при установке соединений, могут не заработать при взаимодействии с контроллерами домена на базе Windows Server 2008 и 2008 R2, поскольку по умолчанию, они не разрешают работу по данным алгоритмам. Принимаем данную информацию к сведению и кликаем Next Далее нам нужно выбрать принадлежность данного контроллера домена. Если бы у нас уже имелся лес доменов, то данный DC можно было бы добавить туда, либо добавив его в существующий домен, либо же создав новый домен в существующем лесу доменов. Поскольку мы создаем контроллер домена с нуля, то на следующей вкладке мы выбираем создание нового домена и нового леса доменов Create a new domain in a new forest и кликаем Next. После этого нам предлагают задать FQDN корневого домена нового леса. В нашем случае мы выбрали merionet.loc. Сервер проверит свободно ли данное имя и продолжит установку, нажимаем Next. Далее задаем функциональный уровень леса доменов. В нашем случае - Windows Server 2008 R2 и кликаем Next. Обратите внимание, что после задания функционального уровня, в данный лес можно будет добавлять только DC равные или выше выбранного уровня. В нашем случае от Windows Server 2008 R2 и выше. Далее, нам предлагают выбрать дополнительные опции для данного DC. Выберем DNS Server и нажимаем Next. В случае, если ваш сервер ещё не имеет статического IP адреса, перед вами появится следующее предупреждение с требованием установить статический IP адрес и адрес DNS сервера. Выбираем No, I will assign static IP addresses to all physical network adapters Устанавливаем статические настройки IP адреса и DNS. В нашем случае – в роли DNS сервера выступает дефолтный маршрутизатор (Default Gateway) нашей тестовой сети. Далее, установщик предлагает нам выбрать путь, по которому будут храниться база данных Active Directory, лог-файл и папка SYSVOL, которая содержит критичные файлы домена, такие как параметры групповой политики, сценарии аутентификации и т.п. Данные папки будут доступны каждому DC в целях репликации. Мы оставим пути по умолчанию, но для лучшей производительности и возможности восстановления, базу данных и лог-файлы лучше хранить в разных местах. Кликаем Next. Далее нас просят указать пароль учетной записи администратора для восстановления базы данных Active Directory. Пароль данной УЗ должен отличаться от пароля администратора домена. После установки надежного сложного пароля кликаем Next. Далее нам выводят сводную информацию о выполненных нами настройках. Проверяем, что все корректно и кликаем Next. Мастер настройки приступит к конфигурации Active Directory Domain Services. Поставим галочку Reboot on completion, чтобы сервер перезагрузился по завершении конфигурирования. После перезагрузки сервер попросит нас залогиниться уже как администратора домена MERIONET. Поздравляем, Вы создали домен и контроллер домена! В следующей статье мы наполним домен пользователями и позволим им логиниться под доменными учетными записями.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59