Рубрика: Utilities

Wireshark — как это работает?

Wireshark — это достаточно известный инструмент для захвата и анализа сетевого трафика, фактически стандарт как для образования, так и для траблшутинга.
Wireshark работает с подавляющим большинством известных протоколов, имеет понятный и логичный графический интерфейс на основе GTK+ и мощнейшую систему фильтров.
Кроссплатформенный, работает в таких ОС как Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, и, естественно, Windows. Распространяется под лицензией GNU GPL v2. Доступен бесплатно на сайте wireshark.org.
Установка в системе Windows тривиальна — next, next, next.
Самая свежая на момент написания статьи версия – 1.10.3, она и будет участвовать в обзоре.

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

Начинаем

Для начала захвата достаточно выбрать свой сетевой интерфейс и нажать Start.

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

А следующая за ними кнопка позволяет сделать быстрый переход к пакету, указав его номер.
В случае если колонки перекрываются и наползают друг на друга, можно кликнуть по такой колонке правой кнопкой мыши и выбрать “Resize Column”.
Произойдет автоматическая подгонка размеров под текущую ситуацию.
И кроме того, есть кнопка “Resize all Columns”, которая приведет в порядок все колонки.
Используя меню View – Time Display Format, можно, например, настроить, чтобы отсчет времени шел не с начала захвата, а с момента получения предыдущего пакета (Since Previous Captured Packet).
Самое важное в каждой программе (Help – About Wireshark) покажет не только версию и список авторов, но и содержит закладку Folders, которая покажет пути размещения каталогов с конфигурациями.
Изучая интерфейс, можно выбрать, например, пакет http, и увидеть, что HTTP инкапсулируется в TCP (транспортный уровень), TCP инкапсулируется в IP (сетевой уровень), а IP в свою очередь инкапсулируется в Ethernet (перед этим даже мелькает 802.1Q).

И на самом верху идет нечто вроде небольшого обзора собранной информации о кадре.

Про фильтры мы поговорим дальше, а на данном этапе, если нужно быстро отфильтровать лишние пакеты, достаточно сделать правый клик на пакете, выбрать меню Apply as Filter – Not selected и изменения сразу же вступят в силу.
Если нужно еще что-то убрать, то в следующий раз выбирать “and not Selected”, и новое правило просто добавится к фильтру.

Убираем заусенцы

Довольно часто при работе с Wireshark возникает ошибка IP checksum offload – ошибка контрольной суммы заголовка IP пакета.

Современные сетевые карты насколько умные, что сами считают контрольную сумму, зачем это делать на уровне стека TCP/IP программно, если можно делать хардварно.
А Wireshark натурально перехватывает пакеты, до того как они попадают в сеть.
И до того как эта сумма была просчитана и была добавлена в заголовок пакета.
Соответственно есть два пути решения этой проблемы — выключать функцию offload в настройках сетевой карты или в настройках сниффера указать, чтобы он не обращал внимание на это значение.
Хардваные функции зачастую лучше софтварных, в основном из-за скорости обработки (в железе обычно выше) поэтому лучше изменить настройки самого сниффера.
Для этого нужно зайти в настройки (Edit — Preferences), затем Protocols – IPv4 – и снять флаг с “Validate IPv4 checksum if possible”.

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

  • Локально на своем хосте;
  • Организовать зеркалирование трафика на коммутаторе;
  • Подключаться непосредственно в интересующие места;
  • или же отравление протокола ARP (еще более незаконно, чем пассивное прослушивание трафика)

 

Фильтруем поток

Wireshark содержит два вида фильтров – захвата (Capture Filters) и отображения (Display Filters).
Вначале рассмотрим Capture Filters.
Как можно догадаться по названию, они служат для фильтрации еще на этапе захвата трафика.
Но в таком случае, безусловно, можно безвозвратно потерять часть нужного трафика.
Фильтр представляет собой выражение, состоящее из встроенных значений, которые при необходимости могут объединяться логическими функциями (and, or, not).
Для того, чтобы его задействовать, нужно зайти в меню Сapture, затем Options, и в поле Capture Filter набрать, например, host 8.8.8.8 (или, например, net 192.168.0.0./24)

Так же, конечно, можно выбрать и заранее созданный фильтр (за это отвечает кнопка Capture Filter).
В любом из вариантов фильтр появится возле интерфейса, можно жать Start.

Теперь перейдем к Display Filters.
Они фильтруют исключительно уже захваченный трафик.
Что можно фильтровать?
— Практически все — протоколы, адреса, специфические поля в протоколах.
Операции, которые можно использовать при построении фильтров:

Команда Значение Пример использования
== равенство ip.dst == 193.168.3.10
!= Не равно udp.dst != 53
< меньше чем ip.ttl < 24
> больше чем frame.len > 10
<= меньше или равно frame.len <= 0x20
>= больше или равно tcp.analysis.bytes_in_flight >= 1000
matches регулярные выражения frame matches «[Pp][Aa][Ss][Ss]»
contains содержит dns.resp.name contains google

Как вы, наверное, заметили, в таблице в качестве примеров были разнообразные выражения, достаточно понятные и зачастую говорящие сами за себя.
Например, ip.dst – это поле протокола IP.
Чтобы увидеть это поле, можно просто посмотреть на пакет, и в нижней части окна можно увидеть его значение, которое потом можно применять в любом фильтре.
Например, нас интересует, как создать фильтр, где будет проверяться значение TTL.
Для этого раскрываем L3 часть и становимся на соответствующее поле:

И видим, что для построения фильтра, нужно использовать выражение ip.ttl.
Если начать набирать фильтр, то после точки автоматически появится список возможных значений:

Чтобы применить фильтр, достаточно нажать enter или кнопку Apply.
Само поле для ввода фильтра может менять цвет в зависимости от того, что было набрано.
Зеленый цвет означает, что все в порядке. Красный — допущена ошибка, желтый — получен неожиданный результат, потому что существуют другие варианты написания фильтра (например можно написать ip.dst != 8.8.8.8 или же !ip.dst == 8.8.8.8, именно второй вариант более предпочтительный).
Фильтры можно сохранять для дальнейшего использования, нажав кнопку Save, затем ввести произвольное название

и после нажатия на кнопку ОК фильтр появится как кнопка на панели.

А если кликнуть на расположенную неподалеку кнопку «Expression…», то откроется достаточно мощный конструктор выражений, по которому можно чуть ли не изучать сетевые протоколы. Количество поддерживаемых протоколов постоянно увеличивается.

Как уже упоминалось ранее, можно выделить любой пакет и в контекстном меню выбрать Apply as Filter и в подменю выбрать режим — selected или not selected и соответственно сразу же появится фильтр, который будет показывать только выбранное или наоборот уберет выбранное с экрана.
Таким образом можно гибко выбирать, что видеть на экране, а что — нет.
Это может быть определенный ip-адрес, ttl, порт, dns ответ и многое другое.
Кроме того, есть два варианта для таких быстрых фильтров — Prepare as Filter и Apply as Filter.
Как можно догадаться по названию — разница заключается в том, что в первом случае только появится в поле для ввода Display Filter, но не применится (удобно, если например, добавлять таким способом несколько фильтров, а затем сразу применить готовый результат), а во втором — сразу же и применится.

Фильтры можно объединять, используя знакомые по булевой алгебре логические операции:
(dns) && (http) логическое и

(dns) || (http) это логическое или

Таким образом можно строить большие и сложные фильтры вроде:
(tcp.flags.syn==1) && (ip.src == 172.16.10.2) && (ip.dst == 172.16.10.1)
Здесь видим, что выбираются только TCP SYN сегменты, только с определенным адресом отправителя и получателя. При составлении больших фильтров нужно помнить, что фильтр по сути — логическое выражение, и если оно истинно, то пакет отобразится на экране, если ложно — нет.

Ныряем глубже

Достаточно частая ситуация, когда возникают жалобы на медленную работу сети, причин этого может быть множество.
Попробуем разобраться, в чем может быть причина, и рассмотрим два способа.
Первый состоит в добавлении колонки TCP delta.
Открываем пакет, находим поле Time since previous frame in this TCP frame, правый клик и выбираем Apply as Column. Появится новая колонка.
На ней можно кликнуть правой кнопкой мыши и выбрать режим сортировки, например, Sort Descending.

И сразу же рассмотрим второй способ.
Относительно недавно (в версии 1.10.0) появился фильтр tcp.time_delta, который, собственно, учитывает время с момента последнего запроса.

Если клиент делает запрос и получает ответ через 10 миллисекунд, и клиент говорит, что у него все медленно работает, то, возможно, проблема у самого клиента.
Если же клиент делает запрос и получает ответ через 2-3 секунды, тут уже, возможно, проблема кроется в сети.

Еще глубже

Если посмотреть в TCP пакет (или сегмент если быть точным), то можно увидеть там Stream index, который начинается обычно с нуля.
Само поле будет называться tcp.stream.

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

Таким образом можно фильтровать нужные соединения.

Еще один способ – сделать правый клик на самом пакете, выбрать Conversation Filter и создать фильтр для l2 l3 l4 уровня соответственно.

В итоге мы опять увидим взаимодействие двух хостов.

И третий вариант — это одна из самых интересных фич — Follow TCP Stream.
Для того чтобы его задействовать, нужно опять таки кликнуть правой кнопкой мыши на пакете и выбрать “Follow TCP Stream”. Появится окно, где будет наглядно продемонстрирован весь обмен между двумя узлами.

Если же зайти в меню Statistics – Conversations, то, выбирая закладки, можно увидеть статистику по таким “разговорам” и различные сессии, при этом можно отсортировать их по различным колонкам, например, по количеству переданных данных.

И прямо в этом окне можно правой кнопкой взывать контекстное меню и опять же применить как фильтр.

Со временем приходит опыт

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

Нажатие на эту кнопку приведет к открытию окна Expert Infos.
Того же результата можно добиться, пройдя в меню Analyze – Expert Info.

В этом окне будет содержаться информация по найденным пакетам, разбитая на группы Errors, Warnings, Notes и Chats.
Цветовая раскраска для этих групп выглядит следующим образом:
Ошибки — красный цвет
Предупреждения — желтый
Примечания — сине-зелёный (cyan)
Чат — серый

Wireshark содержит в себе мощный анализатор и умеет автоматически обнаруживать большое количество проблем, возникающих в сети.
Как вы уже могли заметить, буквально везде можно использовать фильтры и Expert Info не является исключением.
Для того чтобы создать такой фильтр, нужно использовать конструкцию expert.severity.
Например, expert.severity==error.

Грабим трафик!

Можно ли с помощью Wireshark узнать, что было скачано?
Да, можно. И сейчас это увидим.
Вначале возьмем HTTP трафик.
Сделаем правый клик по HTTP пакету — Protocol Preferences – и видим тут массу опций, которые непосредственно влияют на извлечение файлов из веб трафика.
Для того чтобы увидеть, что можно извлечь из текущего дампа нужно перейти в меню File – Export Objects – HTTP.
Появится окно, которое покажет все захваченные http объекты — текстовые файлы, картинки и т.д. Для того чтобы вытащить любой файл из этого списка, достаточно просто выделить его и нажать Save As.

Как можно заметить, рисунок был извлечен без каких-либо проблем.

Таким же способом, можно извлекать и потоковое видео/аудио.

Но на этом возможности Wireshark не заканчиваются!
Он умеет вытаскивать файлы и с протокола FTP.
Для этого можно использовать знакомый уже Follow TCP Stream.
В итоге отобразится только обмен по протоколу FTP, в котором нужно будет найти строку RETR, что собственно и будет означать передачу файла.

Затем опускаемся дальше, находим пакеты уже непосредственно с файлом (FTP-DATA) и опять выбираем Follow TCP Stream, видим содержимое файла, жмем Save As и сохраняем.

VoIP

Wireshark имеет несколько встроенных функций для работы с этой технологией.
Он поддерживает массу голосовых протоколов — SIP, SDP, RTSP, H.323, RTCP, SRTP и другие.
И, конечно же, умеет перехватывать и сохранять голосовой трафик для дальнейшего прослушивания.
Этот функционал как нельзя лучше подойдет для траблшутинга в сетях Voice over IP.
Меню Statistics — Flow Graph покажет наглядную картину, как происходил весь обмен пакетами.

