воскресенье, 27 августа 2017 г.

КОМАНДА LS LINUX

Если вы часто используете терминал, то довольно часто возникает необходимость посмотреть содержимое той или иной папки. Автодополнение спасает во многих случаях, но если вы не знаете что искать и не хотите использовать файловый менеджер, то быстро посмотреть что находится в папке может быть очень полезно. Другое применение команды ls — посмотреть разрешения для файлов и папок.
Установка правильных прав и владельца файла имеет очень важное значение для работы различного программного обеспечения, например, того же самого веб-сервера. В этой статье будет рассмотрена команда ls linux, основные ее опции и возможности, а также примеры применения.

КОМАНДА LS LINUX

Как обычно, в таких статьях сначала нам нужно понять синтаксис команды, чтобы вы знали как правильно ее использовать. На самом деле, синтаксис очень прост, вы набираете саму команду, а после нее путь к папке, содержимое которой хотите посмотреть. Если вы запустите команду без пути, то она выдаст содержимое текущего каталога:
$ ls опции /путь/к/папке
Опции команды указывают как именно и в каком виде нужно выводить информацию на экран, а путь, это та папка, которую нужно отобразить. Рассмотрим основные опции утилиты:
  • -a — отображать все файлы, включая скрытые, это те, перед именем которых стоит точка;
  • -A — не отображать ссылку на текущую папку и корневую папку . и ..;
  • —author — выводить создателя файла в режиме подробного списка;
  • -b — выводить Escape последовательности вместо непечатаемых символов;
  • —block-size — выводить размер каталога или файла в определенной единице измерения, например, мегабайтах, гигабайтах или килобайтах;
  • -B — не выводить резервные копии, их имена начинаются с ~;
  • -c — сортировать файлы по времени модификации или создания, сначала будут выведены новые файлы;
  • -C — выводить колонками;
  • —color — включить цветной режим вывода, автоматически активирована во многих дистрибутивах;
  • -d — выводить только директории, без их содержимого, полезно при рекурсивном выводе;
  • -D — использовать режим вывода, совместимый с Emacs;
  • -f — не сортировать;
  • -F — показывать тип объекта, к каждому объекту будет добавлен один из специализированных символов */=>@|;
  • —full-time — показывать подробную информацию, плюс вся информация о времени в формате ISO;
  • -g — показывать подробную информацию, но кроме владельца файла;
  • —group-directories-first — сначала отображать директории, а уже потом файлы;
  • -G — не выводить имена групп;
  • -h — выводить размеры папок в удобном для чтения формате;
  • -H — открывать символические ссылки при рекурсивном использовании;
  • —hide — не отображать файлы, которые начинаются с указанного символа;
  • -i — отображать номер индекса inode, в которой хранится этот файл;
  • -l — выводить подробный список, в котором будет отображаться владелец, группа, дата создания, размер и другие параметры;
  • -L — для символических ссылок отображать информацию о файле, на который они ссылаются;
  • -m — разделять элементы списка запятой;
  • -n — выводить UID и GID вместо имени и группы пользователя;
  • -N — выводить имена как есть, не обрабатывать контролирующие последовательности;
  • -Q — брать имена папок и файлов в кавычки;
  • -r — обратный порядок сортировки;
  • -R — рекурсивно отображать содержимое поддиректорий;
  • -s — выводить размер файла в блоках;
  • -S — сортировать по размеру, сначала большие;
  • -t — сортировать по времени последней модификации;
  • -u — сортировать по времени последнего доступа;
  • -U — не сортировать;
  • -X — сортировать по алфавиту;
  • -Z — отображать информацию о расширениях SELinux;
  • -1 — отображать один файл на одну строку.
Это были все основные параметры команды ls, которые нам может когда-либо понадобиться использовать. Их очень много, но на деле будут нужны только некоторые из них, вы их быстро запомните, а все остальные сможете всегда найти в этой статье или на странице справки man ls. А теперь давайте рассмотрим несколько примеров использования команды ls linux.

ИСПОЛЬЗОВАНИЕ LS В LINUX

Как вы уже поняли, ls — это сокращение от list, эта команда представляет из себя аналог команды dir для Linux. Самый простой способ использовать команду, запустить ее без параметров и посмотреть содержимое текущей папки:
ls
Чтобы посмотреть список файлов в папке linux для точно заданной папки, вам нужно указать путь к ней. Например, смотрим содержимое корневой папки:
ls /
Или папки /bin:
ls /bin/
По умолчанию включен цветной вывод, поэтому вы видите столько различных цветов. Например, исполняемые файлы обозначаются салатовым, а ссылки голубым. Теперь посмотрим содержимое домашней папки снова, только на этот раз в виде списка с максимальным количеством информации:
ls -l
Тут вывод уже разделен на отдельные колонки, в первой колонке указаны права доступа к файлу в формате владелец группа остальные. Следующая колонка — это тип файла или папки, дальше владелец и группа, затем размер, дата создания и последний параметр — имя. Если вы еще хотите знать кто создал файл, можно использовать опцию author:
ls -l --author
Колонка создателя будет добавлена после группы. Дальше размер. Он выводится в байтах, килобайтах или еще в чем-то и нам не совсем понятно что там происходит, поэтому добавьте опцию -h чтобы выводить размер в более удобном виде:
ls -lh

