пятница, 27 сентября 2013 г.

понедельник, 16 сентября 2013 г.

Продление сертификата Exchange 2010

Источники:
technet.microsoft.com
dusk1911.wordpress.com
secadmins.com

Изначально все просто:
1. Создать запрос на сертификат:
1.1. Из ГУИ консоли Exchange, правой кнопкой щелкаем по истекшему сертификату и выбираем продлить (renew). В случае с сертификатом который удостоверяется центром (а у меня именно такой случай) предлагается сохранить файл запроса .req
1.2. Так же можно выполнить данную процедуру из консоли:


Get- ExchangeCertificate -Thumbprint 'AD19B141228C7CF98B5F78DCED978B7C45E15434' | New-ExchangeCertificate -GenerateRequest -PrivateKeyExportable $true

2. Если этот запрос сразу обработать в консоли центра Сертификации, то мы скорее всего получим такую ошибку:
Denied By Policy Module 0×80094801, The Request does not contain a certificate template extension or the certificate template request attribute.
2.1. Для исправления следует добавить в файл запроса необходимый шаблон, заодно подтвердив его в CA
certreq -submit -attrib "CertificateTemplate:WebServer" <Cert Request.req>
2.2. Так же это можно сделать через вебинтерфейс CA если он установлен: 
http://CA_SERVER/CertSrv
Скопировав туда содержимое файла запроса

3. Если в базе данных CA от эксперементов осталось много лишних записей, их можно удалить:
   
3.1. Получаем список Запросов с ошибками:
certutil -silent -view  -out "RequestID" LogFail
3.2. Из полученных строк вида "Issued Request ID: 0xb (11)" нам нужны ID вида "0xb"
удаляем их следующей командой:
certutil.exe -deleterow "0xb"
Все.

пятница, 9 августа 2013 г.

Изменить пароль для Восстановления на Контроллере домена Windows Server 2003


Запускаем

> ntdsutil
в строке приглашения набираем

> set dsrm password

Для сброса пароля, необходимо набрать в коммандной строке
>reset password on server null 
Переменная null означает что пароль на локальной машине будет сброшен
Далее на запрос, следует указать новый пароль.
Причем во время ввода пароля символы отображаться не будут.

Для завершения работы оболочки DSRM следует набрать q
Для завершения работы оболочки ntdsutils следует набрать q

Источник

среда, 7 августа 2013 г.

OpenVpn генерация и отзыв сертификата

Система FreeBSD но неважно...

Генерация ключа для Удаленного доступа OpenVPN

 $ cd /usr/local/share/doc/openvpn/easy-rsa/2.0
 #. ./vars
 #./build-key-pkcs12 <Name>
 При генерации многих клиентов можно предварительно заполнить файл vars значениями по умолчанию.
После ответов на все вопросы и заполнения уникальных полей, в подкаталоге keys/server будет лежать комплект файлов <Name>.* Это и есть искомые сертификаты.

Отзыв сертификатов


$ cd /usr/local/etc/openvpn/easy-rsa/2.0
# . ./vars
# ./revoke-full <Name>     # для каждого удаляемого клиента проделываем такую операцию
"Revoking Certificate ... Data Base Updated"
Копируем только что создавшийся crl.pem на место того, который уже есть (путь к нему нужно смотреть в файле openvon.conf, параметр crl-verify). Если такого параметра нет – то добавляем его и указываем местоположение нового файла
crl-verify /usr/local/etc/openvpn/crl.pem
После этого ОБЯЗЯТЕЛЬНО ВЫСТАВЛЯЕМ ПРАВА ДЛЯ ФАЙЛА crl.pem 644, иначе работать не будет. openvpn не сможет прочесть этот файл (у меня openvpn работает от юзера nobody).
Делаем рестарт демона:
#/usr/local/etc/rc.d/openvpn restart
Теперь не смогут подключится те, кого мы удалили из базы.

четверг, 1 августа 2013 г.

Bacula. Основы работы с консолью.

Во-первых первоисточник .


Status - здесь можно узнать о состоянии задач,  в разрезе директора, хранилища, клиентов.
             отсюда же можно узнать последние jobid задач.

list - команда дающее более подробное представление о содержимом аргумента
.jobs - выдает список всех задач из конфига

Например надо посмотреть  все jobid для задачи "Backup-ws-014 DS". Для этого выполняем команду
list jobname="Backup-ws-014 DS" (Кавычки необязательны, если в имени нет пробела)

отсюда можно посмотреть jobid для восстановления, Дату последнего полного или дифирренцированного бэкапа, статус задания
Статусы заданий:
Enter SQL query: select * from Status;

+-----------+---------------------------------+----------+
| JobStatus | JobStatusLong                   | Severity |
+-----------+---------------------------------+----------+
| C         | Created, not yet running        |       15 |
| R         | Running                         |       15 |
| B         | Blocked                         |       15 |
| T         | Completed successfully          |       10 |
| E         | Terminated with errors          |       25 |
| e         | Non-fatal error                 |       20 |
| f         | Fatal error                     |      100 |
| D         | Verify found differences        |       15 |
| A         | Canceled by user                |       90 |
| F         | Waiting for Client              |       15 |
| S         | Waiting for Storage daemon      |       15 |
| m         | Waiting for new media           |       15 |
| M         | Waiting for media mount         |       15 |
| s         | Waiting for storage resource    |       15 |
| j         | Waiting for job resource        |       15 |
| c         | Waiting for client resource     |       15 |
| d         | Waiting on maximum jobs         |       15 |
| t         | Waiting on start time           |       15 |
| p         | Waiting on higher priority jobs |       15 |
| i         | Doing batch insert file records |       15 |
| a         | SD despooling attributes        |       15 |
+-----------+---------------------------------+----------+
 
Типы заданий:
.type
Backup
Restore
Admin
Verify
Migrate

Уровни Резервных копий:
*.level
Incremental
Full
Differential
VirtualFull
Catalog
InitCatalog
VolumeToCatalog
Base

Список файлов в задаче можно посмотреть командой
list files jobid=<номер>

среда, 31 июля 2013 г.

Виды резервного копирования (full, Differential, Incremental)

Полное резервное копирование (Full backup)
Полное копирование обычно затрагивает всю вашу систему и все файлы. Еженедельное, ежемесячное и ежеквартальное резервное копирование подразумевает создание полной копии всех данных. Обычно оно выполняемым по пятницам или в течение выходных, когда копирование большого объёма данных не влияет на работу организации. Последующие резервные копирования, выполняемые с понедельника по четверг до следующего полного копирования, могут быть дифференциальными или инкрементными, главным образом для того, чтобы сохранить время и место на носителе. Полное резервное копирование следует проводить, по крайней мере, еженедельно.
Дифференциальное резервное копирование (Differential backup)
При разностном (дифференциальном) резервное копировании каждый файл, который был изменен с момента последнего полного резервного копирования, копируется каждый раз заново. Дифференциальное копирование ускоряет процесс восстановления. Все, что вам необходимо - это последняя полная и последняя дифференциальная резервная копия. Популярность дифференциального резервного копирования растет, так как все копии файлов делаются в определенные моменты времени, что, например, очень важно при заражении вирусами.
Инкрементное резервное копирование (Incremental backup)
При добавочном («инкрементном») резервном копировании происходит копирование только тех файлов, которые были изменены с тех пор, как в последний раз выполнялось полное или добавочное резервное копирование. Последующее инкрементное резервное копирование добавляет только файлы, которые были изменены с момента предыдущего. В среднем, инкрементное резервное копирование занимает меньше времени, так как копируется меньшее количество файлов. Однако, процесс восстановления данных занимает больше времени, так как должны быть восстановлены данные последнего полного резервного копирования, плюс данные всех последующих инкрементных резервных копирований. При этом, в отличие от дифференциального копирования, изменившиеся или новые файлы не замещают старые, а добавляются на носитель независимо.

среда, 3 июля 2013 г.

В чем разница между аутентификацией и авторизацией?

Источник
Полезная ссылка

Аутентификация - это проверка соответствия субъекта и того, за кого он пытается себя выдать, с помощью некой уникальной информации (отпечатки пальцев, цвет радужки, голос и тд.), в простейшем случае - с помощью имени входа и пароля.
        Более наглядно: Аутентификация - это процесс или процедуры, используемые для проверки того, что данные или информация, заявленные как поступившие из какого-то источника, могли поступить только из этого источника. Методы, используемые для аутентификации, включают цифровые подписи, MAC и даже добрые старые пароли. Как правило, после аутентификации Вам ещё нужно быть авторизованным для доступа к ресурсам или информации.

Авторизация - это проверка и определение полномочий на выполнение некоторых действий (например, чтение файла /var/mail/eltsin) в соответствии с ранее выполненной аутентификацией.
        После того, как пользователи прошли аутентификацию, они, как правило, авторизованы (на основании их учётных данных для входа или свойств учетной записи) на получение или запрет доступа к определённым системным ресурсам, таким как файлы, приложения или сетевые ресурсы. Термин привилегия иногда используется как синоним авторизации. Так, пользователь может иметь достаточно привилегий для доступа к ресурсу X, но не к ресурсу Y, или, иными словами, они авторизованы на доступ к X, но не авторизованы на доступ к Y.

вторник, 2 июля 2013 г.

Работа с history

Использование номеров

Если вы дадите команду history, вы получите список последних введённых команд с порядковым номером перед каждой из них. Вы можете повторно запустить любую команду из истории при помощи конструкции
где n — номер записи в истории. То есть, например, инструкция
выполнит пятидесятую команду из истории. Также вы можете использовать конструкцию
если вам нужно выполнить n-ю по счёту команду, начиная с конца списка. Например, ваш вывод history выглядит так:
1  sudo su
2  exit
3  sudo apt-get update
тогда команда !1
запустит команду sudo su.

Вызов последней команды

Как часто вы вводите какую-то команду, а затем видите, что вы, намереваясь предварить её sudo, забыли это сделать? У меня такое происходит постоянно. Можно исправить это, вернувшись к последней команде при помощи клавиши «стрелка вверх» или при помощи комбинации Ctrl+p, затем, перейдя в начало строки при помощи клавиши Home или Ctrl+a вписать пропущенное sudo. Есть и более простой способ:
$ sudo !!
Это запустит последнюю команду (!!) при помощи sudo. Неплохо?
Вы, вероятно, знаете конструкцию !command, которая запустит последнюю команду из истории, которая начинается с command. Таким образом, если вы недавно запускали очень длинную команду и помните с чего она начиналась, такой способ запуска из истории может вам пригодиться. А знаете ли вы, что Bash  в этом случае ищет не команду, а ищет подстроку? То есть, вам не нужно после восклицательного знака вписывать всю команду целиком, достаточно лишь первых символов. Допустим, вы запускали что-то вроде:
$ git commit -a -m "Various and sundry notes"
Многие пользователи введут
$ !git
чтобы повторить команду, однако зачатую вполне достаточно выполнить
конечно же, при условии, что после искомой команды вы больше не выполняли команд, начинающихся с «g».
Если вам вдруг понадобится выполнить поиск не сначала строки, а в любой её части, воспользуйтесь конструкцией «!?string?». Например:
$ !?commit?

Вызов последнего параметра команды

Используя комбинацию «Esc+.» (Escape с точкой), вы можете вызывать из истории последнее слово, переданное команде в качестве аргумента. Например, вы запускали:
$ cp filename1 filename2
Теперь, если вы нажмёте «Esc+.», то вы получите «filename2». Попробуйте самостоятельно поиграть с этой функцией — очень полезная штука!
А что, если вам нужно не последнее слово, а скажем, второе? Или вообще все? Например, у вас в истории есть команда:
$ ls file1.txt file2.txt file3.txt file4.txt
и вам понадобилось вытащить два слова из середины? Легко!
$ ls !:2-3
Если же вам вдруг понадобились вообще все аргументы, переданные команде, вы можете воспользоваться такой конструкцией:
$ ls !:*

Поиск

Ещё одна полезная функция — это поиск при помощи «Ctrl+r». Нажмите «Ctrl+r» и в появившемся приглашении начните вводить часть какой-нибудь ранее ведённой команды. По мере ввода символов Bash будет пытаться найти в истории последнюю команду, содержащую указанные вами символы. После того, как найдёте, можете начать «Ctrl+r» ещё раз и Bash выведет более раннюю команду, если таковая имеется. После того, как вы отыщете нужную команду, просто нажмите «Enter» и она появится в вашей командной строке.
Если вам необходимо отредактировать команду, прежде чем запускать, воспользуйтесь традиционными «стрелкой влево» и «стрелкой вправо», чтобы переместить курсор в нужное место команды для исправления.

Безопасность

История команд очень полезная штука, однако иногда бывают ситуации, когда нежелательно, чтобы она сохранялась. Например, вы используете для работы разделяемую между многими пользователями систему и не хотите, чтобы системные администраторы системы выдели какие команды вы вводили. Даже если вы пользуетесь личным компьютером, всегда есть шанс, что он будет взломан и вам хотелось бы не хранить в истории действительно важные данные. В конце-концов вы можете захотеть не захламлять историю какими-то командами, поскольку в их хранении просто нет смысла. Например, вы можете часто пользоваться ls, однако зачем хранить её в истории, вместо того, чтобы хранить в ней только длинные и действительно полезные с точки зрения хранения команды?
Давайте посмотрим, каким способом можно управлять хранением команд в истории.
Первый способ — это определить в .bashrc переменную окружения со следующим значением:
HISTCONTROL=ignorespace:ignoredups
Опция ignorespace заставляет Bash игнорировать команды, начинающиеся с пробела. Если вам нужно, чтобы Bash не сохранил в истории команду, содержащую секретную информацию — просто предварите её пробелом.
Опция ingoredups исключает хранение в истории дубликатов команд, что часто помогает значительно разгрузить историю команд.
Вообще, некоторые дистрибутивы «из коробки» имеют эти опции установленными. Если это не ваш случай — просто добавьте строку в ваш ~/.bashrc.
Вы также можете заставить Bash игнорировать некоторые команды. Допустим, вы не хотите хранить в истории команды, содержащие имя какого-нибудь сервера. Просто определите значение переменной окружения HISTIGNORE и можете чувствовать себя спокойно:
HISTIGNORE="*myserver*"
Да, по поводу «спокойствия». На разделяемых системах некоторые пользователи могут видеть команды, запущенные вами при помощи утилит top и ps. Поэтому, если вы не уверены на 100% в надёжности системы, с которой работаете — не стоит запускать там какие бы то ни было команды, содержащие секретные данные.

Hyper-V, windows Управление с консоли

Вообще это общие команды и хоткеи для всего семейства windows, но для меня стали актуальны именно в редакции Core.


1. Если умудриться закрыть все коммандные окна в сеансе RDP - восстановить можно
комбинацией CTRL-SHIFT-ESC (обычный доступ к диспетчеру задач) со всеми вытекающими.

2. посмотреть информацию о системе можно либо вызвав консольную systeminfo, либо GUI msinfo32 
  
3. Импорт модулей в powershell. Например:
Просмотр места хранения модулей по умолчанию: $env:PSModulePath
далее копируем каталог с модулем в  системный каталог хранения модулей, например в
C:\Windows\system32\WindowsPowerShell\v1.0\Modules и перезапускаем powershell
для добавления  модуля в текущий сеанс можно выполнить командлет import-modules с параметрами.

4. Run and RunOnce Registry Keys
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOn

5.


пятница, 21 июня 2013 г.

Параметры конфига SSH сервера

Источник


SSH, то есть программы-демона sshd, производится через файл конфигурации, расположенный по адресу: /etc/ssh/sshd_config.
Описание параметров:
AcceptEnv

Переменных среды, принимаемые от клиента, если были установлены, и копируемые в environ текущего сеанса. На стороне клиента данную настройку устанавливает параметр SendEnv подробное описание можно посмотреть в man ssh_config. Указывать нужно имена переменных, разрешается использовать символы подстановки "*" и "?". Если вам нужно передать больше одной переменной, указывайте их через пробел, или в нескольких директивах AcceptEnv. Данная директива введена с целью повышения безопасности, что-бы нельзя было обойти ограничения среды пользователя, путем изменения переменных среды.
По-умолчанию, переменные не принимаются.

AddressFamily

Семейство сетевых адресов, разрешенных для использования демоном sshd.
Возможные значения: "any", "inet", (только для IPv4) и "inet6" (только для IPv6).
По-умолчанию "any", то есть любые.

AllowTcpForwarding

Разрешает TCP форвардинг ( перенаправление ). Отключения данного параметра не увеличивает безопасность системы, пока пользователям разрешен удаленный доступ, при желании, они всегда могут установить свои перенаправления.
По-умолчанию "yes".

AllowGroups

Шаблоны имён групп, разделенные пробел. Если данная директива определена, вход в систему по протоколу SSH, разрешен только пользователям, чьи, основная или дополнительная группы, совпадают с одним из шаблонов. Директива понимает только имена групп, здесь нельзя использовать цифровой идентификатор GID.
Порядок обработки директив Allow/Deny следующий: DenyUsers -> AllowUsers -> DenyGroups -> AllowGroups.
По-умолчанию, вход в систему разрешен членам всех групп.

AllowUsers

Имена пользователей разделенные пробелом. Если данная директива определена, вход в систему по протоколу SSH, разрешен только пользователям, чьи имена, совпадают с одним из шаблонов. Как и в случае с AllowGroups, распознаются только имена, UID не используется. Если шаблон определен в форме ПОЛЬЗОВАТЕЛЬ@ХОСТ, обе части проверяются отдельно, и доступ будет разрешен только пользователю с указанным именем и только с указанного хоста. Порядок обработки директив Allow/Deny следующий: DenyUsers -> AllowUsers -> DenyGroups -> AllowGroups.
По-умолчанию, доступ разрешен всем.

DenyGroups

Шаблоны имен групп через пробел. Данный параметр запрещает доступ пользователям, имена групп которых, совпадают с шаблоном. Используются только имена групп, GID не разрешен. Порядок обработки директив Allow/Deny следующий: DenyUsers -> AllowUsers -> DenyGroups -> AllowGroups.
По-умолчанию вход разрешен для всех.

DenyUsers

Имена пользователей через пробел. Пользователям, чьи имена перечислены в данной директиве, доступ в систему запрещен. Если шаблон указан в виде ПОЛЬЗОВАТЕЛЬ@ХОСТ, доступ запрещается только указанному пользователю, только с указанного хоста. Порядок обработки директив Allow/Deny следующий: DenyUsers -> AllowUsers -> DenyGroups -> AllowGroups.
По-умолчанию вход разрешен для всех пользователей.

AuthorizedKeysFile

Путь к файлу с открытыми ключами для аутентификации.. В директиве можно использовать шаблоны, они преобразуются при настройке соединения: %% заменяется на символ %, %h на домашний каталог пользователя, %u, на имя пользователя. После преобразования AuthorizedKeysFile рассматривается как абсолютный путь, или как путь относительно домашнего каталога пользователя.
По-умолчанию: ".ssh/authorized_keys".

Banner

Файл с сообщением, которое будет показано пользователю перед входом в систему.
Работает только с протоколом 2.

ChallengeResponseAuthentication

Разрешена ли беcпарольная аутентификация "запрос-ответ". Поддерживаются все механизмы аутентификации login.conf.
По-умолчанию "yes".

Ciphers

Разрешенные алгоритмы шифрования для протокола 2, указываются через запятую.
Возможны следующие варианты:
"3des-cbc", "aes128-cbc", "aes192-cbc",'"aes256-cbc", "aes128-ctr",
"aes192-ctr", "aes256-ctr", "arcfour128", "arcfour256", "arcfour",
"blowfish-cbc" и "cast128-cbc". По-умолчанию:
aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour128, arcfour256, arcfour,
aes192-cbc, aes256-cbc, aes128-ctr, aes192-ctr, aes256-ctr

ClientAliveCountMax

Количество проверок доступности клиента, которые могут оставаться без ответа. Если предел достигнут, sshd завершит сеанс. Данные запросы, отличаются от TCPKeepAlive, так как отправляются через защищённый канал и не могут быть подменены, в то время как TCPKeepAlive такую возможность допускает.
СlientAlive полезен, если поведение клиента или сервера зависит от активности соединения. Если ClientAliveInterval (см. ниже) равно 15 секундам, а значение ClientAliveCountMax оставлено по-умолчанию, не отвечающие клиенты SSH, будут отключаться приблизительно через 45 секунд.
Параметр работает только для протокола версии 2.
По-умолчанию установлено значение 3.

ClientAliveInterval

Время простоя клиента в секундах, после которого демон sshd отправляет через защищённый канал запрос клиенту. Директива работает только для протокола 2.
По-умолчанию стоит 0, то есть клиенту вообще не будут направляться такие запросы.

Compression

Данная директива позволяет разрешить сжатие сразу, разрешить после успешной аутентификации или отключить.
Возможные значения: "yes", "delayed" или "no".
По-умолчанию "delayed".

ForceCommand

В данной директиве можно указать команду, которая будет выполнена при входе пользователя в систему, игнорируя команды пользователя. Команда запускается оболочкой пользователя с ключом -c. Это относится к выполнению самой оболочки, команды или подсистемы. Используется обычно в блоке Match. Команда первоначально запрошенная пользователем, доступна в переменной среды SSH_ORIGINAL_COMMAND. Например, если прописать в данную директиву, файл-менеджер mc ( Midnight Commander ), ForceCommand mc, то при подключении пользователя по протоколу SSH, в его оболочке будет запущен mc, как только пользователь закроет mc, сессия связи будет разорвана.
По-умолчанию: не определена.

GatewayPorts

Данная директива определяет, могут-ли ли удалённые хосты подключение к портам, выделенным для туннелирования трафика клиентов. По-умолчанию, сервер sshd разрешает доступ к портам, используемым для туннелирования инициируемого сервером, только для петли (loopback), т.е. удалённые машины подключаться к перенаправляемым портам не могут. Данный параметр позволяет это исправить. Значение "no" разрешает туннелирование только в рамках данной системы, "yes" разрешает туннелирование для хостов соответствующих шаблону, а "clientspecified" позволяет клиенту самостоятельно выбирать адрес для туннелирования.
По-умолчанию "no".

GSSAPIAuthentication

Включить GSSAPI аутентификацию. Только для протокола версии 2.
По-умолчанию "no".

GSSAPICleanupCredentials

Очищать ли кэш данных аутентификации клиента, при завершении сеанса связи. Только для протокола версии 2.
По-умолчанию "yes".

HostbasedAuthentication

Использовать HostBased аутентификацию, т.е. аутентификацию по rhosts или /etc/hosts.equiv, в сочетании с открытым ключом клиента. Эта директива похожа на RhostsRSAAuthentication.
Только для протокола версии 2.
По-умолчанию "no".

HostbasedUsesNameFromPacketOnly

Выполнять запрос имени хоста при проверке файлов ~/.shosts ~/.rhosts и /etc/hosts.equiv, в рамках HostBased аутентификации. Если "yes", для проверки будет использоваться имя указанное клиентом, а не имя полученное средствами TCP соединения.
По-умолчанию "no".

HostKey

Файл хранения приватных ключей хоста. Имейте в виду, что файлы с приватными ключами, не должны быть доступны для чтения всей группе или другим пользователям, в таком случае sshd их не примет. Возможно указание нескольких файлов ключей. Ключи rsa1, используются протоколом версии 1, ключи dsa и rsa, для версии 2, протокола SSH.
По-умолчанию /etc/ssh/ssh_host_key для протокола 1, /etc/ssh/ssh_host_rsa_key и /etc/ssh/ssh_host_dsa_key для протокола 2.

IgnoreRhosts

Игнорировать содержимое файлов .rhosts и .shosts, при аутентификации RhostsRSAAuthentication и HostbasedAuthentication. Учитываться будут только /etc/hosts.equiv и /etc/shosts.equiv.
По-умолчанию "yes".

IgnoreUserKnownHosts

Игнорировать содержимое файла ~/.ssh/known_hosts, при RhostsRSAAuthentication или HostbasedAuthentication .
По-умолчанию "no".

KerberosAuthentication

Включает поддержку аутентификации Kerberos: Проверять ли пароль пользователя для PasswordAuthentication , в Kerberos KDC. Это может быть "билет" Kerberos, либо, пароль пользователя, будет проверен через Kerberos KDC, если включен PasswordAuthentication. Для данной директивы, серверу, необходима Kerberos servtab, разрешающая проверку субъекта KDC.
По-умолчанию "no".

KerberosGetAFSToken

Если AFS включена и у пользователя имеется Kerberos 5 TGT, получать талон AFS перед обращением к домашнему каталогу пользователя.
По-умолчанию "no".

KerberosOrLocalPasswd

Если аутентификация по Kerberos не проходит, проверять пароль другими средствами, например /etc/passwd.
По-умолчанию "yes".

KerberosTicketCleanup

Очистка кэша "билетов" пользователя при завершении сеанса.
По-умолчанию "yes".

KeyRegenerationInterval

Для протокола версии 1, ключ сервера будет регенерироваться по истечении количества секунд, указанных данным параметром, (в случае его использования). Целью регенерации, является, защита уже установленных, шифрованных сессий от перехвата ключей. Ключ нигде не сохраняется. Значение 0, запрещает регенерацию.
По-умолчанию 3600 секунд.

ListenAddress

Локальный адрес ( или адреса ), на которых сервер sshd будет принимать соединения.
Формат записей может быть следующим:
  • ListenAddress имя хоста или адрес-IPv4 / IPv6
  • ListenAddress имя хоста или адрес-IPv4 : порт
  • ListenAddress имя хоста или адрес-IPv6 : порт
Без указания порта, сервер sshd, будет ожидать соединений на данном адресе и на портах, указанных ранее в директиве Port, если директива Port не была назначена, соединения принимаются на 22 порту. По-умолчанию сервер sshd, ожидает соединений на всех локальных адресах.
Допускается многократное использование директивы, для указания более чеи одного адреса.

LoginGraceTime

Время ожидания регистрации пользователю в системе. Если пользователь, не успел войти в систему в течении отведенного данной директивой времени, сеанс обрывается. Если установлено 0, время на вход не ограничено.
По-умолчанию 120 секунд.

LogLevel

Устанавливает так называемый, уровень логгирования событий. сервера sshd.
Допустимые значения: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3.
Значения DEBUG и DEBUG1 являются эквивалентами. Значения DEBUG*, использовать не рекомендуется, так нарушается конфиденциальность пользователей.
По-умолчанию: INFO.

MACs

Разрешенные MAC (Message Authentication Code ), алгоритмы. Используются протоколом версии 2 для гарантирования целостности передаваемых данных. Алгоритмы указываются через запятую.
По-умолчанию: "hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96".

Match

Директива условие, образует блок. Если условия в самой директиве удовлетворены, входящие в блок директивы имеют приоритет над указанными в глобальном разделе файла конфигурации. Окончанием блока может быть, либо следующая директива Match, либо конец файла. Аргументами директивы Match, являются пары, критерий-шаблон, возможные критерии: User, Group, Host, и Address.
В блоке Match можно использовать следующие директивы: AllowTcpForwarding, Banner, ForceCommand, GatewayPorts, GSSApiAuthentication, KbdInteractiveAuthentication, KerberosAuthentication, PasswordAuthentication, PermitOpen, RhostsRSAAuthentication, RSAAuthentication, X11DisplayOffset, X11Forwarding, X11UseLocalHost .

MaxAuthTries

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

MaxStartups

Число одновременных соединений, в которых еще не пройдена аутентификация. При достижении данного значения, последующие соединения будут сбрасываться, пока не будет пройдена аутентификация, на уже установленных соединениях или пока не истечет время, установленное директивой LoginGraceTime. В качестве альтернативы может быть использован механизм раннего, случайного отказа в подключении, путем установки разделённых двоеточием значений "старт:норма:предел" (например, "10:30:60"). Соединение будет сбрасываться с вероятностью "норма/100" (30%) если имеется "старт" (10) соединений с не пройденной аутентификацией. Вероятность возрастает линейно, и всем соединениям будет отказано, если количество не прошедших аутентификацию соединений достигнет числа "предел" (60).
По-умолчанию 10.

PasswordAuthentication

Разрешить аутентификацию по паролю.
По-умолчанию "yes".

PermitEmptyPasswords

Разрешить использование пустых паролей при аутентификации по паролю.
По-умолчанию "no".

PermitOpen

Директива ограничивает возможные конечные точки для TCP туннелей. Формат записи следующий:
  • PermitOpen хост : порт
  • PermitOpen адрес-IPv4 : порт
  • PermitOpen [ адрес-IPv6 ] : порт
Разрешено указывать нескольких конечных точек, разделяя их пробелом.
Значение "any" снимает ограничение и установлено по-умолчанию.

PermitRootLogin

Разрешить пользователю root вход через протокол SSH. Возможные значения: "yes", "without-password", "forced-commands-only", "no". Если директива установлена в "without-password" вход для пользователя root по паролю, будет запрещен. Значение "forced-commands-only" разрешает регистрацию пользователя root по открытому ключу, но только если установлен параметр command ( может пригодиться для удалённого создания резервных копий, даже если вход пользователя root по протоколу SSH, в обычном режиме запрещен ). Остальные способы аутентификации для пользователя root будут запрещены.
Значение по умолчанию "no", удаленный вход в систему пользователем root, полностью запрещён.

PermitTunnel

Разрешать-ли использовать форвардинг для устройств tun. Возможные значения: "yes", "point-to-point" (уровень 3), "ethernet" (уровень 2), "no". Значение "yes", одновременно эквивалентно значениям, "point-to-point" и "ethernet".
По-умолчанию "no".

PermitUserEnvironment

Директива определяет, принимать-ли во внимание содержимое ~/.ssh/environment и параметры environment= в файле ~/.ssh/authorized_keys. Изменяя переменные окружения, пользователь может обойти ограничения своих полномочий, например, с помощью механизма LD_PRELOAD.
По-умолчанию "no".

PidFile

PID-файл в который записывается идентификатор процесса, сервера sshd.
По-умолчанию /var/run/sshd.pid.

Port

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

PrintLastLog

Показывать-ли ли время и дату последнего входа в систему, при интерактивной регистрации пользователя в ней.
По-умолчанию "yes".

PrintMotd

Показывать-ли содержимое файла /etc/motd при интерактивном входе пользователя ( в некоторых системах это выполняется сценарием /etc/profile или аналогом ).
По-умолчанию "yes".

Protocol

Какую версию протокола использовать. Возможные значения 1 и 2. можно указать через запятую. В данный момент протокол версии 1, использовать не рекомендуется из соображений безопасности.
По-умолчанию: 2.

PubkeyAuthentication

Разрешить аутентификацию по открытому ключу. Только для протокола версии 2.
По-умолчанию "yes".

RhostsRSAAuthentication

Разрешить аутентификацию по файлам .rhosts или /etc/hosts.equiv, совместно с аутентификацией по хосту RSA. Только для протокола версии 1.
По-умолчанию "no".

RSAAuthentication

Разрешить аутентификацию только по ключу RSA. Только для протокола версии 1.
По-умолчанию "yes".

ServerKeyBits

Длина ключа сервера для протокола версии 1. Минимальное значение - 512,
По-умолчанию: 768.

StrictModes

Директива определяет, проверять-ли права доступа и владельца конфигурационных файлов и домашнего каталога, перед разрешение входа пользователя в систему. Рекомендуется выполнять данную проверку, новички частенько оставляют свои каталоги или файлы доступными на запись другим пользователям.
По-умолчанию "yes".

Subsystem

Включает внешнюю подсистему (например FTP). В качестве параметров понимает, имя подсистемы и команду, которая будет выполнена при запросе подсистемы. Команда sftp-server, реализует протокол передачи файлов через SSH, "sftp".
Только для протокола версии 2.
По-умолчанию: не установлена.

SyslogFacility

Код сообщений для протокола syslog.
Возможные значения: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
По-умолчанию: AUTH.

TCPKeepAlive

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

UseDNS

Использовать DNS запросы, для определения имени удалённого хоста, с целью проверки, что обратное преобразование возвращает правильный IP-адрес.
По-умолчанию: "yes".

UseLogin

Использовать login для интерактивного входа в систему. Имейте в виду, login, не используется для удалённого выполнения команд. Если директива включена, функция X11Forwarding будет отключена, поскольку login, не умеет обрабатывать cookie xauth. Если используется разделение полномочий, UsePrivilegeSeparation, директива будет отключена, после прохождения аутентификации.
По-умолчанию: "no".

UsePAM

Включить дополнительные, подключаемые модули аутентификации ( Pluggable Authentication Module ). Возможные значения "yes", "no". Если данная директива включена, PAM аутентификация, будет доступна через ChallengeResponseAuthentication и PasswordAuthentication,
в дополнение к учётной записи PAM и обработке модулей для всех видов аутентификации. Так как беспарольная аутентификация PAM "вызов-ответ", является заменой аутентификации по паролю, нужно отключить, либо PasswordAuthentication, либо ChallengeResponseAuthentication. Если директива UsePAM включена, сервер sshd, можно выполнять только с правами пользователя root.
По-умолчанию: "no".

UsePrivilegeSeparation

Разделять полномочия путем создания дочернего процесса с меньшими привилегиями, для обработки входящего трафика. После успешной аутентификации пользователя, будет запущен отдельный процесс, с правами данного пользователя. Данная директива используется в целях повышения безопасности, что-бы предотвратить повышение своих полномочий, недобросовестному пользователю.
По-умолчанию: "yes".

X11DisplayOffset

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

X11Forwarding

Разрешить туннелирование X11. Возможные значения "yes", "no". Если дисплей-посредник ожидает соединений на любых адресах ( подстановка "*"), включение туннелирования X11, подвергает сервер и виртуальные дисплеи пользователей, дополнительной опасности. По этой причине, такое поведение не является поведением по-умолчанию. Проверка и подмена данных аутентификации при атаке выполняются на стороне клиента. При туннелировании X11 графический сервер клиента, может подвергаться атаке, при запросе клиентом SSH туннелирования. Для большей безопасности администратор может запретить туннелирование, установив значение "no". Имейте в виду, даже если туннелирование X11 запрещено данной директивой, пользователи по-прежнему смогут туннелировать трафик X11, настроек туннели общего назначения. Туннелирование X11 отключается автоматически при включении параметра UseLogin.
По-умолчанию: "no".

X11UseLocalhost

Директива определяет, на какой адрес, sshd повесит сервер для форвардинга X11, на так называемую петлю ( 127.0.0.1 ) или на подстановку "*" ( любой ). По-умолчанию sshd привязывает сервер туннелирования к петле, а в качестве хоста, в переменную среды DISPLAY заносит "localhost".
Это не позволяет удалённым хостам подключаться к дисплею-посреднику. Однако, в случае старых клиентов X11, такая конфигурация может не сработать, в этом случае можно установить значение "no". Возможные значения: "yes", "no".
По-умолчанию: "yes".

XAuthLocation

Указывает путь к команде xauth.
По-умолчанию: /usr/X11R6/bin/xauth.

воскресенье, 17 февраля 2013 г.

Консольные утилиты мониторинга для Linux

Перепост отличной статьи с сайта: Korodus


На данный пост меня вдохновила статья на хабре про утилиты мониторинга для Linux. Оригинал статьи находится здесь.
1. vmstat (virtual memory statistics) — выдает некоторую статистику по использованию процессов и памяти.
vmstat [-V] [-n] [delay [count]]
2. top - консольная команда, которая выводит список работающих в системе процессов и информации о них.
top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
Программа с частотой обновления в 2с показывает текущую активность процессов в виде таблицы. Стандартные колонки:
  • PID — идентификатор процесса
  • USERNAME — пользователь, от которого запущен процесс
  • THR — количество потоков, запущенных процессом
  • PRI — текущий приоритет процесса
  • NICE — приоритет, выставленный командой nice. От −20 (наивысший) до 19.
  • SIZE — размер процесса (данные, стек и т. д.) в килобайтах
  • RES — текущее использование оперативной памяти
  • STATE — текущее состояние («START», «RUN» (только в этом состоянии показывает текущую нагрузку программы на процессор), «SLEEP», «STOP», «ZOMB», «WAIT» или «LOCK»)
  • C — номер процессора, на котором идет выполнение (доступен только на SMP системах)
  • TIME — время использования процессора в секундах
  • CPU — процент доступного времени процессора, которое использовала запущенная программа
  • WCPU — усредненное значение CPU
  • COMMAND — название команды, под которой работает процесс.
Чтобы выйти из программы top, нужно нажать клавишу [q].
Полезные интерактивные команды, которые можно использовать в top:
  • [Пробел] Немедленно обновить содержимое экрана.
  • [h] Вывести справку о программе.
  • [k] Уничтожить процесс. Программа запрашивает у вас код процесса и сигнал, который будет ему послан.
  • [n] Изменить число отображаемых процессов. Вам предлагается ввести число.
  • [u] Сортировать по имени пользователя.
  • [M] Сортировать по объёму используемой памяти.
  • [P] Сортировать по загрузке процессора.
Подробнее об утилите top на страничке Wiki http://ru.wikipedia.org/wiki/Top
3. atop — продвинутый интерактивный полноэкранный монитор производительности, написанный для Linux. Является аналогом top, но в отличие от него выводит только новые изменения об активных системных процессах. Позволяет контролировать загрузку ЦПУ, ОЗУ, HDD, компьютерной сети, а также распределение нагрузок по обрабатываемым процессам. Является удобным инструментом для администрирования системы.
atop [-flags] [interval [samples]]
atop -w  file  [-S] [-a] [interval [samples]]
atop -r [file] [-b hh:mm] [-e hh:mm] [-flags]
Подробнее об утилите atop на страничке Wiki http://ru.wikipedia.org/wiki/Atop  4. htop - продвинутый монитор процессов. Htop показывает динамический список системных процессов, список обычно выравнивается по использованию ЦПУ. В отличие от top htop показывает все процессы в системе. Также показывает время непрерывной работы, использование процессоров и памяти.
Подробнее об утилите htop на страничке Wiki http://ru.wikipedia.org/wiki/Htop


5. iotop — показывает активность записи на диск и чтения с диска, использование swap-раздела, и полную статистику обращения к диску всех процессов. Список процессов сортируется от более активных процессов к менее активным и обновляется раз в секунду.
Список команд управления утилитой очень короткий и состоит всего из двух команд:
  • r обратная сортировка, то есть от менее активных процессов к более активным;
  • q для выхода.
Для iotop нет man-страницы, так что используйте опцию —help для просмотра списка всех доступных опций, таких, например, как -d, которая задает частоту обновления.
Установка: sudo apt-get install iotop
Команда запуска: /usr/bin/iotop
Сайт: http://guichaz.free.fr/misc/#iotop
6. iftop - утилита предназначена для мониторинга загрузки канала в реальном времени. По умолчанию программа отображает конечные точки сетевых соединений (можно нажать клавишу p, тогда будут отображаться также номера портов), причем объем передаваемых данных отображается как в виде цифр, так и в виде графического представления: горизонтальной полоски.
Настройка отображаемой информации осуществляется путем нажатия на клавиши: для вывода списка доступных команд нажмите ?. iftop можно запускать с различными опциями, например, если нужно отслеживать только один интерфейс.
Информация отображается iftop в очень простом и понятном виде. Программа незаменима для контроля сети и определения ее пропускной способности. Возможно, вам также понадобится команда netstat -p для определения, какой именно процесс использует сеть в настоящее время.
Установка из командной строки: sudo apt-get install iftop
Команда запуска: /usr/sbin/iftop
Сайт: http://www.ex-parrot.com/~pdw/iftop/
7. powertop - находит программные компоненты, которые вынуждают Ваш ноутбук потреблять больше энергии, чем это необходимо, в то время как он находится в режиме ожидания.
PowerTOP собирает информацию из различных источников ядра и отображает результат работы системы в одном окне так, что Вы можете видеть, насколько хорошо Ваша система работает, и какие компоненты наиболее проблемные.
Подробнее об утилите можно прочитать на сайте
http://www.calculate-linux.org/blogs/en/205/show
8. itop - Мониторинг интенсивности генерации прерываний.
http://www.hunz.org/itop/
9. kerneltop
Наверное, должен показывать что-то интересное про ядро. У меня дома ему не понравился System.map, а на сервере — отсутствие /proc/profile.
10. dnstop
Специализированный анализатор DNS-трафика на интерфейсе. Наверное, был бы очень полезен при починке DNS на контроллере домена, к сожалению, Active Directory на линуксе работает не очень хорошо.
Безусловно полезно для нахождения засранца, загоняющего бинд в неприличный LA.
Анализ количества DNS запрососв как средство борьбы с завирусованными клиентами
На DNS сервер запускаем dnstop
dnstop -4 -Q -i IP_АДРЕС ВАШЕГО_DNS eth0
На DNS сервер запускаем dnstop
Смотрим tcpdump-ом DNS запросы клиентов которые превышают 1% от общего количества и убеждаемся что они с «бешеной» скоростью перебирают MX записи. Звоним клиенту – предупреждаем о зараженной машине которая рассылает спам.
11. jnettop — так же, как и iftop утилита предназначена для мониторинга загрузки канала в реальном времени.
12. sntop
Замечательная штука для скринсейвера или публичного монитора — по конфигу рассылает пинги и показывает, если какой-то хост лёг. В принципе, в рабочих условиях при настроенном конфиге позволяет быстро оценить состояние не очень большого парка серверов (запустили — и сразу красным видно, кто лежит).
13. latencytop
14. xrestop
Монитор потребления ресурсов X-сервера разными приложениями, которые к нему подключились. (Обнаружил, что хром жрёт ресурсов х-сервера много больше, чем опера. Но, Опера в свою очередь жрет гораздо больше системных ресурсов, чем слово «херня» нарисованное на заборе, что не означает, что будем использовать ту херню.)
14a. slabtop
Специализируется на структурах данных SLAB ядра, фактически, показывает использование памяти в более тонких категориях, чем «свободно/занято/кеш». View only, несколько режимов сортировки.
15. apachetop
Не столь полезен, как хотелось бы, показывает статистику ответов на запросы. Никакой магии, просто читает логи апача.
16. sqtop
Топ по логам сквида. С учётом скорости их роста, сначала генерирует промежуточную статистику, а потом уже даёт по ней шаритьс
17. pg_top
Пакет в debian почему-то называется ptop (Как и всё в дебиане… Вроде есть, но не так называется, не так работает… Пример VIM. Отвлекся…). Мониторит загрузку postgresql.
18. mytop
Мониторит mysql. Есть альтернативный mtop, делает примерно то же, но заброшен и (в дебиане ;] ) выпилен в районе lenny -> squeeze.
19. xentop
Мониториг доменов XEN’а. Интересен тем, что показывает не только память-процессор, но и дисковые операции с сетью. К сожалению, никакого управления, view only. Единственный из всех top’ов, не влазящий в 80 столбцов при выводе.
Список топов, которые я глазами не посмотрел:
  • hatop — мониторинг haproxy
  • virt-top — мониторинг за работой libvirt
  • mctop — мониторинг состояния memcached
  • perf-top — нашёл документацию, самого perf-top в виде тарбола или пакета не нашёл.
20. hatop
21. virt-top
22. mctop
23. gkrelmtop
24. ntop
25. libgtop
26. nload
27. nethogs
Отображает сетевой трафик от конкретных приложений. Очень топовая штука, имхо…
28. ntop показывает текущее использование сети. Он отображает список хостов, которые в настоящее время используют сети и предоставляет информацию, касающуюся IP и не-IP-трафикf, генерируемого каждым хостом.
29. netstat позволяет получить в режиме реального времени информацию о состоянии сетевых соединений, а также статистические данные и таблицу маршрутизации.
30. iptraf мониторинг данных, пересылаемых через сетевой интерфейс, а также просмотр статистики пo соединениям.
31. ipstate мониторит contrack из iptables, показывает активные трансляции с возможностью их прибить. Фактически, близок к цисковому sh ip nat tra, но удобнее.
32. prstat
33. glance
34. vnstat
vnstat —live Monitoring eth0
Сначала ложные топы кратко:
  • gkrelmtop — плагин под gkrelm (монитор производительности в гуе) — оффтопик.
  • ntop — нарушает text-based традицию интерактивных программ и ставится как сайт для апача.
  • libgtop — библиотека для мониторигна производительности
  • nload — консольный монитор сетевой активности, в отличие от обычных top’ов не выводит рейтинг, а рисует текстовый график.
При подготовке поста использовались материалы Wikipedia, http://www.fedoralinux.ru http://gnu.su/news.php?extend.602