А вообще целое меню Telephony отведено для работы с голосовым трафиком.
Например, Telephony – RTP – Show All Streams покажет подробно, что происходило с RTP, в частности jitter (параметр, который, вероятно, самый важный в голосе), что иногда сразу скажет о наличии проблем.

Нажав на кнопку “Analyze”, можно открыть окно RTP stream Analysis – и, выбрав там поток, можно его даже проиграть, используя кнопку player.
Сначала отроется окно проигрывателя, в котором вначале нужно установить подходящее значение jitter и использовать кнопку decode.

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

Так же существует еще один способ прослушивания голосовых звонков — можно зайти в меню Telephony – VoIP Calls.

Откроется окно со списком совершенных звонков, где опять же можно нажать кнопку player, отменить нужные разговоры флажками и нажать play.
Для того чтобы добиться приемлемого качества звучания, потребуется проиграться со значением поля jitter buffer, меняя его значение.

Небольшое отступление

Некоторое время назад появился сайт CloudShark.org.

Это тот самый сниффер Wireshark, но реализованный в виде онлайн-сервиса. Очевидно, что с его помощью не удастся захватывать сетевой трафик, но выполнять анализ дампа трафика – вполне. Загрузив туда через форму PCAP-файл на анализ, можно будет получить четкую последовательность пакетов, в которой всё данные будут разбиты на понятные поля в зависимости от протокола. В общем, тот же Wireshark, но немного облегченный и доступный из любого браузера.

Финальная битва

Напоследок рассмотрим как выглядит сканирование портов.
Смотрим на дамп и видим, что вначале происходит ARP запрос и затем непосредственно начинается сканирование. Адрес нашего маршрутизатора 192.168.10.11, сканирование идет с адреса 192.168.10.101

Это, так называемое, SYN сканирование, когда идут SYN-пакеты на указанный диапазон портов. Так как большинство портов закрыто, маршрутизатор отвечает пакетами RST, ACK.
Пролистав чуть ниже видим, что открыт telnet (tcp 23).

На это указывает то, что маршрутизатор ответил пакетом SYN, ACK.
К слову, для фильтрации портов в сниффере можно использовать конструкции вида: tcp.srcport, tcp.dstport и tcp.port. Для протокола UDP всё аналогично — udp.srcport, udp.dstport, udp.port.

Инструментарий админа MySql

Интерфейс администрирования

MySQL и клоны по умолчанию распространяются без графического интерфейса. В самых простых случаях с несколькими базами для управления достаточно командной строки, когда же количество серверов, баз и админов, их обслуживающих, переваливает за десяток, необходимость в GUI становится более очевидной. Oracle предлагает свою разработку — единый инструмент для разработчиков баз данных и администраторов MySQL Workbench для Windows, Linux, OS X. Это мощная среда с большими возможностями, позволяющая визуально проектировать, создавать базы данных и управлять ими. Доступны все инструменты для настройки серверов, администрирования учетных записей, бэкапа и восстановления, аудита и простого мониторинга состояния. Также с его помощью можно легко выполнить миграцию с других СУБД — MS SQL Server, Sybase ASE, PostreSQL и прочих. Возможности к тому же можно расширить при помощи плагинов. Интерфейс не локализован. Функций очень много, поэтому некоторое время придется потратить, чтобы освоиться, хотя в общем среда удобная. Версия Community (OSS) Edition распространяется по лицензии GNU GPL. Установка проблем не вызывает, доступны пакеты под разные дистрибутивы Linux, Windows и OS X. Для Red Hat / CentOS лучше воспользоваться в EPEL, в Ubuntu APT репозиторием разработчика.

$ wget -c http://dev.mysql.com/get/mysql-apt-config_0.2.1-1ubuntu14.04_all.deb
$ sudo dpkg -i mysql-apt-config_0.2.1-1ubuntu14.04_all.deb
$ sudo apt-get install mysql-workbench

У MySQL Workbench очень богатые возможности по администрированию MySQL

Очень популярен среди хостеров phpMyAdmin, позволяющий выполнить в интуитивной среде большинство операций по управлению базами данных, работе с таблицами, индексами, правами доступа, настройку репликации, экспорт информации, бэкап/восстановление, просматривать статистику и так далее. При этом остается возможность непосредственного ввода любых SQL-запросов. Поддерживается управление несколькими серверами. Все достаточно интуитивно, и с администрированием может справиться пользователь без особой подготовки, с любого устройства, где есть браузер. В Сети множество инструкций и примеров по использованию phpMyAdmin. Установка из репозитория пакетов проблем не вызывает, в качестве веб-сервера можно использовать не только Apache, но и более легкие nginx или lighttpd. Некоторые панели управления хостингом вроде cPanel и Plesk имеют поддержку phpMyAdmin.

phpMyAdmin — стандарт среди интерфейсов управления MySQL

Пользователи Windows наверняка оценят HeidiSQL, поддерживающий управление MySQL, MS SQL и PostgreSQL (пока экспериментально) и распространяемый под Open Source лицензией. Программа имеет очень удобный интерфейс, поддерживает подключение сразу к нескольким серверам, которые доступны в одном окне, это упрощает операции по экспорту/импорту данных. Доступно создание и редактирование баз, таблиц, управление привилегиями, экспорт таблиц (CSV, HTML, XML, SQL, …), поиск, оптимизация, мониторинг. При написании запросов помогает автодополнение. Поддерживается командная строка, возможно подключение по SSH-тоннелю. Есть Portable-версия, используя Wine, его можно запустить и в *nix / OS X.

Для тех, кому не подошли описанные продукты, в интернете можно найти большое количество аналогов: SQLyog, dbForge Studio for MySQL, TOra, SQL Buddy и другие.

Утилиты мониторинга

Как и любое приложение, СУБД требует постоянного наблюдения за своей работой, чтобы в случае проблем легко можно было найти узкое место. Общую информацию о работе MySQL можно получить при помощи стандартного клиента mysqladmin. Запросы вроде SHOW QUERY LOG, SHOW PROCCESSLIST, SHOW VARIABLES, SHOW GLOBAL STATUS и другие редко дают четкую картину, так как медленные запросы есть всегда, но они не обязательно влияют на работу сервиса. Есть еще утилита mysqldumpslow, которая анализирует данные slow.log и выводит самые частые медленные запросы.

Версия Enterprise предлагает специальный инструмент MySQL Enterprise Monitor, который предоставляет в реальном времени информацию о производительности и доступности всех баз данных MySQL. Кроме того, для большинства систем мониторинга, включая Open Source Nagios, Cacti, Zabbix, Ganglia, доступны специальные плагины. Например, Nagios. Каждый из плагинов должен быть правильно настроен, чтобы представить подробную информацию о том, что происходит в MySQL, а это нередко требует опыта. Разворачивать полноценную систему мониторинга в том случае, когда задача только контроль СУБД, не всегда рационально. В этом случае на помощь приходят специализированные инструменты.

К сожалению, весьма популярный mytop уже более двух лет не развивается (хотя это не значит, что его нельзя использовать), но у него есть прекрасная и более функциональная замена. Начиная с версии MySQL 3.23.41 в состав InnoDB входит InnoDB Monitor innotop, некий аналог юниксовского top для этой СУБД. Innotop выводит в удобном виде информацию по внутреннему состоянию InnoDB, которая может пригодиться при настройке производительности. Вариантов запуска утилиты много. Самый простой — выполнить от имени определенного пользователя без параметров

$ innotop -u root -p password

По умолчанию подключение производится к локальному серверу, но можно указать любой узел или мониторить сразу несколько серверов. Список всех команд (Shift + клавиша) можно получить, нажав клавишу вопроса. Например, <Shift + Q> выведет список всех текущих запросов. Параметр –write позволяет сохранить данные соединения в файл .innotop/innotop.conf:

$ innotop --write

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

Ключи innotop

Появившийся в 2009 году проект mycheckpoint за несколько лет стал фактически стандартным инструментом для мониторинга MySQL. Причина популярности — это уникальный подход. Для хранения и запроса используется база данных, в которую (одна операция INSERT) собираются данные о метриках мониторинга, статистики и переменных MySQL, информации об ОС Linux (состояние ОЗУ и swap, нагрузка и прочее). Также в базу попадают результаты пользовательских запросов. Собранную информацию легко просмотреть при помощи простых SELECT-запросов. При этом администратор получает наглядные графики (на основе Google Chart API), отчеты и метрики, которые генерируются на лету. Для вывода HTML отчетов может использоваться собственный веб-сервер. Также могут быть настроены предупреждения, отсылаемые по email. Возможен мониторинг удаленной системы и нескольких серверов.

Написан на Python, поэтому установка сложностей не вызывает. Разработчики предлагают deb, rpm и tar.gz пакет и сырцы. В Ubuntu следует ввести следующие команды:

$ sudo apt-get install python-mysqldb

$ sudo dpkg -i mycheckpoint-231-1.deb

После чего потребуется создать базу данных для хранения информации:

$ mysql -uroot -ppassword
mysql> CREATE DATABASE mycheckpoint;
mysql> GRANT ALL PRIVILEGES ON mycheckpoint.* TO 'user'@'localhost' IDENTIFIED BY 'password';

Для сбора и вывода данных используется утилита mycheckpoint, которую можно запускать вручную или через cron. Параметры подключения к MySQL- и SMTP-серверу указываются также в командной строке:

$ mycheckpoint --user=user --password=password --host=server --port=3306

Или записываются в конфигурационный файл (по умолчанию /etc/mycheckpoint.cnf):

*/5 * * * * mycheckpoint --defaults-file=/root/mycheckpoint.cnf

Теперь можем просматривать собранную информацию и генерировать отчеты при помощи SQL-запросов.

$ mysql mycheckpoint -e "SELECT html FROM sv_report_html_brief" --silent --raw > ./checkpoint_report.html

Еще один полезный инструмент, позволяющий контролировать, анализировать и при необходимости изменять обмен данными между MySQL-сервером и клиентским приложением, называется MySQL Proxy. Возможности у программы очень большие. Работает как под Windows, так и под *nix-системами. Установка проблем не вызывает, в настройках необходимо указать порт MySQL (по умолчанию 3306) и PHP (строка mysql.default_port в php.ini). Все запросы формируются на языке Lua, документация здесь хорошо помогает.

Аудит MySQL

Одна из проблем, связанных с эксплуатацией любого программного продукта, — его неправильная настройка. После установки присутствуют лишние демонстрационные учетные записи, тестовые базы, сами пользователи могут ставить простые пароли, которые легко подобрать. Решить эти проблемы можно лишь при помощи постоянного аудита, который к тому же будет обязателен, если производится обработка конфиденциальных/персональных данных (кредитные карты, медицинские записи и подобное). Требуется создать среду, соответствующую стандартам безопасности (SOX, HIPAA и прочим), при расследовании инцидентов, устранении неполадок. После установки нужно обязательно использовать mysql_secure_installation, который обеспечивает минимальный набор проверок, позволяющих скорректировать общие настройки безопасности.

Далее уже следует использовать инструменты и скрипты, о которых ниже. Задача аудита упрощается тем, что разработчики MySQL предлагают соответствующий API. Правда, в MySQL плагин audit_log доступен только для версии Enterprise. Разработчики Percona Server предлагают GPL альтернативу данному модулю, которая подходит для аудита MySQL и клонов. Две другие альтернативы, McAfee MySQL Audit Plugin и MariaDB Audit Plugin for MySQL, также справляются со своей задачей и позволяют производить аудит MariaDB, MySQL и Percona Server, но используют свой собственный формат журнала аудита, отличающийся от стандартного MySQL. Это потребует чуть больших первоначальных настроек. Применение плагинов простым назвать нельзя и подробно освещено в документации, которую все равно требуется прочитать, поэтому останавливаться не будем.

Кроме того, Патриком Карлссоном (Patrik Karlsson) представлен набор тестов для сетевого сканера Nmap, позволяющий протестировать сервер на наличие основных проблем безопасности. В Ubuntu после установки настройки хранятся в каталоге /usr/share/nmap/nselib/data и nmap/script, для проверки сервера необходимо указать параметры подключения и учетную запись.

$ nmap -p 3306 1.1.1.1 --script mysql-audit --script-args   "mysql-audit.filename='/usr/share/nmap/nselib/data/mysql-   cis.audit' ,mysql-audit.username='root',mysql-  audit.password='password'"

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

Percona Toolkit for MySQL

Штатные инструменты, поставляемые с MySQL, предоставляют лишь базовые возможности по администрированию, в результате многие операции приходится выполнять вручную. Это может быть проблемой, ведь уследить за всем очень сложно, и часто потребуется определенный опыт, да и легко допустить ошибку. Пакет Percona Toolkit for MySQL собрал наработки двух проектов — Maatkit и Aspersa — и предоставляет скрипты, позволяющие производить многие рутинные операции администрирования: проверять состояние репликации, собирать информацию, оптимизировать запросы, производить тюнинг сервера, архивировать/восстанавливать данные и многое другое. Всего более 4000 тестов и настроек. Пакет доступен для основных дистрибутивов Linux (в Ubuntu пакет percona-toolkit). После установки получим 32 утилиты, имя которых начинается с pt-*, назначение часто понятно из названия. При запуске можно задавать различные фильтры и форматировать вывод. Поэтому документацию почитать все равно придется, так как каждая утилита имеет большое количество параметров. Например, скрипт pt-summary выведет всю информацию по серверу, собранную /proc/cpuinfo, /proc/meminfo, mount, df и другими утилитами, pt-show-grants покажет все права пользователей СУБД, pt-query-digest позволяет строить отчеты, основанные на анализе логов, обработанных сервером запросов, а также информации, собранной processlist и tcpdump. Например, просмотр медленных запросов двумя способами:

$ pt-query-digest slow.log
$ pt-query-digest --user=user --password=password --processlist --host=example.org

Получаем данные о привилегиях с pt-show-grants

Еще один популярный пакет — openark kit предлагает 14 утилит, позволяющих провести тестирование СУБД: проверять установки, проверять пароли (пустые, одинаковые, слабые), блокировать аккаунты, прерывать запросы, фильтровать записи в журнале, выводить статус репликации, исправлять кодировки и многое другое. Распространяется по лицензии BSD. Написан на Python и требует python-mysqldb. Для установки предлагаются deb- и rpm-пакеты и сырцы, процесс стандартный и проблем не вызывает.

Наиболее популярен скрипт комплекта oak-security-audit, предназначенный для периодического аудита аккаунтов, паролей, привилегий и прочих настроек сервера. В общем случае его можно запустить без параметров. По умолчанию используется режим наибольшего уровня контроля системы (соответствует –audit-level=strict):

$ oak-security-audit --socket=/var/run/mysqld/mysqld.sock --user=user --password=password

В результате получим отчет, все, что не помечено как Passed, требует пристального внимания. По умолчанию утилиты из openark kit (включая и mycheckpoint, о котором выше, того же разработчика) используют для подключения к СУБД сокет /var/run/mysqld/mysql.sock (это вшито в сам скрипт), в Ubuntu файл называется mysqld.sock. Чтобы не задавать каждый раз путь, можно использовать заранее подготовленный файл с настройками подключения и указывать при помощи —defaults-file. Как вариант: изменить настройки MySQL в my.cnf. Править скрипты неудобно, так как при обновлении они работать не будут. Следующий скрипт, oak-block-account, очень популярен у разного рода хостеров для временного отключения доступа к СУБД. Дело в том, что стандартный механизм СУБД не позволяет отключать временно аккаунт (что-то вроде REVOKE login ON .), то есть если учетная запись есть, пользователь всегда может подключаться к базе данных. Можно, конечно, использовать что-то вроде

mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'USER'@'%';

но в случае восстановления прав придется помнить все настройки. И главное, если посмотреть права при помощи

mysql> SHOW GRANTS FOR 'USER';
GRANT USAGE ON *.* TO 'USER'@'%' IDENTIFIED BY PASSWORD .....

мы убедимся, что такая команда не сбрасывает USAGE. Использование REVOKE USAGE фактически означает DROP USER. Проще изменить логин и пароль, но восстановление может быть проблемой. В общем, возни и рисков много. В случае использования oak-block-account учетная запись остается неизменной, ей просто задается временный пароль, поэтому подключиться с этой учетной записью нельзя.

$ oak-block-account --block --account-user=USER --account-host=example.org

Дополнительный параметр –kill позволит сбросить сразу все активные подключения. Восстановить работоспособность учетки также просто. Смотрим список аккаунтов и их статус:

$ oak-block-account --list

И включаем учетную запись:

$ oak-block-account --release --account-user=USER --account-host=example.org

Другие скрипты из openark kit позволяют упростить некоторые операции. Например, oak-chunk-update дает возможность выполнить большие операции UPDATE/DELETE без длительных блокировок, разбив задачу на небольшие куски. Скрипт oak-show-replication-status выводит состояние репликации, oak-kill-slow-queries удаляет запросы, выполняющиеся уже долгое время, oak-repeat-query выполняет запрос, пока не достигнет определенного условия (количество итераций, время).

Вывод oak-security-audit

Тюнинг MySQL

Оптимизация настроек очень тонкий процесс, ведь нужно на основании собранной статистики изменить только то, что действительно повлияет на производительность. Самым известным инструментом для MySQL является Perl-скрипт MySQLTuner, который доступен в репозиториях большинства дистрибутивов Linux. Он читает текущие настройки сервера и установки MySQL, после чего выдает рекомендации (только рекомендации) по их изменению. Если установка производилась при помощи пакетов, то достаточно ввести имя скрипта, иначе следует вызывать, указывая интерпретатор:

$ perl mysqltuner.pl

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

Оригинальный скрипт написан под *nix, но на CodePlex доступна адаптированная версия для Win. Альтернативой можно назвать MySQL Performance Tuning Primer Script, который выдает не такую наглядную информацию, но зато более «разговорчивый» о проблемах.

Запускаем MySQLTuner

15 бесплатных утилит для Windows-администратора

Advanced IP Scanner

Сисадмин должен знать все о системах, работающих в сети, и быстро получать к ним доступ. С данной задачей помогает справиться Advanced IP Scanner, предназначенный для быстрого многопоточного сканирования локальной сети. Предоставляется AIPS совершенно бесплатно, без каких-либо оговорок. Программа очень проста и понятна в работе. После запуска AIPS проверяет IP-адреса сетевых интерфейсов хоста, на котором она установлена, и автоматически прописывает диапазон IP в параметры сканирования; если IP менять не нужно, то остается запустить операцию сканирования. В результате получим список всех активных сетевых устройств. Для каждого будет собрана вся возможная информация: MAC-адрес, производитель сетевой карты, сетевое имя, зарегистрированный в системе пользователь, доступные общие ресурсы и сервисы (общие папки, HTTP, HTTPS и FTP). Практически все опции сканирования можно настроить, например изменить скорость или исключить проверку определенного типа сетевых ресурсов (общие папки, HTTP, HTTPS и FTP). К любому ресурсу можно подключиться одним кликом, достаточно лишь отметить его в списке. AIPS интегрирована с программой Radmin и в процессе сканирования находит все машины с работающим Radmin Server. Результат сканирования можно экспортировать в файл (XML, HTML или CSV) или сохранить в «Избранном» (поддерживается drag-and-drop). В дальнейшем, при необходимости обращения к нужному клиентскому компу, сканировать сеть повторно не требуется. Если удаленное устройство поддерживает функцию Wake-on-LAN, его можно включить и выключить, выбрав соответствующий пункт меню.

Сканер Advanced IP Scanner позволяет получить список устройств, работающих в сети

NetWrix Inactive Users Tracker

Компания NetWrix, специализирующаяся на разработке решений для аудита изменений IT-инфраструктуры, предлагает десять бесплатных и очень полезных утилит, призванных заметно упростить администрирование ОС Windows. Например, NetWrix Inactive Users Trackerпозволяет решить одну из насущных проблем безопасности — наличие неактивных учетных записей, которыми некоторое время никто не пользуется (уволенные сотрудники, командировка, перемещение по должности, временная учетка и тому подобное). Кадровики редко предупреждают IT-отдел об изменениях, и таким аккаунтом может запросто воспользоваться злоумышленник. Утилита периодически проверяет все учетные записи в доменах и сообщает о тех, доступ к которым не осуществлялся определенное время. В версии Free в качестве действий возможно указать лишь предупреждение по e-mail (достаточно задать параметры SMTP), все остальные операции админ производит вручную, хотя и предупреждения в нашем случае достаточно. В платной версии доступны: автоматическая установка случайного пароля, деактивация учетной записи и перемещение в другой OU, фильтр OU для поиска учетных записей. Отдельно предлагается PowerShell-командлет get-NCInactiveUsers, позволяющий получать список неактивных пользователей (проверяется атрибут «lastLogon») и упростить написание соответствующих скриптов.

Чтобы обнаружить неактивные учетные записи, применяем NetWrix Inactive Users Tracker

WinAudit Freeware

WinAudit — бесплатная утилита от компании Parmavex Services, позволяющая произвести полный аудит системы. Не требует установки, может выполняться в режиме командной строки. Программа обладает простым и локализованным интерфейсом, поддерживается запуск на всех версиях Windows, в том числе 64-битных. Сбор данных занимает примерно минуту (продолжительность процесса может варьироваться в зависимости от операционной системы и конфигурации компьютера), результирующий отчет состоит из 30 категорий (поддается настройке). В результате админ может получить данные о системе, установленном ПО и обновлениях с указанием версии и вендора, подключенных устройствах; список открытых сетевых портов (номер, сервис, программа и прочее) и открытых папок; активные сессии; установки безопасности; права доступа к периферии; информацию об учетных записях и группах; список задач/сервисов; программы в автозапуске; записи журналов и системную статистику (uptime, использование памяти, дисков). Также можно задать поиск определенных файлов по имени. Например, чтобы найти музыку и видео на жестких дисках пользователя, достаточно задать соответствующие расширения (avi, mp3 и тому подобные). Результат можно открыть как веб-страницу, экспортировать в файл многих популярных форматов (txt, XML, CSV, PDF) или в базу данных (при помощи мастера, поддерживаются все популярные: MS SQL, MS Access, MySQL, Oracle и другие), отправить по e-mail и распечатать.

При помощи WinAudit администратор узнает все о железе, ПО и системных настройках

Учет компьютеров с помощью CheckCfg

Проблема учета оргтехники и используемого ПО остро стоит в любой организации. Решить ее можно разными способами, один из вариантов предлагает разработчик Андрей ТатуковCheckCfg. Это решение периодически собирает данные о железе, ОС и программах, включая тип CPU, объем ОЗУ, место на дисках, состояние S.M.A.R.T. и прочее. При этом CheckCfg легко справляется с несколькими сотнями компьютеров. Результат выводится в удобной древовидной форме, к локальным каталогам легко получить доступ. Каждому ПК может присваиваться инвентаризационный номер, при необходимости легко сгенерировать отчет в RTF-формате.

CheckCfg представляет собой целый комплекс программ. За непосредственный сбор данных о компьютере отвечает CheckCfg, которая запускается при старте ОС и записывает результат в файл. Управление и архивация информации производится при помощи программы учета Sklad, которая обрабатывает файлы, созданные CheckCfg, и сохраняет в свою базу данных, после чего можно формировать отчеты. При помощи программы Sklad_w можно в удобной форме просматривать текущие конфигурации компьютеров и основные данные по оргтехнике (по IP-адресам, CPU, Memory, ПО). Для анализа изменений в конфигурации ПК и оповещения об этом администратора используется еще одна утилита — Doberman. Возможно, настройка покажется не совсем тривиальной, так как предстоит вручную создать нужные конфигурационные файлы, но детальное описание на сайте и имеющиеся шаблоны позволяют без проблем со всем разобраться.

MailArchiva Open Source Edition

Некоторые почтовые серверы, вроде MS Exchange, имеют функции архивирования почты, позволяющие при необходимости найти старые сообщения, в том числе и чтобы выявить утечку конфиденциальной информации при расследовании инцидентов. В остальных случаях приходится обеспечивать данные функции самостоятельно. Вариантом решения является разработка компании MailArchiva, совместимая с большинством современных почтовых серверов (Lotus Domino, MS Exchange, MDaemon, Postfix, Zimbra, Sendmail, Scalix, Google Apps). Поддерживается архивирование по протоколам SMTP, IMAP/POP3, WebDAV и через Мilter (программа имеет встроенный SMTP- и Milter-сервер, IMAP/POP-клиент). Чтобы не собирать всю почту, можно создавать любые правила архивации. Реализовано три уровня доступа к сохраненным данным — пользователь (только своя почта), администратор (настройки и своя почта) и аудитор (вся почта, можно ограничить правилами). В Open Source версии MailArchivaтакже реализованы функции интуитивного поиска, в том числе во вложениях (Word, PowerPoint, Excel, OpenOffice, PDF, RTF, ZIP, tar, gz). Работает MailArchiva на Windows, Linux, FreeBSD и Mac OS X.

Performance Analysis of Logs

В случае проблем с производительностью системы обнаружить узкое место при помощи штатного Windows Performance Monitor, не имея опыта, довольно сложно. Для того чтобы разобраться, какие метрики нужно снимать и как правильно интерпретировать результат, потребуется тщательно прошерстить документацию. Утилита PAL (Performance Analysis of Logs, pal.codeplex.com) заметно упрощает поиск «бутылочного горлышка». После запуска она просматривает журналы и анализирует их при помощи встроенных шаблонов. В настоящее время имеются настройки для большинства популярных продуктов MS — IIS, MOSS, SQL Server, BizTalk, Exchange, Active Directory и других. После запуска администратор в мастере PAL Wizard активирует нужные счетчики, просто выбрав шаблон из списка предложенных, указывает текущие настройки сервера (количество CPU и прочие), интервал анализа и каталог для сохранения результата. Через некоторое время будет выдан подробный отчет в HTML и XML, содержащий описание, имя счетчика и показатели (Min, Avg, Max и Hourly Trend). Отчет затем можно легко скопировать в любой документ. Но разбираться далее в собранных параметрах придется все равно самостоятельно. Хотя если PAL показывает, что характеристика находится в зеленом секторе, волноваться не стоит. Сам запрос сохраняется в скрипте PowerShell PAL.ps1, который можно сохранить для дальнейшего использования. Шаблоны представляют собой XML-файлы; взяв за пример любой из них, можно создать свой вариант. Для редактирования параметров в шаблоне предлагается встроенный редактор PAL Editor.

Отчеты, генерируемые PAL, позволяют получить информацию о производительности системы

Официально поддерживается Win7, но работает на всех ОС от MS, начиная с WinXP (32/64). Для установки понадобится PowerShell v2.0+, MS .NET Framework 3.5SP1 и MS Chart Controls for Microsoft .NET Framework 3.5.

Создаем точку доступа с Virtual Router

Ситуация, когда компьютер с Wi-Fi-картой необходимо превратить в точку доступа, сегодня отнюдь не редка. Например, нужно быстро развернуть WLAN или расширить зону покрытия Wi-Fi. Изначально работа беспроводной карты предусматривалась только в одном из двух режимов: точка — точка, когда клиенты подсоединяются друг к другу, или как точка доступа. В Win7/2k8 (кроме Win7 Starter Edition) появилась возможность виртуализировать сетевые соединения (технология Virtual Wi-Fi), позволяющая создавать несколько Wi-Fi-модулей со своими настройками при использовании одного физического Wi-Fi-адаптера. Таким образом компьютер может быть подключен к Wi-Fi и в то же время выступать в качестве точки доступа (SAPoint, Software Access Point). Соединение с таким виртуальным хот-спотом защищено при помощи WPA2. Превратить ПК под управлением Win7/2k8R2 в точку доступа можно при помощи консольной утилиты Netsh, через Центр управления сетями и общим доступом, либо воспользовавшись приложением Virtual Router, обладающим интуитивно понятным GUI и очень простыми настройками. После запуска Virtual Router нужно лишь указать SSD и пароль для подключения, а затем активировать точку доступа. При необходимости остановить работу хот-спота можно также нажатием одной кнопки. Дополнительно в окне отображаются текущие подключения к точке, для каждого можно задать свой значок и изменить некоторые параметры.

Используя Virtual Router, можно создать точку доступа из обычного ПК

INFO

Альтернативой Virtual Router является Сonnectify, Lite-версия которой хотя и ограничена в возможностях, но предоставляет все необходимое. Также можно посмотреть в сторонуmhotspot.

 

Управление RDC-подключениями — RDCMan

Для удаленного управления серверами и ПК, работающими под управлением Windows, предназначена оснастка Remote Desktop Connection. Если необходимо устанавливать много RDP-соединений с различными настройками, то работать с ней становится неудобно. Вместо методичного сохранения индивидуальных настроек для каждого удаленного компьютера можно использовать бесплатный инструмент Remote Desktop Connection Manager RDCMan, автоматизирующий этот процесс. После запуска следует указать настройки RDP-подключения, которые будут использоваться по умолчанию и наследоваться всеми соединениями. Здесь задаем общие учетные данные, шлюз, установки экрана, параметры безопасности и многое другое. Далее создаем нужное количество групп систем (например, по назначению, расположению, версии ОС), для каждой из них можно указать специфические настройки соединения. И последний шаг — заполнение групп системами. Для добавления сервера следует ввести лишь доменное имя, если любой параметр будет отличаться от настроек групп, его можно тут же переопределить. При необходимости системы легко перемещаются между группами простым перетаскиванием. Если систем много, проще создать текстовый файл, указав по одному имени в строке, после чего скормить заготовку утилите. Теперь, чтобы подключиться, достаточно выбрать нужный сервер и в контекстном меню щелкнуть пункт «Connect». Можно одновременно активировать несколько соединений и переключаться между ними.

Free Active Directory Tools

Управлять параметрами Active Directory при помощи штатных инструментов не всегда просто и удобно. В некоторых ситуациях поможет комплект утилит Free Active Directory Tools, разрабатываемый компанией ManageEngine. Комплект состоит из четырнадцати утилит, запускаемых из одной оболочки. Для удобства они разбиты на шесть групп: AD USer Report, SharePoint Report, User Management, Domain and DC Info, Diagnostic Tools и Session Management. Например, запуск Empty Password User Report позволит получить список учетных записей с пустыми паролями, GetDuplicates — получить аккаунты с одинаковыми атрибутами, CSVGenerator — сохранить в CSV-файл данные аккаунтов Active Directory. Другие возможности: отчет о времени последнего входа в систему, получение данных из AD на основе запроса, отчеты по установкам SharePoint, управление локальными учетными записями, просмотр и редактирование политик паролей домена, получение списка контроллеров домена и их ролей, управление их репликацией, мониторинг их работы (загрузка CPU, ОЗУ, жестких дисков, производительность и прочее), управление терминальными сессиями и многое другое.

Пакет Free Active Directory Tools содержит 14 полезных утилит для администрирования AD

Comodo Time Machine

Возможность восстановления системы при помощи компонента System Restore заложена в Windows, начиная с ХР, но его функциональность, мягко говоря, ограничена, поэтому для бэкапа часто используют сторонние приложения. Бесплатная утилита Comodo Time Machine (comodo.com) позволяет сделать откат ОС до любого предыдущего состояния. Причем она будет работать даже в том случае, когда ОС совсем перестала загружаться. В процессе CTM создает точки восстановления (вручную или по расписанию), в них заносятся все измененные системные файлы, реестр, а также файлы пользователя. Это большое преимущество по сравнению с System Restore, который сохраняет и восстанавливает только системные файлы и реестр. Максимальный размер имеет первая копия, остальные копии хранят лишь измененные файлы. С целью экономии свободного дискового пространства следует периодически создавать новую контрольную точку, удаляя старые архивы. Для возможности восстановления ОС информация о CTM прописывается в загрузочный сектор; чтобы вызвать соответствующее меню, достаточно нажать клавишу Home. Восстанавливать состояние ОС можно также по расписанию, например настроить поведение утилиты так, чтобы при каждой перезагрузке производился автоматический откат к «чистой» версии системы. Это будет полезно, например, в интернет-кафе, где пользователи после себя оставляют в системе много мусора. Кроме полного восстановления ОС, утилита предоставляет возможность получить из архива более раннюю версию любого файла. Реализован поиск, поэтому найти нужные данные можно без проблем.

INFO

В качестве альтернативы Comodo Time Machine можно предложить EaseUS Todo Backup Free.

 

Amanda

Задачу централизованного резервного копирования данных с рабочих станций и серверов, работающих под управлением Windows и *nix, можно решить при помощи AMANDAAdvanced Maryland Automatic Network Disk Archiver). Изначально программа была создана для работы с ленточными накопителями, но со временем разработчики предложили механизм под названием «виртуальные ленты» (vtapes), позволяющий сохранять собранные данные на жесткие диски и CD/DVD. AMANDA является удобной надстройкой к стандартным Unix-программам dump/restore, GNU tar и некоторым другим, поэтому ее основные характеристики следует рассматривать именно исходя из возможностей этих базовых утилит. Работает по клиент-серверной схеме. Для доступа к компьютерам используются все доступные методы аутентификации: Kerberos 4/5, OpenSSH, rsh, bsdtcp, bsdudp или пароль Samba. Для сбора данных с Windows-систем задействуется специальный агент или, как вариант, Samba. Сжатие и шифрование (GPG или amcrypt) информации можно выполнять как непосредственно на клиенте, так и на сервере. Все настройки параметров резервирования производятся исключительно на сервере, в поставке имеются готовые шаблоны, поэтому разобраться довольно просто.

WWW

На codeplex.com можно найти большое число весьма полезных утилит.

Инструкция по запуску Amanda Server на компе под управлением Windows.

Core Configurator 2.0 for Server Core

Первоначальная настройка сервера, работающего под управлением Win2k8/R2 в режиме Server Core, производится в консоли при помощи команд. Чтобы упростить задачу, разработчики ОС добавили в R2 интерактивный скрипт SCONFIG.cmd, позволяющий настроить основные параметры системы. На Сodeplex доступна альтернатива — замечательный конфигуратор Core Configurator. Для его работы понадобится наличие компонентов NetFx2-ServerCore, NetFx2-ServerCore и PowerShell. После запуска Start_CoreConfig.wsf получаем меню, в нем находим несколько пунктов, обеспечивающих доступ к основным настройкам, которыми пришлось бы управлять из командной строки: активация продукта, настройка разрешения экрана, часов и временной зоны, сетевого интерфейса, установка разрешений для удаленных RDP-подключений, управление локальными учетными записями, настройки Windows Firewall, включение/отключение WinRM, изменение имени компьютера, рабочей группы или домена, настройка роли, компонентов, Hyper-V и запуск DCPROMO. Если установить флажок «Load at Windows startup», то программа будет загружаться вместе с системой.

Exchange 2010 RBAC Manager

В Exchange 2010 появилась новая ролевая модель доступа, позволяющая тонко контролировать уровень привилегий для пользователей и администраторов в зависимости от выполняемых задач. Единственный минус — встроенные средства управления при помощи командлетов PowerShell не всем могут показаться удобными и понятными. Более развитыми возможностями обладает бесплатный инструмент Exchange 2010 RBAC Manager (RBAC Editor GUI, rbac.codeplex.com), предлагающий понятный графический интерфейс для настройки свойств всех ролей. Разобраться с его особенностями не составит труда даже новичку. Программа написана на C# и использует PowerShell. Для работы понадобится установленный Exchange 2010 Management Tools.

PowerGUI

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

Multi-Tabbed PuTTY

Свободно распространяемый клиент PuTTY хорошо известен админам, которым необходимо подключаться к удаленным хостам по протоколам SSH, Telnet или rlogin. Это очень удобная программа, позволяющая сохранить настройки сессий для быстрого подключения к выбранной системе. Единственное неудобство — при большом количестве подключений рабочий стол получается загружен множеством открытых окон. Эту проблему решает надстройка Multi-Tabbed PuTTY, реализующая систему вкладок.

INFO

Изначально PuTTY разрабатывался для Windows, однако позднее был портирован на Unix.