Программа для linux для сканирования
Одна из областей, в которых отставание Linux от Windows считается значительным и трудно преодолимым, является оптическое распознавание текста. Так как необходимость распознать текст время от времени появляется практически у каждого пользователя компьютера, потребность в программном обеспечении такого рода надо признать актуальной проблемой. В связи с этим недавно я решил потратить немного времени и провести сравнительное тестирование имеющихся систем оптического распознавания текста (OCR), доступных в Linux. Для полноты картины рассматривались как локально устанавливаемые программы, так и онлайновые сервисы.
Методика тестирования
ABBYY FineReader for Linux
В процессе установки программа запросила ключ, после чего благополучно активировалась. Программа имеет множество ключей командной строки, позволяющих гибко настроить параметры распознавания. Я использовал команду вида:
В целом здесь все понятно. Ключи -if и -of задают распознаваемый файл и файл, в который записывается результат работы программы. С помощью -f задается формат вывода. Необходимо отметить, что если в тексте имеются слова на иностранном языке, необходимо обязательно задать его вторым после ключа -rl. В противном случае программа будет пытаться распознать все на русском.
ABBYY Fine Reader Online
Для полноты картины необходимо рассмотреть еще один продукт от ABBYY - онлайновый сервис ABBYY Fine Reader Online . Ранее он позволял после несложной регистрации распознавать бесплатно до 10 страниц в день, теперь же бесплатно можно распознать только три страницы сразу после регистрации, после чего необходимо платить. Минимальный пакет стоит 3$ за 20 страниц. Сервис поддерживает большое количество языков и форматов файлов.
Cuneiform
На второе место по известности среди систем OCR можно смело поставить программу cuniform. Первоначально программа CuneiForm была разработана компанией Cognitive Technologies как коммерческий продукт. CuneiForm поставлялся с некоторыми моделями сканеров. Однако после нескольких лет перерыва разработки, 12 декабря 2007 года анонсировано открытие исходных текстов программы, которое состоялось 2 апреля 2008 года.
По умолчанию в Ubuntu 10.10 доступна достаточно старая версия 0.7. Однако после добавления соответствующего PPA можно стать обладателем версии 1.0. Для Cuneiform написаны два графических интерфейса - YAGF и Cuneiform-Qt .
Для тестирования я использовал версию 1.0.0, установленную из вышеуказанного PPA. Распознавание производилось с помощью команды вида:
В руководстве cuneiform приводится опция --fax, которая включает оптимизацию работы программы для распознавания документов, переданных с помощью факса, однако при ее использовании результат получается хуже, поэтому я не привел его в таблице.
GOCR - это свободная кроссплатформенная система оптического распознавания текстов, работающая из командной строки. Программа пока находится в ранней стадии разработки, поэтому имеет ряд серьезных недостатков (например, распознает только одноколоночный текст). Кроме того, изучение man-страницы показало, что опций, позволяющих задать язык распознавания, программа не имеет, что подтвердилось экспериментом - русский текст gocr пытается распознать как английский. Естественно, в таблицу я данную программу включать не стал.
Ocrad
Tesseract
Tesseract - свободная программа для распознавания текстов, разрабатывавшаяся Hewlett-Packard с середины 1980-х по середину 1990-х. Затем ее разработка была заморожена на 10 лет. В августе 2006 г Google купил её и открыл исходные тексты под лицензией Apache 2.0 для продолжения разработки. В настоящий момент программа уже работает с UTF-8, поддержка языков (включая русский с версии 3.0) осуществляется с помощью дополнительных модулей.
Так как в репозиториях Ubuntu присутствует 2-я версия программы, а русский язык поддерживается только с релиза 3.0.0, программу я собирал из исходных текстов по инструкциям, найденным в сети.
Итак, скачиваем здесь архив с исходными текстами (в моем случае это tesseract-3.00.tar.gz, но с выходом новых версий название может быть другим), распаковываем его и переходим в директорию с исходными кодами.
Для корректной работы tesseract необходим пакет leptonica - ПО с открытым исходным кодом, необходимое для приложений, работающих и анализирующих изображения. Устанавливаем его:
Кроме того, для работы tesseract необходимо установить следующие пакеты: libpng12-dev, libjpeg62-dev, libtiff4-dev, zlib1g-dev, libtool build-essential. Устанавливаем и их, а затем из директории с исходным кодом начинаем конфигурирование и сборку программы:
При подтверждении опций необходимо изменить имя пакета (номер 2) на tesseract-ocr.
Все остальные опции принимаем по умолчанию. В результате будет установлен tesseract 3.0, а также собран deb-пакет, поэтому в следующий раз программу можно будет устанавливать обычным способом с помощью GDebi.
С первого раза программа у меня не собралась, пожаловавшись на отсутствие каталога /usr/local/share/tessdata. После того, как я создал его вручную, процесс завершился благополучно.
Теперь необходимо скачать с сайта программы пакет поддержки русского языка (rus.traineddata.gz), распаковать его и скопировать содержимое архива (а это должен быть один файл rus.traineddata) в директорию /usr/local/share/tessdata/.
Изображения перед распознаванием необходимо прнобразовать в формат tiff.
Для распознавания я использовал команду вида:
Если программа не заработала и возникают ошибки, связанные с отсутствием необходимых библиотек или правами доступа, выполните следующие команды:
Теперь все должно работать.
Для tesseract имеется графический интерфейс tesseract-gui , который тоже надо собирать из исходного кода. У меня он запустился, но распознавать текст почему-то не захотел. Еще есть система OCRopus , которая может использовать движок tesseract. Собственно поэтому я ее отдельно рассматривать не стал.
SILVERCODERS OCR Server
Данная программа представляет собой мощную коммерческую серверную систему распознавания, предназначенную для предприятий и поддерживающую 189 языков, среди них и русский. Она разработана специально для интегрирования в корпоративные системы документооборота. Триальной версии для свободного скачивания нет, поэтому опробовать мне эту систему не удалось.
Free OCR
Free OCR - бесплатный онлайн-сервис для оптического распознавания текста, использующий движок tesseract. Размер загружаемого изображения ограничен 2 Мб. Поддерживаются форматы JPG, GIF, TIFF BMP и PDF (только первая страница, в скором времени обещают поддержку первых 10 страниц). Также, существует лимит на 10 изображений в час.
Сервис распознает множество языков - русский, украинский, английский, немецкий, французский, турецкий, большинство восточноевропейских языков.
img2txt
img2txt - многоязычный онлайн-сервис для оптического распознавания текста. Поддерживаются форматы JPG, PNG, TIFF с размером файла до 2 Мб. В будущем обещают поддержку PDF и DJVU. На Википедии сервис обозначен как коммерческий и проприетарный, однако на самом сайте никакой информации об типе лицензии и используемом движке нет. Мои три тестовые страницы распознались без проблем. Никакой оплаты или хотя бы регистрации не просили.
OnlineOCR
NewOCR
NewOCR - бесплатный OCR сервис, поддерживающий 29 языков распознавания, включая русский. Позволяет загружать файлы в форматах JPEG, PNG, GIF, BMP, многостраничный TIFF размером до 5 Мб, а также многостраничные PDF размером до 20 Мб. Поддерживается многоколоночное форматирование текста.
Кроме того, необходимо отметить, что на рынке имеется еще одна коммерческая система распознавания от компании vividata , однако стоимость этой программы составляет $2400 (!) плюс по $100 за каждый дополнительный язык, отдельная плата, например, за модуль вывода в PDF ($1200) и т.д., поэтому я даже не стал заморачиваться с ее установкой. Ко всему прочему программа видимо очень давно не обновлялась (файлы в установочном архива датируются 2001 годом) и сами разработчики сомневаются в том, что она заработает на современных дистрибутивах. Поэтому тестировать vividata я не стал.
Также я решил включить в таблицу Google Docs, так как эта служба в настоящее время также позволяет производить распознавание русского текста. По имеющимся данным она использует tessract, однако нельзя исключить, что в своем сервисе Google использует какие-нибудь дополнительные наработки, поэтому интересно сравнить ее с остальными.
Результаты сравнительного тестирования систем оптического распознавания
Программа (сервис) | Точность распознавания, % | ||
Образец 1 | Образец 2 | Образец 3 | |
FineReader for Linux | 100% | 100% | 87% |
FineReader Online | 100% | 100% | 94% |
Cuneiform 1.0.0 | 94% | 94% | 17% |
Tesseract 3.0.0 | 97% | 98% | 5% |
Free OCR | 96% | 93% | 61% |
img2txt | 96% | 94% | 24% |
NewOCR | 94% | 94% | 41% |
Google Docs | 93% | 96% | 58% |
Выводы
Результаты, приведенные в таблице, показывают, что при хорошем качестве распознаваемого материала все участвовавшие в тестировании программы обеспечивают высокое качество распознавания, причем снижение разрешения с 300 до 200 dpi практически не влияет на результат. В то же время при распознавании некачественного материала ABBYY Fine Reader явно вырывается вперед, что неудивительно, учитывая ресурсы, задействованные в разработке данного приложения. Однако в целом можно отметить, что широко распространенное суждение о том, что для Linux нет хороших систем оптического распознавания текста, сегодня уже не выдерживает критики.
Для нерегулярного домашнего применения подойдет любая из представленных в обзоре бесплатных систем, а для организации, деятельность которой связана с частым использованием систем распознавания, особенно если дело касается факсов и другого материала посредственного качества, стоит подумать о покупке Fine Reader, тем более, что открытый API позволяет интегрировать его в любую корпоративную систему документооборота.
Несмотря на то, что человечество ещё не может полностью отказаться от использования бумаги, многие люди уже предпочитают сканировать документы и фотографии и работать с ними в электронном формате. Но наличия сканера не достаточно. Вам ещё понадобится программное обеспечение для управления сканером.
Однако у большинства сканеров нет официального программного обеспечения, которое бы работало в операционной системе Linux. Но по большей части это не имеет значения, потому, что для Linux уже существует несколько отличных программ для сканирования документов. Они совместимы со многими сканерами и хорошо справляются со своей задачей. Давайте рассмотрим простые, но гибкие и свободные программы для сканирования в Linux.
Программы для сканирования Linux
1. Simple Scan
Программа Simple Scan - небольшая, быстрая, эффективная и лёгкая в использовании программа. Возможно, вы уже видели её раньше, потому что это программа по умолчанию для сканирования в окружении GNOME, которая используется во многих дистрибутивах.
Сканирование документа или фото выполняется в один клик мышки. После этого вы можете редактировать изображение, вращать его, а потом сохранить в формате JPG или PNG или же в формате документа PDF. Но надо сказать, что программа может работать медленно, даже если вы сканируете документы в не очень высоком разрешении. По умолчанию используются такие параметры: 150 DPI для текста и 300 DPI для фото. Вы можете изменить их в настройках.
2. Skanlite
Skanlite - это альтернатива Simple Scan для KDE. Утилита имеет те же функции, что и Simple Scan, плюс несколько дополнительных настроек. Вы можете оорганизовать автоматическое сохранение обработанных файлов, установить качество сканирования и указать, куда надо сохранять результат. Skanline поддерживает такие форматы: JPEG, PNG,BMP, PPM, XBM и XPM.
Одна из интересных возможностей утилиты - сохранять разные участки отсканированного материала в разные файлы. Это может понадобиться, если вы хотите вырезать часть фото.
3. Gscan2pdf
Ещё одна старая, но популярная программа - gscan2pdf. Несмотря на её возраст, у неё есть несколько функций, которых нет у других программ в этом списке. И в то же время программа достаточно лёгкая. Кроме форматов изобаржения JPEG, PNG и TIFF, утилита позволяет сохранять результат сканирования в PDF и DJVU.
Также вы можете настроить цветной или чёрно-белый режим сканирования, размер бумаги и качество. Отсканированные страницы можно обрезать, вращать или удалять. Все эти функции вместе дают вам широкое пространство для действий.
4. Gimp
Наверное, вы уже знаете Gimp, как мощный графический редактор, но вы можете использовать эту программу и для управления своим сканером. Для этого надо установить программу XSane и плагин Xsane для Gimp. Обе программы доступны в официальных репозиториях. Затем откройте меню Файл -> Создать -> Сканер/Камера.
В этом окне осталось выбрать ваш сканер и нажать кнопку Сканировать. Если такой вариант не работает, вы можете использовать плагин Gimp - QuiteInsane. С помощью любого из плагинов можно сделать из Gimp мощный инструмент для сканирования. Вы даже можете настроить несколько параметров сканирования, например цветной режим или чёрно-белый, а также разрешение сканирования. А дальше можно использовать все возможности Gimp для применения эффектов и фильтров к обработанному материалу.
Выводы
Все выше перечисленные программы для сканирования Linux хорошо работают с большинством сканеров не зависимо от того, подключаются они через USB или через беспроводную связь. Возможно, с некоторыми принтерами или сканерами возникнут проблемы, тогда вам придётся установить официальные драйверы принтера для Linux.
Nmap - это очень популярный сканер сети с открытым исходным кодом, который может использоваться как в Windows, так и в Linux. Программа Nmap или Network Mapper была разработана Гордоном Луоном и на данный момент используется специалистами по безопасности и системными администраторами по всему миру.
Эта программа помогает системным администраторам очень быстро понять какие компьютеры подключены к сети, узнать их имена, а также посмотреть какое программное обеспечение на них установлено, какая операционная система и какие типы фильтров применяются. Функциональность программы может быть расширена за счет собственного скриптового языка, который позволяет администраторам автоматизировать много действий.
Например, с помощью скриптов можно автоматически обнаруживать новые уязвимости безопасности в вашей сети. Namp может использоваться с хорошими и плохими намерениями, будьте аккуратны, чтобы не использовать nmap против закона. В этой инструкции мы рассмотрим как пользоваться namp для сканирования портов в операционной системе Linux. Но сначала нужно попытаться понять как работает эта утилита.
Как работает Nmap?
В компьютерных сетях все подключенные устройства имеют свой ip адрес. Каждый компьютер поддерживает протокол ping, с помощью которого можно определить подключен ли он к сети. Мы просто отправляем ping запрос компьютеру, и если он отзывается, то считаем, что он подключен. Nmap использует немного иной подход. Компьютеры также определенным образом реагируют на те или иные сетевые пакеты, утилита просто отправляет нужные пакеты и смотрит какие хосты прислали ответ.
Утилита nmap в процессе сканирования сети перебирает доступный диапазон портов и пытается подключиться к каждому из них. Если подключение удалось, в большинстве случаев, передав несколько пакетов программа может даже узнать версию программного обеспечения, которые ожидает подключений к этому порту. Теперь, после того, как мы рассмотрели основы, рассмотрим как пользоваться nmap для сканирования портов и сети.
Синтаксис Nmap
Команда запуска Nmap очень проста для этого достаточно передать ей в параметрах целевой IP адрес или сеть, а также указать опции при необходимости:
$ nmap опции адрес
Теперь давайте рассмотрим основные опции, которые понадобятся нам в этой статье.
- -sL - просто создать список работающих хостов, но не сканировать порты nmap;
- -sP - только проверять доступен ли хост с помощью ping;
- -PN - считать все хосты доступными, даже если они не отвечают на ping;
- -sS/sT/sA/sW/sM - TCP сканирование;
- -sU - UDP сканирование nmap;
- -sN/sF/sX - TCP NULL и FIN сканирование;
- -sC - запускать скрипт по умолчанию;
- -sI - ленивое Indle сканирование;
- -p - указать диапазон портов для проверки;
- -sV - детальное исследование портов для определения версий служб;
- -O - определять операционную систему;
- -T5 - скорость сканирования, чем больше, тем быстрее;
- -D - маскировать сканирование с помощью фиктивных IP;
- -S - изменить свой IP адрес на указанный;
- -e - использовать определенный интерфейс;
- --spoof-mac - установить свой MAC адрес;
- -A - определение операционной системы с помощью скриптов.
Теперь, когда мы рассмотрели все основные опции, давайте поговорим о том, как выполняется сканирование портов nmap.
Как пользоваться Nmap для сканирования портов в Linux
Дальше рассмотрим примеры nmap. Сначала давайте рассмотрим как найти все подключенные к сети устройства, для этого достаточно использовать опцию -sL и указать маску нашей сети. в моем случае это 192.168.1.1/24. Маску вашей локальной сети вы можете найти, выполнив команду:
Из вывода для используемого интерфейса возьмите число после слеша, а до слэша укажите ip вашего роутера. Команда на сканирование сети nmap будет выглядеть вот так:
nmap -sL 192.168.1.1/24
Иногда это сканирование может не дать никаких результатов, потому что некоторые операционные системы имеют защиту от сканирования портов. Но это можно обойти, просто использовав для сканирования ping всех ip адресов сети, для этого есть опция -sn:
nmap -sn 192.168.1.1/24
Как видите, теперь программа обнаружила активные устройства в сети. Дальше мы можем сканировать порты nmap для нужного узла запустив утилиту без опций:
sudo nmap 192.168.1.1
Теперь мы можем видеть, что у нас открыто несколько портов, все они используются каким-либо сервисом на целевой машине. Каждый из них может быть потенциально уязвимым, поэтому иметь много открытых портов на машине небезопасно. Но это еще далеко не все, что вы можете сделать, дальше вы узнаете как пользоваться nmap.
Чтобы узнать более подробную информацию о машине и запущенных на ней сервисах вы можете использовать опцию -sV. Утилита подключится к каждому порту и определит всю доступную информацию:
sudo nmap -sV 192.168.1.1
На нашей машине запущен ftp, а поэтому мы можем попытаться рассмотреть эту службу подробнее с помощью стандартных скриптов nmap. Скрипты позволяют проверить порт более детально, найти возможные уязвимости. Для этого используйте опцию -sC и -p чтобы задать порт:
sudo nmap -sC 192.168.56.102 -p 21
Мы выполняли скрипт по умолчанию, но есть еще и другие скрипты, например, найти все скрипты для ftp вы можете командой:
sudo find /usr/share/nmap/scripts/ -name '*.nse' | grep ftp
Затем попытаемся использовать один из них, для этого достаточно указать его с помощью опции --script. Но сначала вы можете посмотреть информацию о скрипте:
sudo nmap --script-help ftp-brute.nse
Этот скрипт будет пытаться определить логин и пароль от FTP на удаленном узле. Затем выполните скрипт:
sudo nmap --script ftp-brute.nse 192.168.1.1 -p 21
В результате скрипт подобрал логин и пароль, admin/admin. Вот поэтому не нужно использовать параметры входа по умолчанию.
Также можно запустить утилиту с опцией -A, она активирует более агрессивный режим работы утилиты, с помощью которого вы получите большую часть информации одной командой:
sudo nmap -A 192.168.1.1
Обратите внимание, что здесь есть почти вся информация, которую мы уже видели раньше. Ее можно использовать чтобы увеличить защиту этой машины.
Выводы
В этой статье мы рассмотрели как выполняется сканирование портов nmap, а также несколько простых примеров использования этой утилиты. Эти команды nmap могут быть полезными многим системным администраторам, чтобы улучшить безопасность их систем. Но это далеко не все возможности утилиты. Продолжайте экспериментировать с утилитой чтобы узнать больше только не в чужих сетях!
Раньше мы уже говорили о вирусах в Linux. Большинство людей считают, что вирусов в Linux нет и кое в чем они правы. Ведь вредоносных программ, которые сами могли бы распространятся по системе и заряжать другие компьютеры в сети минимум. Известные широкой общественности программы такого рода для Linux можно сосчитать на пальцах. Но есть и другой тип угроз, более характерный для Linux. Это руткиты, программы которые устанавливаются вручную и скрывают свою деятельность в системе.
Эти программы могут предоставлять установившему их человеку полный доступ к вашей системе, вычислительным ресурсам и данным. Не стоит недооценивать эту опасность. Если ваш компьютер подключен к интернет без использования локальной сети (роутера) и без технологии NAT, то обратится к нему может любой человек из сети провайдера. Для этого даже не обязательно знать ваш IP адрес. Злоумышленник может просто перебирать все адреса в своей подсети и если на вашем компьютере или сервере окажется искомая им уязвимость, например слабый пароль ssh или любая другая уязвимость в системном сервисе программная или недостаток настройки - ваш компьютер будет взломан.
Проверка Linux на вирусы
Чтобы понять не подключался ли кто к вашему компьютеру, вы можете посмотреть содержимое файла /var/log/audit.log или /var/log/secure.
tail -f /var/log/secure
Здесь фиксируются все события в системе, в том числе неудачные попытки входа по ssh. Я был удивлен когда увидел что мой пароль пытались подобрать. Также можно посмотреть логи сервиса sshd с помощью journalctl:
sudo journalctl _SYSTEMD_UNIT=sshd.service
Ну а если уже хакер получит доступ к вашей системе, тут у него уже много вариантов для действий - всплывают все уязвимости в системных библиотеках и ядре, которые можно использовать для обхода защитных механизмов Linux и повышения привилегий в системе. Поэтому не лишним будет следить за актуальностью своего программного обеспечения, в новом ПО скорее всего, уже закрыли известные уязвимости, а также иногда проверять компьютер специальной программой для поиска руткитов. В этой статье мы рассмотрим как проверить компьютер на вирусы в Linux.
Для поиска руткитов мы будем использовать утилиту rkhunter или RootkitHunter, а также chkrootkit. Мы рассмотрим как ее установить и настроить для правильной проверки. Вообще, я больше склоняюсь к первой, она новее и имеет больше функций.
Поиск вирусов с помощью RkHunter
RkHunter (Rootkit Hunter) - это инструмент для сканирования системы Linux / Unix с открытым исходным кодом, выпущенный под лицензией GPL. Утилита выполняет сканирование Linux на предмет руткитов, бекдоров, локальных эксплойтов и уязвимостей. На данный момент известно 349 руткитов, и всех их программа может найти, если они были установлены в вашей системе. Программа - всего лишь скрипт, позволяющий проверить локальные файлы, и обнаружить известные руткиты. Также выполняется проверка изменения системных команд, файлов запуска, а также проверка сетевых интерфейсов, на предмет прослушивания определенных портов.
Установить программу в Ubuntu можно командой:
sudo apt install rkhunter
В CentOS надо выполнить такую команду:
sudo yum install rkhunter
Если у вас другой дистрибутив, вы всегда скачать установочный скрипт на SourceForge:
tar -xvf rkhunter-1.4.2.tar.gz
cd rkhunter-1.4.2
./installer.sh --layout default --install
Перед тем как будет выполнена проверка linux на вирусы, необходимо обновить базу данных утилиты. Для этого выполните:
Теперь необходимо собрать информацию о файлах в системе, это нужно, чтобы программа могла понять пытался ли кто модифицировать системные файлы при следующей проверке. Для этого выполните:
Обновление желательно выполнять регулярно, поэтому давайте создадим специальный скрипт и будем запускать его с помощью cron каждый день. Для этого создайте файл скрипта в папке /etc/cron.daily:
Теперь осталось только дать программе права на выполнение:
chmod 755 /etc/cron.daily/rkhunter.sh
С установкой программы разобрались. Сначала давайте рассмотрим основные опции программы которые мы уже использовали, или которые вам могут пригодится:
- --verbose-logging - максимально подробный вывод
- --quiet - минимум информации в выводе
- -l, --logfile - записать лог программы в свой файл
- --cronjob - не интерактивный режим проверки, используется для запуска с помощью cron, отсюда и название.
- --list - позволяет посмотреть какие возможности проддерживает программа, можно передать несколько параметров, test - тесты, lang - языки, rootkits - руткиты.
- --unlock - удаляет файл блокировки базы данных, может быть полезна если предыдущий сеанс работы с программой был завершен некорректно.
- --check - проверка системы
- --update - обновление баз руткитов
- --versioncheck - обновление программы
- --propupd - создать базу данных файлов
Например, чтобы посмотреть все руткиты, которые может найти программа выполните:
sudo rkhunter --list rootkits
Для того чтобы проверить Linux на вирусы всю систему выполните от суперпользователя:
Программа кроме вывода информации на экран, создаст лог проверки. На информацию выводимую во время проверки не обращайте большого внимания, она немного урезана все станет более понятнее при просмотре лога.
К сожалению программа работает только на английском, поэтому, чтобы понять в каком состоянии ваша система вам придется немного понимать английский.
Чтобы вам было более понятно что делает программа и как анализировать ее результаты, давайте рассмотрим лог сканирования.
Сначала программа инициализируется и загружает конфигурационные файлы, здесь нет ничего интересного. Заметьте, что мы рассматриваем лог проверки системы, логи обновления и создания базы данных, они находятся выше в этом же файле, нас не интересуют. Проверка системы начинается с этих срок:
Программа сканирует системные утилиты и пытается выявить там подозрительные признаки, в том числе проводится сравнение хеша утилиты с хешем сохраненным в базе данных, чтобы понять не была ли она изменена. Обычно если с утилитами все хорошо лог заполнен такими строками:
Также выполняется проверка параметров файлов, например если файл должен быть бинарным, а он скрипт, то это не порядок:
При обнаружении подозрительного файла программа тут же объясняет в чем с ним проблема. Возможно это ложное срабатывание, однако эти файлы вам стоит проверить или можно переустановить пакеты, которым они пренадлежат.
Дальше будет выполнена проверка Linux на вирусы с поиском известных руткитов:
Обычно, если в этом разделе что-то обнаружено, то это значит, что в системе есть руткит и с этим нужно что-то делать, но обычно мы видим строки Not found (не найдено):
Дальше будет запущен поиск нежелательного программного обеспечения:
Проверка опасных портов:
На этапе проверки конфигурационных файлов мы тоже получаем предупреждение:
Но здесь видно, что проблема не в вирусе, а в том, что программе просто нет с чем сравнивать.
Дальше выполняется проверка настроек системы, и здесь тоже программе не все нравится:
А именно две вещи - разрешенный root доступ по ssh и возможность использовать протокол первой версии для подключения к ssh. И она права, это очень небезопасно.
Дальше будет выполнено сканирование файловой системы:
И обнаружено несколько скрытых файлов, но все они, похоже, хорошие. Вы можете отследить какая программа работает с определенным файлом с помощью команды lsof:
sudo lsof | grep /адрес/файла
Осталась проверка приложений:
[12:16:25] Info: Starting test name 'apps'
[12:16:25] Checking application versions..
И небольшой отчет о найденных проблемах:
Для удобства просмотра лога вы можете не смотреть его полностью, а выбрать только предупреждения:
sudo cat /var/log/rkhunter.log | grep -A5 "\[ Warning \]"
Параметр A5 означает показывать еще пять строк после строки с обнаруженным вхождением, так мы точно ничего не пропустим.
Теперь давайте рассмотрим еще одну программу с помощью которой может быть выполнена проверка Linux на руткиты. Это chkrootkit. Она мнение функциональна, но тоже хорошо делает свое дело.
Поиск вирусов с помощью Chkrootkit
Chkrootkit - это классический инструмент позволяющий не только искать руткиты Linux, но и проверять систему на признаки чужого присутствия. Программа просканирует ваш компьютер или сервер на наличие подозрительных процессов, руткитов и проверит список известных руткитов. Функциональность программы очень похожа на Rkhunter.
Программа состоит из нескольких отдельных утилит:
- chkrootkit - скрипт для проверки системы;
- ifpromisc - сканирование интерфейсов на предмет неразборчивого режима;
- chklastlog - проверить лог lastlog на предмет удаления записей;
- chkwtmp - проверка лога wtmp на предмет удаления записей;
- chkproc - поиск троянских программ и скрытых файлов в подсистеме proc.
Установить программу в Ubuntu можно с помощью команды:
sudo apt install chkrootkit
Если у вас другой дистрибутив, то вы можете собрать программу из исходников:
В CentOS вам понадобится установить такие библиотеки перед сборкой:
yum install gcc-c++ glibc-static
Команды выполняются без параметров. Достаточно запустить нужную утилиту чтобы найти руткиты linux:
Лог программы немного похож на предыдущую, поэтому мы не будем его отдельно разбирать. Здесь сначала выполняется проверка системных команд, более ограниченная чем в rkhunter, затем поиск руткитов linux.
Аналогично вы можете выполнить другую утилиту, чтобы проверить на модификацию lastlog:
Но, возможно придется создать символическую ссылку на lastlog, чтобы программа смогла его найти.
Выводы
Оригинал: 5 Scanning Tools for Linux Desktop
Автор: Martins D. Okoi
Дата публикации: 6 декабря 2018 года
Перевод: А. Кривошей
Дата перевода: июнь 2019 г.
Судя по информации, которую я собрал на форумах, работать со сканерами в Linux не очень приятно. Но так быть не должно, потому что на самом деле есть эффективные опции для сканера, которые вы можете легко настроить на своем компьютере.
Именно по этой причине мы представляем вам наш список 5 утилит для сканирования в Linux. Все они бесплатные и с открытым исходным кодом.
1. XSane
XSane - это приложение, которое позволяет управлять сканерами с помощью библиотеки SANE (Scanner Access Now Easy). Это самая многофункциональная утилита для сканирования в этом списке, так что вы можете просто остановиться здесь.
Он даже может работать со сканерами, которые были разработаны для систем Mac и Windows, благодаря тому, что она сама не поддерживает сканеры, но работает с любым сканером, поддерживаемым библиотекой SANE. Вы можете использовать ее для сканирования файлов, создания фотокопий, создания факсов и в качестве плагина GIMP.
2. Skanlite
Skanlite - это легкая утилита для сканирования, которую с любовью используют в сообществе KDE.
Его функции включают в себя сохранение изображений в форматах JPG, PNG, PPM, XPM, XBM и BMP, автосохранение, предварительную настройку качества сканирования, и возможность сохранения частей отсканированных документов в виде отдельных файлов.
3. Gscan2pdf
Gscan2pdf - это приложение с графическим интерфейсом, которое позволяет сканировать документы и сохранять их в файлах PDF и DjVu.
Оно совместимо практически со всеми дистрибутивами Linux и предлагает несколько функций редактирования, таких как извлеченние встроенных изображений в PDF, вращение, повышение резкости изображений, выбор страниц для сканирования, выбор стороны для сканирования, цветовой режим, разрешение и т. д.
Gscan2pdf также поддерживает OCR (оптическое распознавание символов) и множество функций, которые доступны из терминала, если вам нужна дополнительная функциональность.
4. Simple Scan
Simple Scan - это легковесная утилита для сканирования со множеством функций редактирования. Она позволяет сканировать документы одним нажатием кнопки, поворачивать и/или обрезать изображение и сохранять его в формате JPG, PNG или PDF.
По умолчанию она использует разрешение 300 точек на дюйм для фотографий и 150 точек на дюйм для текста - настройки, которые вы можете изменить в меню настроек.
Simple Scan - это приложение для сканирования по умолчанию во многих дистрибутивах Linux, включая рабочий стол GNOME, поэтому вы оно может быть уже установлено у вас.
5. GIMP с Quitelnsane
Как вы правильно поняли, GIMP способен работать с вашим сканирующим устройством, все, что вам нужно сделать, это установить Quitelnsane.
Quitelnsane - это графический интерфейс для SANE (Scanner Access Now Easy), и вы можете использовать его с GIMP для сканирования документов и их простого редактирования перед сохранением в предпочитаемом формате.
Существуют также альтернативы, такие как VueScan и TurboPrint Control, но они не являются ни бесплатными, ни открытыми. Существуют ли инструменты сканирования, достойные этого списка, которые мы пропустили? Не стесняйтесь писать свои мысли в разделе комментариев ниже.
Читайте также: