По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
OpenSSH позволяет выполнять удаленное подключение к серверу, производить манипуляции с файлами и управлять системой. Сегодня хотим рассказать про лучшие методы, которые позволят увеличить безопасность системы на базе OpenSSH.
Конфигурационные файлы
/etc/ssh/sshd_config - файл конфигурации сервера OpenSSH;
/etc/ssh/ssh_config - файл конфигурации клиентской части OpenSSH;
~/.ssh/ - директория, в которой хранятся пользовательские SSH настройки;
~/.ssh/authorized_keys или ~/.ssh/authorized_keys - список ключей (RSA или DSA), которые используются для подключения к пользовательским аккаунтам;
/etc/nologin - если данный файл существует в системе, то sshd запретит подключаться всем пользователям кроме root в систему;
/etc/hosts.allow и /etc/hosts.deny - система запрета (часть безопасности). Работает по аналогии с ACL;
SSH порт по умолчанию - 22
Не нужен - выключай
Если вашему серверу не требуется удаленное подключение по SSH, то обязательно отключите его. В таких системах как CentOS/RHEL делается это так:
chkconfig sshd off
yum erase openssh-server
Используйте SSH второй версии
Протокол SSH первой версии имеет проблемы с безопасностью, которые закрыты во второй версии. Поэтому, используйте вторую версию. Убедитесь, что в файле /etc/ssh/sshd_config указана опция Protocol 2.
Ограничивайте SSH доступ
По умолчанию, все системные пользователи имеют возможность подключаться к системе по SSH. Рекомендуем ограничить SSH доступ в целях безопасности. Например, разрешить SSH для пользователей root, merion и networks:
AllowUsers root merion networks
С другой стороны, вы можете разрешить доступ всем пользователям, кроме указанных:
DenyUsers root merion networks
Время неактивности
Важно указывать время, в течение которого, неактивная сессия будет терминирована (завершена). Это можно сделать следующими опциями:
ClientAliveInterval 300
ClientAliveCountMax 0
В данной настройке мы указали время бездействия равным 300 секунд (5 минут).
Про файлы .rhosts
Дело в том, что данный файл содержит список хостов и пользователей. Если в данном файле содержится комбинация хоста и юзера, то данный пользователь сможет подключиться к системе по SSH без запроса пароля. Рекомендуем отключить эту «замечательную» фичу:
IgnoreRhosts yes
Никакой аутентификации на базе хоста!
Так называемая Host-Based Authentication позволяет пользователю с определенного хоста подключаться к серверу. Отключаем:
HostbasedAuthentication no
Прямое подключение через root
Не нужно открывать root. Максимум, советуем использовать прямое root подключение на время проведения работ. Затем отключать. Лучше давать su (sudo) доступ для некоторых категория пользователей. Закрыть можно вот так:
PermitRootLogin no
Сделайте баннер
Для каждого подключающегося сделайте баннер, в котором можно угрожать злоумышленникам, которые пытаются совершить несанкционированный доступ. За настройку баннера отвечает параметр Banner.
22 порт только изнутри!
Сделайте доступ к 22 порту системы только через цепочку фаервол правил. Лучше всего, оставить доступ только изнутри LAN. Например, в Iptables можно дать доступ для 192.168.11.0/24:
-A RH-Firewall-1-INPUT -s 192.168.11.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
Где слушать
По умолчанию SSH слушает подключения на всех доступных интерфейсах. Мы рекомендуем сменить порт по умолчанию и указать IP – адрес, на котором необходимо ожидать подключения. Например, мы укажем порт 962 и IP – адрес 192.168.11.24
Port 962
ListenAddress 192.168.11.24
Криптостойкие пароли
Используйте устойчивые к защите пароли. В сети множество инструментов, которые сгенерируют криптостойкий пароль онлайн, бесплатно и без смс :)
Запретить пустые пароли
Бывают пользователи без паролей. Их доступ к SSH так же необходимо запретить с помощью опции:
Port 962
PermitEmptyPasswords no
Анализируйте логи
Установите логирование событий в режим INFO или DEBUG – это позволит иметь расширенный контроль над системой:
LogLevel INFO
У всех профессионалов есть набор инструментов, который ежедневно помогает ему в работе. Независимо от того, проектируете ли вы сеть, диагностируете и устраняете проблему или отслеживаете среду, ваш пакет сетевых инструментов должен быть полным, удобным и надежным. Вот почему мы собрали список некоторых из основных бесплатны инструментов для сетевых администраторов, и оставили ссылки на скачивание. Некоторые будут вам знакомы, некоторые будут новыми, но в любом случае эта информация не будет лишней. Давайте начнем!
Анализаторы
Wireshark / Tshark
Wireshark - это не имеющий аналогов анализатор сетевых протоколов, и, честно говоря, один из лучших бесплатных сетевых инструментов, когда-либо созданных. Когда вы решаете сетевую проблему и вам действительно нужно погрузиться глубже, внутрь пакетов – Wireshark будет вашим микроскопом.
Если вы ищете что-то для захвата командной стоки или, возможно, вы хотите программно инициировать захват пакетов, не забудьте проверить TShark. Он включен в Wireshark, работает аналогично Tcpdump и совершенно потрясающий.
iPerf / JPerf
Между любыми двумя узлами находится сеть - огромная или маленькая. Простой пинг между двумя узлами хорош только для проверки общей достижимости и понимания времени кругового обхода для небольших пакетов. Если вы хотите измерить реально достижимую пропускную способность, вам нужен другой инструмент, такой как iPerf.
iPerf3 - последняя версия этого инструмента. Вы запускаете клиент на двух концах сети, настраивая параметры, необходимые для измерения производительности. Он поддерживает настройку многих параметров, связанных с синхронизацией, буферами и протоколами (TCP, UDP, SCTP с IPv4 и IPv6). После выполнения он активно измеряет и сообщает о пропускной способности, потерях, задержке, джиттере и т. д. Вы можете инициировать несколько одновременных подключений, чтобы действительно имитировать нагрузку в сети. Очень удобный инструмент!
Если вы больше предпочитаете графический интерфейс, то посмотрите Jperf. Он возрасте, но все еще работает как часы.
Nmap / Zenmap
Nmap (Network Mapper) - это сканер безопасности, используемый для обнаружения хостов и сервисов в компьютерной сети, который создает таким образом «карту» сети. Для достижения своей цели Nmap отправляет специально созданные пакеты целевому хосту, а затем анализирует ответы.
Nmap предоставляет невероятное количество функций для исследования сетей, включая обнаружение узлов, обнаружение служб и детектирование операционной системы.
Эти функции расширяются с помощью сценариев, которые обеспечивают более расширенное обнаружение служб, обнаружение уязвимостей и другие функции. Фактически, Nmap используется в бэкэнде для различных инструментов оценки безопасности, таких как Nexpose.
Опять же, если вы являетесь большим поклонником графического интерфейса, обязательно загрузите пакет с Zenmap.
Paessler SNMP Tester
SNMP может быть сложным. Вот почему вам нужен хороший тестер, например Paessler SNMP Tester.
Идея этой программы состоит в том, чтобы иметь инструмент, который позволяет пользователю отлаживать действия SNMP, чтобы находить проблемы со связью или с данными в конфигурациях мониторинга SNMP. Ваши устройства настроены правильно? Вы используете правильные ключи? Используйте этот инструмент, чтобы проверить, будет ли ваша конфигурация SNMP работать с такими программами, как PRTG Network Monitor.
Angry IP Scanner
Angry IP Scanner - это многопоточный сканер IP-адресов и портов с открытым исходным кодом. Подобный Nmap, используемый миллионами, он стал стандартным инструментом для сетевых администраторов. Angry IP Scanner сначала быстро пингует, затем проверяет состояние порта, затем начинает резолвить имена хостов, собирать MAC-адреса, операционные системы и все, что он может различить на основе собранных данных. Он может собирать информацию NetBIOS, такую как имена рабочих групп и доменов, а также зарегистрированных пользователей, если у вас есть привилегированные права для получения этой информации. Как и Nmap, он расширяется с помощью плагинов. Результаты сканирования могут быть сохранены в CSV, TXT, XML или файлы списка IP-портов. Работает на Windows, Mac и Linux.
Netcat
Netcat, часто описываемый как «швейцарский нож», чрезвычайно полезен для всего, что касается отправки или получения информации о сетевых портах. Это многофункциональный инструмент для отладки и исследования сети, поскольку он может создавать практически любые виды соединений, которые вам понадобятся.
Мониторинг и логирование
Nagios
Nagios - это программное решение для сетевого мониторинга. Фактически это набор решений для мониторинга доступности сети, анализа потоков данных и безопасности, а также сбора журналов для аудита. Это полностью открытый исходный код и имеет энергичное сообщество единомышленников разработчиков и администраторов.
С
Как и любая современная АТС, Asterisk имеет свою встроенную систему хранения истории звонков - CDR (Call Detail Record). Она используется для снятия статистики, ведения отчетности, прослушивания вызовов или подсчета биллинговых показателей.
В Asterisk для этого создана база данных asteriskcdrdb, в которой существует таблица cdr. Давайте рассмотрим как пользоваться данной таблицей и ее структуру.
[root@asterisk]# mysql // подключаемся к MySQL
После успешного подключения, необходимо выбрать для работы базу данных asteriskcdrdb:
mysql> use asteriskcdrdb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
Давайте убедимся, что у нас есть таблица cdr. Выполним это, как указано ниже:
mysql> show tables;
+-------------------------+
| Tables_in_asteriskcdrdb |
+-------------------------+
| cdr |
| cel |
+-------------------------+
2 rows in set (0.00 sec)
На данном этапе мы убедились, что у нас есть база данных asteriskcdrdb, в которой находится таблица cdr. Давайте попробуем посмотреть входящие звонки из города за сегодня (дата написания статьи 18 марта 2016 года), в период с 12:00 до 12:10, т.е за 10 минут:
SELECT `dst` , `src` , `duration` , `calldate` , `recordingfile`
FROM `cdr` WHERE `calldate` >= '2016-03-18 12:00:00' AND `calldate` <= '2016-03-18 12:10:00' AND LENGTH( `src` ) >3;
+-----+-------------+----------+---------------------+----------------------------------------------------------------+
| dst | src | duration | calldate | recordingfile |
+-----+-------------+----------+---------------------+----------------------------------------------------------------+
| 113 | 84991111111 | 140 | 2016-03-18 12:00:36 | external-113-84991111111-20160318-115933-1458291573.157155.wav |
| 104 | 89162222222 | 81 | 2016-03-18 12:01:33 | external-104-89162222222-20160318-120133-1458291693.157169.wav |
+-----+-------------+----------+---------------------+----------------------------------------------------------------+
2 rows in set (0.00 sec)
В вышеуказанном примере, в SQL запросе указано LENGTH( `src` ) >3. Столбец ‘src’ – показывает номер звонящего (source - источник). Это сделано для того, чтобы исключить внутренние звонки, так как у нас используется трехзначная нумерация. Тем самым, мы получаем в результате данные, с которыми затем можем работать. Например, отправить на почту в виде отчета. Ниже рассмотрена структура таблицы cdr в базе данных asteriskcdrdb:
Столбец
Пример значения
Описание
calldate
2016-03-18 12:00:36
Дата и время звонка
clid
"Oleg Ivanov" <84991111111>
В данное поле попадает полное CallerID (CLID, CID), которое состоит из имени и номера звонящего. Это доступно только для считывания.
src
84991111111
Номер звонящего в конструкции CallerID (CNUM). Это доступно только для считывания.
dst
113
Номер назначения для звонка. Это доступно только для считывания.
dcontext
CustomContext1
Контекст для обработки. Это доступно только для считывания.
channel
SIP/0002B2356854-a34bh3ef
Канал, через который поступил звонок
dstchannel
SIP/0004F6675969-97836bb0
Канал, через который ушел исходящий звонок
lastapp
Dial, Busy, Congestion
Приложение, которое последним отработало этот вызов перед попаданием в таблицу cdr
lastdata
SIP/0004F6675969,30,tT
Аргумент, который был передан приложению, которое отработало вызов последним (lastapp)
duration
75
Количество секунд от начала (отметка start) до окончания вызова (отметка end)
billsec
67
Количество секунд от ответа (отметка answer) до окончания вызова (отметка end). Данное значение всегда меньше значения duration, и отражает длительность самого разговора, что важно для подсчета стоимости.
disposition
ANSWERED, BUSY, NO ANSWER, FAILED
Результат звонка
amaflags
OMIT, BILLING, DOCUMENTATION, Unknown
Метка Automatic Message Accounting (AMA) – автоматический учет стоимости вызова.
accountcode
23232
Идентификатор аккаунта. Данное значение пустое по умолчанию, и определяется параметрами конкретного пользователя.
uniqueid
1458291693.157169
Уникальный идентификатор звонка
userfield
-
Пользовательское поле. Здесь можно передавать что угодно, добавляя данные в этот столбец при работе с вызовом внутри контекста обработки.
did
4996491913
DID (Direct Inward Dialing). На основании DID вызова на Asterisk осуществляется его маршрутизация (это значение приходит от провайдера).
recordingfile
external-113-84991111111-20160318-115933-1458291573.157155.wav
Имя файла, содержащего запись разговора. В данном имени можно проследить путь к файлу в файловой структуре сервера.
cnum
84991111111
Номер звонящего в структуре CallerID.
cnam
Oleg Ivanov
Имя звонящего в структуре CallerID.
Теперь, когда вы понимаете принцип формирования запросов к базе данных и ее структуру, вы можете без труда формировать собственные отчеты. Например, ежедневный отчет о количестве входящих звонков за текущий день на почту. Это реализуется средствами php скрипта и добавления расписания через cron. Поговорим об этом в следующей статье