Для папок размер выводится не сумой всех размеров всех файлов, а всего лишь то место, которое занимает сама папка, поэтому давайте посмотрим пример с файлами:
ls -l Фото
ls -lh Фото
Если вы хотите видеть скрытые файлы, а в домашней папке их просто море, то используйте опцию -a:
ls -a
Или смотрим скрытые файлы без ссылок на текущую и родительскую папку:
ls -A
Теперь нас будет интересовать сортировка. Сначала отсортируем файлы по размеру:
ls -lSh Фото



Обратите внимание, что файлы расположены от большего к меньшему. Теперь мы можем включить обратный порядок:
ls -lShr
С помощью опции -r мы вывели файлы в обратном порядке. Теперь отсортируем по алфавиту:
ls -lX
Или сортируем по времени последней модификации:
ls -lt

Обратите внимание на колонку времени, действительно, самые новые файлы будут вверху списка. Если вы хотите посмотреть какие метки SELinux присвоены файлу, необходимо использовать опцию -Z:
ls -lZ
Но это возможно только в системах, где установлена надстройка SELinux. Если вы хотите рекурсивно вывести содержимое всех папок, используйте опцию -R:
ls -lR /usr/
Если же вам нужно список папок и файлов в директории через запятую, что можно использовать -m:
ls -m

четверг, 24 августа 2017 г.

КАК ПРОВЕРИТЬ САЙТ WORDPRESS НА ВИРУСЫ

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

ОТКУДА МОЖЕТ ВЗЯТЬСЯ ВРЕДОНОСНЫЙ КОД?

Самый первый вариант, который приходит на ум — вас взломали хакеры и встроили в код вашего сайта свои бэкдоры, чтобы иметь возможность рассылать спам, ставить ссылки и другие плохие вещи. Так иногда случается, но это довольно редкий случай если вы вовремя обновляете программное обеспечение.
Существуют тысячи бесплатных тем для WordPress и различных плагинах и уже здесь может крыться угроза. Одно дело, когда вы скачиваете шаблон с сайта WordPress и совсем другое, когда находите на левом сайте. Недобросовестные разработчики могут встраивать различный вредоносный код в свои продукты. Еще больше риск, если вы скачиваете бесплатно премиум шаблоны, там взломщики уже ничем не рискуя могут добавить какую-нибудь дыру в безопасности, через которую потом смогут проникнуть и сделать то, что им нужно. Вот поэтому так важна проверка wordpress сайта на вирусы.

ПРОВЕРКА WORDPRESS САЙТА НА ВИРУСЫ

Первое к чему нужно обратиться при проверке сайта не вирусы, это плагины WordPress. Быстро и просто вы можете сканировать свой сайт и найти подозрительные участки кода, на которые стоит обратить внимание, будь они в теме, плагине и самом ядре Wodpress. Рассмотрим несколько самых популярных плагинов:

1. TOC

Этот очень простой плагин проверяет все установленные на вашем сайте темы на предмет наличия в них вредоносного кода. Плагин выявляет скрытые ссылки, зашифрованные с помощью base64 вставки кода, а также выводит подробную информацию о найденных проблемах. Чаще всего, найденные части кода — это не вирусы, но они потенциально могут быть опасны, поэтому вам стоит обратить на них внимание.
Откройте «Внешний вид» -> «TAC» затем дождитесь пока все темы будут проверены.

2. VIP SCANNER

Очень похожий на TOC сканер для тем, но выводит больше подробной информации. Те же самые возможности по обнаружению ссылок, скрытого кода и других вредоносных вставок. Просто откройте пункт VIP Scaner в разделе инструменты и анализируйте результат.
Возможно, достаточно удалить лишние файлы, например, desktop.ini. Или же нужно более подробно посмотреть что происходит в файлах использующих base64.

3. ANTI-MALWARE FROM GOTMLS.NET

Этот плагин позволяет не только сканировать темы и ядро сайта на наличие вирусов, но и защищать сайт от перебора паролей и различных XSS, SQLInj атак. Поиск выполняется на основе известных сигнатур и уязвимостей. Некоторые уязвимости можно на месте устранять. Чтобы начать сканировать файлы откройте «Anti-Malvare» в боковом меню и нажмите «Run Scan»:
Перед тем как вы сможете запустить сканирование, нужно обновить базы данных сигнатур.

4. WORDFENCE

Это один из самых популярных плагинов для защиты WordPress и сканирования на наличие вредоносного кода. Кроме сканера, который может найти большинство закладок в коде WordPress, здесь есть постоянная защита от различных видов атак и перебора паролей. Во время поиска плагин находит возможные проблемы с различными плагинами и темами, сообщает о необходимости выполнить обновление WordPress.
Откройте вкладку «WPDefence» в боковом меню, а затем перейдите на вкладку «Scan» и нажмите «Start Scan»:
Сканирование может занять определенное время, но по завершении вы увидите подробный отчет об обнаруженных проблемах.

5. ANTIVIRUS

Это еще один простой плагин, который просканирует ваш шаблон сайта на наличие вредоносного кода. Недостаток в том, что сканируется только текущий шаблон, но информация выводится достаточно подробно. Вы увидите все опасные функции, которые есть в теме и затем можете детально проанализировать представляют ли они какую-либо опасность. Найдите пункт«AntiVirus» в настройках, а затем нажмите «Scan the theme templates now»:

6. INTEGRITY CHECKER

Также желательно проверить целостность файлов WordPress, на случай, если вирус уже записался уже куда-нибудь. Для этого можно использовать плагин Integrity Checker. Он проверяет все файлы ядра, плагинов и шаблонов на изменения. В конце сканирования вы увидите информацию об измененных файлах.

ОНЛАЙН СЕРВИСЫ

Существует также несколько онлайн-сервисов, которые позволяют проверить сайт wordpress на вирусы или проверить только шаблон. Вот некоторые из них:
themecheck.org — вы загружаете архив темы и можете смотреть все предупреждения о возможных вредоносных функциях, которые в ней используются. Вы можете не только смотреть информацию о своей теме, но и о других темах, загруженных другими пользователями, а также о разных версиях темы. Все что находят плагины, может найти и этот сайт. Проверка wordpress темы тоже очень важна.
virustotal.com — всем известный ресурс, где вы можете проверить свой сайт или файл шаблона на вирусы.
ReScan.pro — проверка WordPress сайта на вирусы с помощью этого сервиса бесплатна, выполняется статический и динамический анализ, чтобы обнаружить возможные редиректы сканер открывает страницы сайта. Проверяет сайт по различным черным спискам.
sitecheck.sucuri.net — простой сервис для сканирования сайта и тем на вирусы. Есть свой плагин для WordPress. Обнаруживает опасные ссылки и скрипты.

РУЧНАЯ ПРОВЕРКА

Ничего не может быть лучше чем ручная проверка. В Linux есть такая замечательная утилита grep, которая позволяет искать вхождения произвольных строк в папке с файлами. Осталось понять что мы будем искать:
eval — эта функция позволяет выполнять произвольный php код, ее не используют уважающие себя продукты, если один из плагинов или тема используют эту функцию почти со стопроцентной вероятностью можно сказать, что там есть вирус;
  • base64_decode — функции шифрования могут использоваться вместе с eval, чтобы спрятать вредоносный код, но они могут применяться и в мирных целях, так что будьте внимательны;
  • sha1 — еще один метод шифрования вредоносного кода;
  • gzinflate — функция сжатия, те же цели, вместе с eval, например, gzinflate(base64_decode(код);
  • strrev — переворачивает строку задом не перед, как вариант может использоваться для примитивного шифрования;
  • print — выводит информацию в браузер, вместе с gzinflate или base64_decode опасно;
  • file_put_contents — сам WordPress или плагины еще могут создавать файлы в файловой системе, но если это делает тема, то уже стоит насторожиться и проверить зачем ей это, так могут устанавливаться вирусы;
  • file_get_contents — в большинстве случаев используется в мирных целях, но может использоваться для загрузки вредоносного кода или чтения информации из файлов;
  • curl — та же история;
  • fopen — открывает файл для записи, мало ли для чего;
  • system — функция выполняет команду в системе Linux, если это делает тема, плагин или сам wordpress, скорее всего, там вирус;
  • symlink — создает символические ссылки в системе, возможно, вирус пытается сделать основную файловую систему доступной из вне;
  • copy — копирует файл с одного места в другое;
  • getcwd — возвращает имя текущего рабочего каталога;
  • cwd — изменяет текущую рабочую папку;
  • ini_get — получает информацию о настройках PHP, чаще в мирных целях, но мало ли;
  • error_reporting(0) — отключает вывод любых сообщений об ошибках;
  • window.top.location.href — javascript функция, используемая для редиректов на другие страницы;
  • hacked — так, на всякий случай, проверяем, вдруг, хакер сам нам решил рассказать.
Вы можете подставлять каждое отдельное слово в такую команду:
$ grep -R «hacked» /var/www/путь/к/файлам/wordpress/wp-content/
Или же использовать простой скрипт, который будет искать все слова за раз:
$ values=»base64_decode(
eval(base64_decode
gzinflate(base64_decode(
getcwd();
strrev(
chr(ord(
cwd
ini_get
window.top.location.href
copy(
eval(
system(
symlink(
error_reporting(0)
print
file_get_contents(
file_put_contents(
fopen(
hacked»
$ cd /var/www/путь/к/файлам/wordpress/wp-content/
$ fgrep -nr —include \*.php «$values» *
Вы можете получить определенное количество предупреждений для любой темы или плагина, но немного их проанализировав, вы сможете понять какие опасны, а какие — ложные срабатывания. Утилита выводит все довольно подробно, сразу имя файла, а потом участок кода, который вы ищете, так что вы будете знать где искать вредоносный код wordpress. Это уже пример вредоносного кода: