• Новости и статьи

Ищем руткиты в Ubuntu

Уже не для многих является секретом тот факт, что Linux — это очень стабильная и безопасная операционная система. Подтверждение тому переход многих компаний и структур на эту «ось». Как пример могу привести Приват Банк, Fiat, Google, Panasonic, Virgin America, Amazon, Министерство обороны США, Deutsche Bahn, Hundai, BMW, Volvo, PayPal, Singapore Airlines и многие другие. Данный список слишком большой, чтобы его продолжать. Но разговор не о том. С ростом данной системы на нее начали обращать внимание взломщики и хакеры, ища  уязвимости системы. Самыми опасными являются руткиты, меньшую опасность представляют вирусы и трояны. В данной статье я опишу некоторые инструменты для поиска rootkit.

Утилита chkrootkit

Chkrootkit это набор инструментов, которые призваны для поиска руткитов в системе. Она может находить почти все существующие современные руткиты. Система сканирования Chkrotkit постоянно улучшалась, в результате чего увеличивалась скорость сканирования, что очень полезно во время глубоких проверок системы на наличие известных руткитов. Утилита может находить больше 60 устаревших и современных rootkit, умеет определять сетевые интерфейсы в promiscous-режиме (это «неразборчивый» режим, в котором сетевая плата может принимать абсолютно все пакеты, не смотря на то, для кого они были адресованы.), умеет очень эффективно находить измененные файлы lastlog и wtmp (это файлы, сообщающие сисадминам о вторжениях в систему). Chkrootkit — это консольная утилита с понятными параметрами, которая создает подробные результаты исследования системы.

Чтобы установить chkrootkit в систему. нужно выполнить следующую команду в Терминале:

sudo apt-get install chkrootkit

Для запуска утилиты нужно выполнить команду:

sudo chkrootkit

В итоге будет сделан поиск руткитов в системе и выдан список полученного результата. Утилита сама не удаляет найденные подозрительный файлы, поэтому вы должны сами сделать более глубокий анализ, изучив подозрительных клиентов, а потом решить, что с ними делать. Для более гибкого управления chkrootkit рекомендуется применять нужные ключи программы.

Параметры:

-h        Справочная информация о программе
-V        Версия программы
-l        Все поддерживаемые типы проверок
-d        Подробная информация (режим отладки)
-q        Минимальный вывод информации (будет выводится информация только о подозрительных файлах)
-x        Режим эксперта (вывод всех действий программы)
-r        Указать директорию, которая будет использоваться в качестве корневой

Для сохранения подозрительных файлов в текстовый файл нужно выполнить команду:

sudo chkrootkit -q > chkrootkit.txt

В итоге в Домашнем каталоге появится файл chkrootkit.txt, который можно будет проанализировать самому, либо отправить по почте или на специализированный форум. Используя системную утилиту cron можно автоматизировать проверку системы.

Утилита rkhunter

Простая, но эффективная консольная программа для обнаружения rootkits и malware в системе. Утилита также проверяет и выявляет изменения в установленных приложениях, в системных файлах запуска, а также производит разные проверки для утилит и программ, «слушающих» на сетевых интерфейсах сервера. Другими словами — это анти шпион для Linux.

Установим программу командой в Терминале:

sudo apt-get install rkhunter

Теперь обновим базы сигнатур:

sudo rkhunter --update

Теперь можно запустить сканирование:

sudo rkhunter --check

Наберитесь терпения и ждите окончания проверки. Во время сканирования несколько раз вас попросят нажать клавишу Enter. Также можно добавить утилиту в cron и к примеру производить сканирование системы каждый день в 23-00. Добавим задание в crontab. Как добавлять задания в crontab я уже писал в одной из своих статей.

0 23 * * * sudo rkhunter —update; sudo rkhunter —check

Rkhunter, как и chkrootkit, не удаляет найденные угрозы, а просто выдает отчет о сканировании.
В заключении хочу сказать, что мы имеем два неплохих инструмента для безопасности своей системы. Linux не Linux, но как говориться — лучше перебдеть, чем недобдеть. Всем удачи!

Выпущены драйверы сканеров Fujitsu SP под Linux

Филиал Fujitsu — PFU — анонсировал драйверы сканеров Fujitsu SP (SP-1120, SP-1125, SP-1130) под операционные системы на базе Linux. К сожалению, даже в 2016 году, бинарные драйверы — это всё, что мы имеем, касательно принтеров и сканеров.

Продовжити

Визуализация атак на базе ELK (elasticsearch, kibana, logstash)

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

В качестве централизованного сбора логов используется rsyslog, а для структурирования и визуализации elasticsearch + kibana. Все бы ничего, но когда количество подключенных машин разрастается, то данных настолько много, что уходит (уходило) большое количество времени на их обработку и анализ. Наряду с другими интересными штуками всегда хотелось организовать свой центр безопасности. Этакая мультимониторная статистика с картами, графиками и прочим.

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

Так как у нас уже есть развернутый elastic с kibana, то будем на его базе и городить нашу систему.

Итак, у нас уже есть установленный докер и docker-compose, значит будем поднимать сервисы на нем.

elastic:

elasticsearch:
  build: elasticsearch:2.3.4
  container_name: elastic
  command: elasticsearch -Des.network.host=0.0.0.0
  net: host
  ports:
    - "9200:9200"
    - "9300:9300"
  volumes:
    - "/srv/docker/elastic/etc:/usr/share/elasticsearch/config"
    - "/srv/docker/elastic/db:/usr/share/elasticsearch/data"
    - "/etc/localtime:/etc/localtime:ro"
  restart: always
  environment:
    - ES_HEAP_SIZE=2g

/srv/docker/elastic/elasticsearch.yml:

cluster.name: Prod
node.name: "central-syslog"
http.port: 9200
network.host: _non_loopback_
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: [
 ]
transport.publish_host: 0.0.0.0
#transport.publish_port: 9300
http.cors.enabled : true
http.cors.allow-origin : "*"
http.cors.allow-methods : OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type, Content-Length
script.engine.groovy.inline.aggs: on

/srv/docker/elastic/logging.yml:

logger:
  action: DEBUG
  com.amazonaws: WARN
appender:
  console:
    type: console
    layout:
      type: consolePattern
      conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"

kibana:

kibana:
  image: kibana
  restart: always
  container_name: kibana
  environment:
    SERVICE_NAME: 'kibana'
    ELASTICSEARCH_URL:  "http://x.x.x.x:9200"
  ports:
    - "4009:5601"
  volumes:
    - "/etc/localtime:/etc/localtime:ro"

logstash:

logstash:
 image: logstash:latest
 restart: always
 container_name: logstash
 hostname: logstash
 ports:
  - "1025:1025"
  - "1026:1026"
 volumes:
  - "/srv/docker/logstash/logstash.conf:/etc/logstash.conf:ro"
  - "/srv/docker/logstash/ssh-map.json:/etc/ssh-map.json:ro"
 command: "logstash -f /etc/logstash.conf"

Итак. Мы запустили эластик и кибану, но осталось подготовить логстеш к обработке логов от внешних серверов. Я реализовал вот такую схему:

rsyslog → logstash → elastic → kibana.

Можно было бы использовать встроенный в rsyslog коннектор напрямую в эластик, но нам нужны данные по полям и с geoip для статистики.

На серверах, подключаемых к мониторингу вносим в конфиг rsyslog (обычно это /etc/rsyslog.d/50-default.conf) вот такую запись:

auth,authpriv.*                 @@x.x.x.x:1026

Этой записью мы отправляем все события об авторизации на наш удаленный сервер (logstash).

Далее, полученные логстешем логи нам нужно обработать и оформить. Для этого создаем маппинг полей, чтобы на выходе нам было удобно работать (/srv/docker/logstash/ssh-map.json):

{
        "template": "logstash-*",
        "mappings": {
                "ssh": {
                        "properties": {
                                "@timestamp": {
                                        "type": "date",
                                        "format": "strict_date_optional_time||epoch_millis"
                                },
                                "@version": {
                                        "type": "string"
                                },
                                "username": {
                                        "type": "string"
                                },
                                "src_ip": {
                                        "type": "string"
                                },
                                "port": {
                                        "type": "long"
                                },
                        }
                }
        }
}

В ходе создания маппинга столкнулся с одним багом логстеша, а именно присвоению полю значения geo_point (при создании своего индекса выставляется значение у geoip.location — float), по которому в дальнейшем будет строиться heatmap на карте. Баг этот зарегистрирован и в качестве workaround мне пришлось использовать шаблон стандартных индексов logstash-*.

Итак, маппинг у нас есть. Теперь нужно подготовить конфиг logstash, чтобы он фильтровал входящие данные и в нужном формате отдавал в эластик (/srv/docker/logstash/logstash.conf):

input {
   tcp {
        port => 1026
        type => "security"
   }
}

filter {
  grok {
    match => ["message", "Failed password for (invalid user |)%{USERNAME:username} from %{IP:src_ip} port %{BASE10NUM:port} ssh2"]
    add_tag => "ssh_brute_force_attack"
  }
  grok {
    match => ["message", "Accepted password for %{USERNAME:username} from %{IP:src_ip} port %{BASE10NUM:port} ssh2"]
    add_tag => "ssh_sucessful_login"
  }
  geoip {
    source => "src_ip"
  }
}
output {
   if "ssh_brute_force_attack" in [tags] {
         elasticsearch {
                hosts => ["x.x.x.x:9200"]
                index => "logstash-%{+YYYY.MM.dd}"
                manage_template => true
                template_name => "ssh"
                template => "/etc/ssh-map.json"
                template_overwrite => true
         } 
   }
}

Конфиг удобочитаемый, понятный, поэтому комментировать считаю излишним.

Итак. Логи ссш попадают в логстеш, он их обрабатывает и отправляет в индексы эластика. Осталось только настроить визуализацию:

— Открываем веб интерфейс по адресу x.x.x.x:4009/
— Переходим в Settings и добавляем работу с нашими индексами (logstash-*)

Далее нам нужно в kibana создать поисковые запросы, визуализацию и дашборд.

Во вкладке Discover после добавления индексов в kibana мы видим наши записи — все настроили верно.

В левой колонке мы видим список полей для фильтрации, с ними и будем работать.

Первым фильтром пойдет список атакуемых серверов:

— около поля host нажимаем add
— сохраняем поиск как ssh-brute-servers-under-attack (имя вариативно)

Вторым фильтром будет список атакующих стран:

— около поля geoip.country_name нажимаем add
— сохраняем как ssh-brute-countries (имя вариативно)

Третьим фильтром будет общее количество атак:

— переходим на вкладку Discovery
— сохраняем как ssh-brute-all

Итак, на финальном экране у нас будет отображаться четыре разных параметра:

1. Суммарное количество атак
2. Атакующие страны
3. Атакуемые серверы
4. Карта с указателями на атакующие хосты

Суммарное количество атак:

— переходим на вкладку Visualize
— выбираем тип визуализации Metric
— From saved search — ssh-brute-all
— Открываем Metric и меняем значение поля на — Суммарное количество атак
— Сохраняем визуализацию

Атакующие страны:

— переходим на вкладку Visualize
— выбираем тип визуализации Data table
— From saved search — ssh-brute-countries
— Открываем Metric и меняем значение поля на — Количество атак
— Теперь нам нужно соотнести поля и посчитать в таблице «уники». Нажимаем split rows
— Aggregation — terms
— Field — geoip.country_name.raw
— Custom label — Страна

Если все ввели верно, то загорится зеленая кнопка play, после нажатия на которую увидим примерно такую картину:

image

— Сохраняем визуализацию

Атакуемые серверы:
— переходим на вкладку Visualize
— выбираем тип визуализации Data table
— From saved search — ssh-brute-servers-under-attack
— Открываем Metric и меняем значение поля на — Количество атак
— Теперь нам нужно соотнести поля и посчитать в таблице «уники». Нажимаем split rows
— Aggregation — terms
— Field — host.raw
— Custom label — Сервер

Если все ввели верно, то загорится зеленая кнопка play, после нажатия на которую увидим примерно такую картину:

image

— Сохраняем визуализацию

Карта с указателями на атакующие хосты (самое интересное)

— переходим на вкладку Visualize
— выбираем тип визуализации Tile map
— From new search — Select an index pattern — logstash-*
— Открываем Geo Coordinates. Если все шаги были верными, автоматически поле Field заполнится geoip.location
— Переходим в Options
— Меняем хостинг карт (так как у MapRequest изменились условия и нужно получать токен и дополнительно что-то делать). Ставим галку в — WMS compliant map server
— Приводим все поля к параметрам:

WMS Url — basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer
WMS layers* — 0
WMS version* — 1.3.0
WMS format* — image/png
WMS attribution — Maps provided by USGS
WMS styles* — пусто

В итоге у нас должна отобразиться карта атак:

image

— Сохраняем визуализацию

Теперь у нас всё есть для того, чтобы сделать свой дашборд.

Переходим на вкладку Dashboard, нажимаем на Add visualization (плюс в круге справа сверху) и добавляем свои сохраненные визуализации на экран и сохраняем экран. Поддерживается Drag'n'Drop. В итоге у меня получился вот такой экран:

image

Теперь для подключения новых хостов к системе достаточно будет указывать у них передачу логов авторизации на сервер logstash и при возникновении событий хосты и информация будут добавляться на экран и в эластик.

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

Виды USB разъемов

Универсальная последовательная шина (Universal Serial Bus) или же просто USB — это промышленный стандарт, разработанный в середине 1990 годов для того, чтобы стандартизировать подключение периферии к компьютеру. Он заменил большинство интерфейсов и теперь является самым распространенным типом разъемов для потребительских устройств.

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

Различные типы USB

У многих мог сейчас назреть вопрос: «Если USB должен быть универсальным, то почему он имеет большое количество типов?». Дело в том, что все эти типы USB разъемов выполняют различные функции. Это помогает обеспечить совместимость в случае выпуска устройства с улучшенными характеристиками. Давайте рассмотрим наиболее распространенные виды USB портов.

  • Type-A — большинство кабелей имеют на одном конце коннектор этого типа USB, туда же относятся и кабели современных клавиатур и мышей. Этим же типом USB комплектуются персональные компьютеры и зарядные устройства;
  • Type-B — это порт используется для подключения принтеров и других периферийных устройств к компьютеру. Но в настоящее время он не распространен так, как распространен USB Type-A;

  • Mini USB — это был стандартный разъем для мобильных устройств до появления Micro USB. Этот разъем меньше стандартного, что и можно понять по его названию. Этот тип разъемов тоже немного устарел и был заменен Micro USB, но это не означает, что такие виды USB нигде нельзя найти;
  • Micro USB — на данный момент является стандартом для портативных устройств. Его приняли все крупные производители мобильных устройств, за исключением Apple. Но Micro USB постепенно начинают заменять на USB Type-C. Кстати, существуют различные виды Micro USB разъемов, но об этом поговорим чуть позже;
  • Type-C — такой кабель может иметь на обоих концах один и тот же коннектор. Заявлена более высокая скорость передачи данных и более высокая мощность по сравнению с предыдущими стандартами USB. Такой разъем использовала компания Apple для Thunderbolt 3. О USB Type-C мы поговорим чуть позже;

  • Lightning — не относится к стандарту USB, но является фирменным интерфейсом для мобильной продукции Apple с сентября 2012 года. Устройства же до этого времени использовали менее компактный 30-pin проприетарный разъем.

USB 3.0

Новый стандарт обеспечивает более высокую скорость передачи данных и при этом имеет обратную совместимость со старым стандартом. По форме USB 3.0 и USB 2.0 Type-A одинаковы, просто новый стандарт окрашен в синий цвет, чтобы отличить USB 3.0 от 2.0.

Но увеличение скорости будет только в том случае, когда разъем, куда вставляется кабель или флеш-накопитель должен быть USB 3.0, и сам кабель или флеш-накопитель должен иметь коннектор USB 3.0.

Также кроме USB 3.0 Type-A существуют и другие типы разъемов USB 3.0. Type-B и его Micro версия имеют дополнительные контакты, чтобы обеспечить более высокую скорость передачи данных, что разрушает совместимость этих разъемов со старыми версиями, но старые USB 2.0 устройства можно подключить в новые USB 3.0 разъемы, но прироста скорости вы не получите.

Micro USB

Если у вас есть Android устройство, то вам нужно иметь Micro USB кабель. Даже самые ярые фанаты Apple не могут избежать этого типа разъемов в портативных аккумуляторах, колонках и другом.

Также имеются деления на типы разъемов Micro USB. В основном используется Micro USB Type-B, Type-A особо не распространен, да и я его в реальной жизни никогда не видел. То же самое относится и к Mini USB.

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

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

Также определитесь с длиной кабеля. В поездке короткий кабель удобен, но дома с таким вы будете сидеть на полу возле розетки. Длинный же кабель будет запутываться и всячески мешать вам. Для портативного аккумулятора у меня кабель длиной в 35 сантиметров, а кабель для зарядки смартфона дома длиной в 1 метр.

USB On-The-Go

USB On-The-Go (USB OTG) — это относительно новый стандарт, позволяющий вставлять в портативные устройства флеш-накопители, предназначенные для других USB интерфейсов, кабели, чтобы заряжать что-либо от аккумулятора вашего портативного устройства и так далее. USB OTG поддерживает не только USB Type-A, но и другие виды USB портов.

А теперь представьте, что у вас есть внешний жесткий диск, смартфон и ноутбук. Какие действия вы выполните для того, чтобы переместить какой-либо файл с внешнего жесткого диска на ваш смартфон? Самый простой способ — это сначала переместить файл с внешнего жесткого диска на ноутбук, а с него на смартфон.

А теперь представьте, что вы имеете USB OTG переходник. Просто вставьте переходник в смартфон, а в него кабель от внешнего жесткого диска. Необходимость в ноутбуке отпадает. Удобно?

К сожалению, не все устройства поддерживают USB On-The-Go, так что перед покупкой переходника советую вам проверить ваше устройство на поддержку USB OTG.

Переходники для Lightning существуют и они даже с версии iOS 9 везде работают, но называть это OTG как-то не особо хочется.

USB Type-C

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

В 2015 году компания Apple потрясла весь мир, выпустив MacBook с одним USB Type-C разъемом. Это может быть началом тенденции.

Сейчас существует немало устройств с USB Type-C разъемом. Для подключения к компьютеру стоит использовать USB Type-C — USB Type-A кабель, если у вас нет такого же разъема в компьютере.

Покупать дешевые USB Type-C кабели не стоит, совсем не стоит. Очень просто убить ваше устройство. К тому же по такому кабелю проходят большие токи, так что некачественный кабель еще и приведет к пожару. Не жалейте денег на качественный кабель.

Источник: losst.ru

Виды свободных лицензий ПО

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

Мы склонны называть все продукты с открытым исходным кодом одним термином, считать их одной категорией. Так удобнее, но это всего лишь упрощение. Фундаментальная концепция открытого кода понятна всем, но права, обязанности и привилегии сторон интерпретируются по-разному. Это отражается на лицензиях свободного ПО. В этой статье мы рассмотрим основные виды свободных лицензий, а также насколько они популярны.

Виды свободных лицензий ПО

Одна из самых распространенных лицензий программного обеспечения — лицензия GNU GPL. Ее суть во взаимности. Лицензия требует, чтобы если код был изменен, то все изменения были обязательно опубликованы и доступны всем. Это называется копилефт. Но есть другие типы лицензии, которые строятся вокруг свободы для разработчика. Такие лицензии накладывают минимальные ограничения на пользователей и не требуют взаимности от разработчиков. Оба типа лицензий свободны, разница только в том, что именно остается свободным.

За последние десятилетие более чем две трети проектов с открытым исходным кодом распространяются под лицензией GPL. Можно предположить, что это лицензия по умолчанию, но все же на протяжении последних лет эта лицензия теряет популярность, а вместо нее начинают использоваться разрешающие лицензии.

Если сравнить долю каждой из лицензий по рейтингу Black Duck в этом месяце, по сравнению с январем 2010, то различие вполне очевидно:

В этом рейтинге самой популярной остается GPLv2, но она потеряла больше половины своей популярности, от 46% до 19%. За этот же период разрешительная лицензия MIT выросла от доли 8% до 29%. Apache License 2.0 выросла с 5% до 15%.

Можно предположить, что если в 2007 мы говорили о свободном по, то имели в виду копилефт лицензию GPL, тогда как сейчас фоукс сместился в сторону разрешающих MIT и Apache. Это не означает, что копилефт лицензии становятся менее важными, просто в наше время разработчикам больше нравятся разрешающие лицензии. Вот какие выводы мы можем сделать из этого графика:

Консолидация. Это топ 10 лицензий по популярности за 2010 и 2016 год, все, кроме трех из них, снизились в популярности. Больше всего снизилась лицензия GPL, а выросли Apache и MIT, это уже обсуждалось. Но примечательно, что достаточно популярная лицензия BSD, наоборот, снизилась. Та же тенденция у лицензии ISC. Сейчас только несколько лицензий являются самыми популярными и, возможно, скоро мы будем видеть консолидацию между несколькими лицензиями.

Бинарный выбор. Исторически так сложилось, что у вас есть три основных варианта выбора лицензии: копилефт, разрешающая и среднее положение. К средним лицензиям можно отнести  LGPLv2.1 (4), LGPLv3 (2), EPL (1), MPLv1.1 (<1), CDDL (<1) и CDDLv1.1 (<1) они имеют общую долю порядка 7-8%. Теперь все больше и больше выбор сводится к копилефт или разрешающим лицензиям.

Без лицензии. Сколько бы ни говорилось об открытых лицензиях, но до сих пор остаются репозитории открытых проектов с кодом, не использующим ни одну из лицензий. Со временем процент лицензированных репозиториев сокращается:

Есть много объяснений этому явлению, например,безразличие разработчиков. Но все открытые программы без лицензии — это не открытое программное обеспечение и это плохо.

Основные лицензии свободного ПО

А теперь давайте сделаем краткое описание для каждой лицензии из рейтинга чтобы вы могли ориентироваться что они из себя представляют:

GNU General Public License. Расшифровывается как универсальная общественная лицензия. Была разработана в 1988 году в рамках проекта GNU. Принцип действия лицензии, как уже говорилось, все изменения кода должны быть опубликованы. Программа не может быть включена в проприетарное ПО, но зато может свободно распространяться между пользователей, изучаться и улучшаться при условии публикации улучшений. За время развития было выпущено три версии — GPLv1, GPLv2 и GPLv3, в которых были немного ослаблены ограничения лицензии gpl к проприетарному ПО.

MIT License. Это лицензия, разработанная Массачусетским технологическим институтом (МТИ). Это разрешительная лицензия, а это значит, что несмотря на свободность распространения, ПО может использоваться в качестве части проприетарных программ.

Apache License 2.0. Это еще одна разрешительная лицензия. Кроме того, что разрешается полностью свободно распространять продукт, программы можно встраивать в проприетарное ПО. Но нельзя изменять название, а в файлах нужно прикладывать всю информацию об изменениях и лицензии.

Artistic License — свободная лицензия, разработанная The Perl Foundation. Это копилефт лицензия, она требует чтобы все изменения были опубликованы, а в файлах были описаны вносимые правки.

BSD Licese 2.0. Лицензия на программное обеспечение университета Беркли. Лицензия очень похожа на MIT, и программное обеспечение тоже можно встраивать в проприетарные проекты. Но здесь нельзя использовать оригинальное название свободного проекта.

Code Project Open 1.0.2 License. Это лицензия, опубликованная сообществом разработчиков The Code Project. Она разрешает использовать исходный код и сами программы в коммерческих целях, код можно изменять и включать в другие проекты.

Mozilla Public License (MPL) 1.1. Эта лицензия была разработана в компании Netscape и улучшена в Mozilla Foundation. Разрешается использование кода в закрытых проектах, но измененный код должен быть лицензирован в соответствии с MPL.

Microsoft Public Licese (MS-PL) — это свободная лицензия, которая предоставляет право на использование, распространение и изменение кода. Но при распространении нужно сохранить информацию об авторских правах.

Понятие об отличиях основных лицензий свободного ПО на одной схеме:

Выводы

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

Небольшое видео по теме свободных лицензий и лицензии GPL:

Источник: losst.ru

Видеонаблюдение в Linux с помощью Motion

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

Порывшись в сети я нашел рецепт, предложенный пользователем Linux_man. Он использует для настройки видеонаблюдения программу Motion установленную в дистрибутиве openSUSE 11.4. Ниже я привожу сам рецепт с дополнениями пользователей, уже протестировавших этот рецепт.

Если у вас уже есть рабочая в Linux web-камера, качаем программу Motion. Для пользователей openSUSE x86_64, качаем с href=»ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/poeml/openSUSE_Factory/x86_64/, а для x86_32 с ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/poeml/openSUSE_Factory/i586/.

Теперь для установки потребуется удовлетворить зависимось под названием libmysqlclient15, скачать которую, как для x86_32, так и для x86_64, вы сможете с href=»http://download.opensuse.org/repositories/home:/Floppe/openSUSE_11.4. Также убедитесь, что у вас установлен ffmpeg.

Для пользователей Ubuntu, скачать и установить Motion можете так:

sudo apt-get install motion

Теперь как все установили, идем в терминал и переключаемся на root. Данная программма работает только с правами root.

Далее вводим команду:

motion -n

для запуска ее и она буедт работает в background режиме, — gui у нее нету. Автор рецепта не нашел как ее отключать и решал проблему ребутом. Но добрые люди , подсказали, что, в /etc/default/motion можно поставить значение on в пункте о демоне и выключать, ребутить, стартовать по sudo /etc/init.d/motion start|stop|restart

Когда Motion запущен и работает ваша камера, которая и отслеживает движения в кадре и записывает .jpeg фотографии  в:

/usr/local/apache2/htdocs/cam1

Также имеется файл config, для настройки Motion. Лежит он тут:

/etc/motion

Там можно настроить все.

Также присутствует и веб-интерфейс для ослеживания камеры — пишите в браузере: http://localhost:8081/

Вот собственно и все.

Атаки на сетевое оборудование с Kali Linux

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

Атакуем CISCO маршрутизатор

В состав Kali Linux входит несколько инструментов, которые можно использовать для аудита оборудования CISCO. Список можно посмотреть в разделе Vulnerability Analysis — Cisco Tools:

Cisco Audit Tool или CAT
Используется для брутфорса пароля при выключенном режиме aaa-mode, брутфорса SNMP community-строк и проверки на уязвимость IOS History bug (https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-19981014-ios-hist)

Пример использования:
CAT -h 192.168.1.209 -w /root/cisco/wordlist/snmpcommunities -a /root/cisco/wordlist/password_list -i

Cisco Global Exploiter или CGE
Используется для экслпутации известных уязвимостей. Нам доступно 14 атак:


Пример использования:

cge.pl 192.168.1.201 3


cisco-ocs
Инструмент для автоматизации поиска устройств со стандартными значениями пароля для telnet и режима enable, который может искать устройства в диапазоне адресов. Может использоваться при сканировании больших сетей.

Пример использования:
cisco-ocs 192.168.1.207 192.168.1.209


cisco-torch
Многофункциональный сканер уязвимостей для оборудования Cisco. Может сканировать несколько IP адресов за раз, подгружая из текстового файла. Запускать cisco-torch в Kali Linux следует, находясь в рабочей директории /usr/share/cisco-torch.

Пример использования:

Поиск доступных интерфейсов и протоколов и определение типа оборудования.

cisco-torch -A 192.168.1.201


Может использоваться для брутфорса паролей и SNMP community-строк.

cisco-torch -s -b 192.168.1.209
Для использования своего словаря, его нужно поместить в /usr/share/cisco-torch вместо файла password.txt

copy-router-config.pl и merge-copy-config.pl
Инструменты для загрузки текущей конфигурации маршрутизатора cisco при известной community-строке на свой tftp-сервер. В дальнейшем можно модифицировать конфигурацию и снова загрузить на сервер.

Пример использования:
copy-router-config.pl 192.168.1.201 192.168.1.3 private

Для автоматизации подобной атаки, где нас интересует только загрузка конфигурации на свой TFTP-сервер лучше воспользоваться модулем Metasploit auxiliary/scanner/snmp/cisco_config_tftp
Или NSE скриптом nmap snmp-ios-config.

Атакуем L2 протоколы


Yersinia — многофункциональный инструмент для атак на протоколы L2 (Data Link) уровня OSI.
Умеет проводить атаки на DHCP, STP, CDP, DTP, HSRP и другие.

Работать с Yersinia можно в нескольких режимах:

Запуск в режиме сервера и управление при помощи команд, похожих на cisco cli.

yersinia -D
telnet 127.0.0.1 12000
Логин и пароль root/root

Пароль для перехода в режим enable – tomac

  1. Запуск в интерактивном режиме
yersinia -I

Опции управления доступны по нажатии на клавишу h:


  1. Графический интерфейс GTK

Графический интерфейс может работать нестабильно. В режиме сервера не поддерживает некоторые виды атак, вроде DHCP Rogue server. Так что, основным режимом запуска можно считать интерактивный режим.

Атакуем DHCP сервер

В качестве примера продемонстрируем атаку на переполнение пула IP-адресов DHCP сервера. Данная атака может быть использована для выведения из строя корпоративного DHCP сервера и последующая его замещение поддельным, конфигудрация которого настроена таким образом, что весь трафик новых клиентов будет проходить через хост атакующего. Таким образом будет проведена одна из атак MitM.

На стороне атакующего можно выполнить скрипт nmap для обнаружения DHCP сервера в локальной сети.

nmap -n --script=broadcast-dhcp-discover


Теперь запускаем Yersinia в интерактивном режиме и переходим в режим DHCP выбрав его нажатием клавиши g.


Теперь в этом режиме будут видны все DHCP пакеты, полученные Yersinia.
Проверим список выданных адресов DHCP сервера до атаки:


Yersinia показывает DHCP пакеты, выловленные из сети:


Если выбрать пакет и нажать сочетание клавиш Shift+L то можно затем при помощи атаки RAW пересылать этот пакет в сеть, или модифицировать его при помощи нажатия клавиши e – переход в режим редактирования пакета.

При нажатии на клавишу x получаем список доступных атак:

Выбираем 1

Видим, что начинает отправлять огромное количество DHCP Discover запросов:

Через некоторое время можно остановить атаку нажатием на клавиши L и затем Enter:


Nmap больше не показывает доступных DHCP серверов в сети. Коропоративный DHCP сервер выведен из строя.

Проверим таблицу выданных IP-адресов на роутере:

Далее вы можете запустить атаку Rogue DHCP в Yersinia, либо при помощи модуля Metasploit или любым другим способом, чтобы провести MitM атаку.


Атаку на истощение пула IP адресов DHCP сервера можно так же провести при помощи инструмента DHCPig. При помощи Yersinia можно проводить атаки и на другие популярные протоколы, такие как STP (Spanning Tree Protocol) и HSRP (Hot Standby Router Protocol), которые так же позволят вам прослушивать трафик в сети.

Атака на переполнение CAM таблицы коммутатора.

Еще одна атака, которая переполняет CAM таблицу коммутатора, хранящую список MAC адресов, работающих на определенном порту. Некоторые коммутаторы при ее переполнении начинают работать как хабы, рассылая пакеты на все порты, тем самым создавая идеальные условия для проведения атак класса MitM.

В Kali Linux для проведения данной атаки присутствует инструмент macof

Пример использования:

macof -i eth0

Где eth0 – интерфейс, к которому подключен коммутатор для атаки.

Защита

Для защиты от подобного рода атак производителями используются различные, обычно проприетарные, технологии. На коммутаторах Cisco следует активировать DHCP Snooping и PortSecutiy во избежание атак на протокол DHCP и CAM Overflow. Для защиты от атак на HSRP и прочие протоколы используются другие технологии. Всегда нужно помнить, что дорогостоящее сетевое оборудование после правильной настройки может существенно повысить безопасность сетевой инфраструктуры, в то же время недонастроенное или настроенное неправильно может само стать инструментом в руках злоумышленника и угрозой безопасности. Выявление уязвимостей сетевого оборудования при проведении тестирования на проникновение и применение рекомендаций по результатам аудита помогает снизить риски взлома информационной системы злоумышленниками.

12 коммерческих и свободных панелей для управления виртуальными машинами

Автоматическое создвание и управление виртуальными машинами играет важную роль для любой компании, предоставляющей услуги VPS. Если вы управляете большим количеством витруальных машин, не всегда лучшим инструментом для этого является командная строка, так как выполнение опеределенных задач может занять длительное время. Для упрощения выполнения рутинных задач администраторов серверов и пользователя разные компании разрабатывают панели управления для виртуальных машин.

Панель управления позволяет выполнять любые операции в несколько кликов мыши. С ее помощью вы сможете сэкономить время. Однако все не так просто. В последнее время самым популярным решением для малого и среднего бизнеса является SolusVM, для больших организаций - VMware. Оба продукта коммерческие и достаточно дорогие. Они предлагают большое количество функций, однако многим небольшим компаниям и стартапам такие продукты могут оказаться просто не по карману.

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

1. SolusVM – Solus Virtual Manager

Solus Virtual Manager (SolusVM) - одно из самых популяпрных коммерческих решений по управлению виртуальными машинами. Обеспечивает полную поддержку OpenVZ, Linux KVM, XEN Paravirtualization и XEN HVM. SolusVM имеет дружественный к пользователю интерфейс, позволяющий легко управлять кластером VPS.

SolusVM

Сайт: http://solusvm.com/

2. VMware vSphere

VMware vSphere - это лидирующая в мировом масштабе платформа серверной виртуализации для построения облачной инфраструктуры. Обладая мощной функциональностью, vSphere на сегодняшний день является образцовым программным решением для управления виртуальными машинами. Это идеальное решение для больших провайдеров VPS с соответствующими бюджетами и персоналом.

VMware vSphere

Сайт: http://www.vmware.com/products/vsphere.html

3. VMmanager

Коммерческая панель управления для Linux с полной поддержкой виртуализации KVM и OpenVZ. VMmanager предлагает инструменты для создания виртуальных машин, обеспечения хостинга VPS и построения облачной инфраструктуры.
В случае, если вы только начинаете свое дело, или вам не нужны большие объемы памяти, вы можете использовать бесплатную версию, которая позволяет создавать 2 виртуальные машины, 5 нодов, и задействовать 16 Гб оперативной памяти.

VMmanager

Сайт: https://www.ispsystem.com/software/vmmanager

4. Proxmox Virtual Environment

Proxmox Virtual Environment - это простая в использовании платформа виртуализации с открытым исходным кодом для запуска виртуальных машин. Программа сама по себе бесплатна, но сервисы поддержки (даже доступ к форуму сообщества) предоставляются на коммерческой основе и стоят до 66 евро в месяц.

Proxmox Virtual Environment

Сайт: https://www.proxmox.com/

5. Virtkick

Virtkick - это коммерческое решение "все в одном", сочетающее в себе биллинговую систему и инструменты управления виртуальными машинами. Графический интерфейс минималистичный и простой в использовании даже для клиентов VPS. Разработчики Virtkick позиционируют его как идеальное решение для небольших дата-центров или игровых серверов.

Virtkick

Сайт: https://www.virtkick.com/

6. Sadeem

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

Sadeem

Сайт: https://www.sadeem.io/

7. Archipel

Archipel - это решение с открытым исходным кодом для управления виртуальными машинами. С ее помощью вы можете управлять несколькми локальными виртуальными машинами, или тысячами VPS в различных дата-центрах.
Archipel поддерживает KVM, Xen, OpenVZ и VMWare, и способна выполнять все их базовые команды.

Archipel

Сайт: http://archipelproject.org/

8. Virtualizor – панель управления VPS

Virtualizor - это коммерческая панель управления VPS от разработчиков Softaculous. Она поддерживает OVZ, KVM и Xen: PV/HVM/Server. Администраторы VPS и средние пользователи с ее помощью могут легко управлять виртуальными машинами.

Virtualizor

Сайт: http://www.virtualizor.com/

9. Xen Orchestra

XO - это мощный и интуитивно понятный коммерческий веб-интерфейс, который создан специально для управления инфраструктурой XenServer (или Xen+XAPI) (виртуальные машины, серверы, пулы и т.д.).

Xen

В статьях по приведенным ниже ссылкам можно более подробно ознакомиться с возможностями веб-интерфейса и его установкой.

Installation of XenServer 7

Install and Manage XenServer with Xen Orchestra Web Interface

10. Панель управления Feathur

Feathur - это панель с открытым исходным кодом, написанная на PHP. Инсталлятор Feathur создает сервер Nginx на базе Linux, систему PHP и MySQL (LEMP) со встроенной PHP MyAdmin и управлением VPS посредством SSH-соединений.

Feathur

Сайт: http://feathur.com/

11. WebVirtMgr – консоль управления виртуальными машинами

WebVirtMgr - это решение с открытым исходным кодом на базе libvirt для управления виртуальными машинами. Она позволяет пользователям управлять доменами и их ресурсами. VNC-вьювер через туннель SSH предоставляет графическую консоль для гостевого домена. На сегодняшний день гипервизор поддерживает только виртуализацию KVM.

WebVirtMgr

Сайт: https://www.webvirtmgr.net

12. OpenNode Cloud Platform

OpenNode Cloud Platform - это сервер виртуализации и панель управления с открытым исходным кодом для правительственных организаций. Она предоставляет простые и хорошо настраиваемые инструменты для создания приватных или гибридных облачных сервисов.

OpenNode

Сайт: http://opennodecloud.com/

Источник: losst.ru

11 причин использовать среду рабочего стола GNOME 3

GNOME3 была разработана с целью быть простой, легкой в доступе и надежной. Популярность GNOME подтверждает, что эта цель не забыта.

В конце прошлого года обновление Fedora 25 привело к проблемам в работе с KDE Plasma, что доставило мне не мало неприятностей. Поэтому у меня появилось две причины попробовать иные среды рабочего стола для Linux. Во-первых, мне надо было сделать свою работу. Во-вторых, мне показалось интересным попробовать что-то новенькое, так как, я на протяжении уже многих лет пользуюсь исключительно KDE.

Для того чтобы набрать материал для статьи я пользовался GNOME в течение пары недель.

Как практически все в киберпространстве, GNOME - это акроним, который обозначает GNU Network Object Model. GNOME3 был разработан с целью быть простым, легким в доступе и надежным. Популярность GNOME подтверждает, что цель не забыта.

GNOME3 полезен в ситуациях, когда нужно получить от экрана как можно больше пространства. В общем, это когда есть два экрана с большим разрешением, и нужно, чтобы виджетами, панелями и иконками для запуска чего-либо, было занято минимум пространства. Проект GNOME следует Human Interface Guidelines (HIG. Рекомендации к построению пользовательского интерфейса), которая используется для того, чтобы определить философию использования компьютера человеком.

Мои 11 причин использовать GNOME3

1.Выбор: GNOME доступен во многих формах на ряде дистрибутивов типа моей любимой Fedora. Варианты начала сеанса: GNOME Classic, GNOME on Xorg, GNOME, and GNOME (Wayland). По факту при запуске все они выглядят схоже, но используют разные X сервера или сделаны с помощью разных инструментариев. Wayland предоставляет больше функционала для небольших деталей рабочего стола типа динамической прокрутки, drag-and-drop, и вставки с помощью средней кнопки мыши.

2.Туториалы для начинающих: когда вы впервые заходите на рабочий стол, отображается инструкция для начинающих. Она рассказывает о том, как выполнять обычные задачи и дает ссылку на более подробную информацию по вопросу. После отключения туториал легко находится, так что в него можно войти в любой момент. Он легкий, прямолинейный и дает пользователям, впервые попавшим в GNOME, понять с чего начинать. Для того чтобы зайти в туториал еще раз, нажмите на Activities (операции), затем на квадрат из девяти точек, который отображает приложения. Далее кликните на иконку спасательного жилета с надписью Help (помощь).

3.Чистый рабочий стол: GNOME, с минималистичным дизайном и без лишней захламленности, был спроектирован предоставить лишь минимум необходимого для функционального окружения. Вы можете заметить, что верхняя панель и все остальное скрыты пока вам они не понадобятся. Все это для того чтобы пользователь мог сфокусироваться на задаче; для минимизации на рабочем столе того, что может отвлечь.

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

5.Dash: dash, как показано ниже, содержат по умолчанию три иконки. Как только вы начинаете использовать приложения, они начинают добавляться в dash, так как там отображаются самые используемые из них. Также вы можете сами добавлять что-либо в dash из application viewer (обзор приложений).

6.Обзор приложений: мне действительно нравится обзор приложений, к которому есть доступ из вертикальной панели на левой стороне рабочего стола GNOME (смотреть картинку ниже). Рабочий стол GNOME обычно пуст до момента запуска ПО, так что надо будет нажать на Activities (операции) на верхней панели, затем на квадрат из девяти точек в нижней части dash, который и откроет обзор.

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

Больше информации об обзоре приложений вы можете найти на сайте GNOME и во встроенном помощнике.

7.Оповещения приложений: вверху экрана в GNOME есть удобные оповещения о новых открытых окнах приложений. Для перехода к нужному окну просто нажмите на соответствующее оповещение. Это действительно позволяет получить дополнительное время, которое в ином случае было бы затрачено на поиск только что открытых приложений, что случается на некоторых других рабочих столах.

8.Показ приложений: для того чтобы получить доступ ко всем запущенным приложениям, не доступным глазу, надо нажать на меню активности. Это отобразит на рабочем столе в виде матрицы все запущенные приложения. Для того чтобы вывести приложение на передний план нажмите на него. Хотя текущее приложение отображено в верхней панели, остальных приложений вы там не увидите.

9.Минимум оформления окон: открытые окна рабочего стола выглядят очень просто. Единственная кнопка в заголовке окна эта "Х", и она предназначена для закрытия окна. Иные функции типа сворачивания, разворачивания, перевода на другой рабочий стол и т.д. доступны по нажатию правой кнопкой мыши на заголовке.

10.Новые среды рабочего стола создаются автоматически: следующий рабочий стол создается автоматически, если предыдущий занят. Это значит что под ваши нужды всегда будет один свободный рабочий стол. На всех других рабочих столах, которыми мне приходилось пользоваться, можно было также настраивать количество рабочих столов, в то время как один был активен, но это нужно было делать в ручную через настройки системы.

11.Совместимость: приложения, созданные на иных рабочих столах, корректно работают на GNOME, как и в других рабочих средах. Эта особенность позволила мне протестировать все рабочие столы, после чего я смог написать о них.

Итог

GNOME не похож на что-либо, что я использовал ранее. "Простота" - это его главная цель. Все остальное отходит на второй план. Если начать разбираться с туториала, то понять как пользоваться GNOME можно за очень короткий срок. Это не значит что GNOME ущербен. Он мощен и гибок, и эти отличительные черты с ним уже очень давно.

Общие папки (Shared folders) VirtualBox и Ubuntu Server

Устанавливаем в виртуальную машину Ubuntu Server
Запускаем виртуальную машину.
Выбираем пункт Подключить образ диска Дополнений гостевой ОС… в меню Устройства окна виртуальной машины:

MeAndUbuntu VirtualBox SharedFolders 001Соглашаемся на автоматическое скачивание образа с сервера VirtualBox.

После окончания процесса скачивания, входим в виртуальную машину и выполняем от пользователя root:
apt-get install build-essential
mount /dev/cdrom /media/cdrom/

Проверяем, что диск примонтировался ( ответ команды должен быть не пустой ):
ls -l /media/cdrom/

Запускаем установку Дополнений гостевой ОС:
/media/cdrom/VBoxLinuxAdditions.run

После окончания процесса выключаем виртуальную машину:
shutdown -h now

В окне VirtualBox щёлкаем правой клавишей мышки на нужной виртуальной машине и выбираем пункт Настроить… или просто нажимаем на клавиатуре Ctrl+S ( ^+S ) после выбора нужной виртуальной машины из списка щелчком левой клавиши мышки.

Выбираем раздел Общие папки и щёлкаем на кнопку с иконкой папки и плюса в правой части окна. Настраиваем путь к директории на host-машине ( поле Путь к папке ), а так же Alias ( поле Имя папки ), который будет передан в виртуальную машину ( автоматическое подключение работать не будет, так что его можно не выбирать ):
Сохраняем настройки, щёлкнув в обеих окнах на кнопку OK.

Включаем виртуальную машину и проходим аутентификацию. Выполняем (от root):
mkdir /home/developer/mount
chown developer:developer /home/developer/mount
mount -t vboxsf mount /home/developer/mount # В этой команде после vboxsf идёт Alias, заданный в настройках в предыдущем пункте

Готово.

  

ТОВ "УАЛІНУКС"

Телефон: +380 (97) 33-55-1-88 (пн ... пт   09.00 - 18.00)

Viber, WhatsApp, Telegram: +380 (97) 33-55-1-88 (24/365)

E-Mail: [email protected] (Головний офіс)

© 2020 UALinux