По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
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
img
Всем привет! В сегодняшней статье мы расскажем, как победить очень надоедливый “баг” во FreePBX, который кочует из версии в версию и сильно мешает пользователям, которые используют кириллицу, то есть русские буквы, в именах внутренних номеров своей IP-АТС. Точно можно сказать, что данная проблема присутствовала в FreePBX 13 и перебралась в 14 релиз. /p> Как многие могли догадаться, речь пойдёт о неправильном отображении русской кодировки в модуле CDR, в простонародье – кракозябры в CDR. Предыстория Итак, вот вы установили самый последний актуальный FreePBX Distro SNG7-FPBX-64bit-1707-1, долго ждали когда же наконец закончится загрузка 571 пакета (если устанавливаете на VM) Небольшой оффтоп для тех, кто устанавливает FreePBX 14 на VM и подумал, что процесс установки завис на 571 пакете и надо его прервать – НЕТ, он не завис, наберитесь терпения, правда. Да, это долго, мы, например, ждали полтора часа. Отдохните, попейте кофе, почитайте о нововведениях в FreePBX 14 И, наконец, дождались - всё готово, пора регистрировать абонентов. Вы добавили два внутренних номера с русскими именами, пусть будет Алексей Добронравов и Сергей Злонамеров Зарегистрировали для каждого по софтфону и провели тестовый звонок – успех. А что же в CDR? Открываете Reports → CDR Reports и видите те самые “кракозябры”, которые мало чем напоминают имена наших внутренних абонентов. Знакомо? Тогда читай дальше! Быстро проверим таблицу cdr в базе asteriskcdrdb и убедимся, что там такая же картина: Решение Внимание! Прежде чем повторять дальнейшие инструкции – сделайте полный бэкап системы или снэпшот виртуальной машины. Компания Мерион Нетворкс не несёт ответственности за потенциальные проблемы, которые могут возникнуть на вашей IP-АТС. Неправильное выполнение нижеизложенных действий может привести к полной неработоспособности FreePBX и Asterisk! В интернете можно найти много советов по устранению данной проблемы, начиная от выставления значения charset = utf8 в файле /etc/asterisk/cdr_mysql.conf и выполнения core reload, когда записи опять слетают и заканчивая написанием скрипта, который будет время от времени производить принудительную перекодировку записей. Но всё это либо “костыль”, либо не помогает вовсе. На сайте разработчика freepbx.org по данной проблеме даже заведён официальный Bug FREEPBX-15268, который по сегодняшний день имеет статус (11.10.2017) DEV TESTING: Unresolved, то есть – не решён. Более менее действенным способом решения этой проблемы является снос старого MySQL коннектора и установка mysql-connector-odbc-5.3.9 (ANSI Driver), а затем внесение изменений в файл /etc/odbc.ini следующего вида: [MySQL-asteriskcdrdb] driver=MySQL ODBC 5.3 ANSI Driver После этого записи в CDR, конечно, будут отображаться корректно, однако, все логи будут завалены предупреждениями типа: [2017-10-13 22:31:16] WARNING[8933] cel_odbc.c: Insert failed on 'asteriskcdrdb:cel'. CEL failed: INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,extra) VALUES ('CHAN_START',{ts '2017-10-13 22:31:16.974567'},'Алексей Добронравов','175','','','','s','from-internal','SIP/175-00000001','','',3,'','1507923076.1','1507923076.0','','','') [2017-10-13 22:31:18] WARNING[8933] cel_odbc.c: Insert failed on 'asteriskcdrdb:cel'. CEL failed: INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,extra) VALUES ('ANSWER',{ts '2017-10-13 22:31:18.631244'},'Алексей Добронравов','175','175','','','175','from-internal','SIP/175-00000001','AppDial','(Outgoing Line)',3,'','1507923076.1','1507923076.0','','','') При этом в самой таблице cel, на которую ругается сервер, всё будет нормально: Вроде решение, CDR корректен, но лог будет буквально забит этими предупреждениями, а мы этого не хотим. Итак, сейчас мы опишем способ решения, после которого и логи будут чистыми и никаких “кракозябр” в CDR вы не увидите. Для начала, нужно удалить текущий mysql-connector-odbc, однако, в силу того, что он связан зависимостями, вместе с ним удалится и сам Asterisk. Поэтому, сначала нужно узнать, какой именно коннектор установлен на сервере, и удалить его отдельно. Для этого пишем команду: rpm -qa | grep mysql-connector-odbc Ну и после предыдущих манипуляций видим, что у нас установлен mysql-connector-odbc-5.3.9-1.el7.x86_64, вероятнее всего у вас будет mysql-connector-odbc-5.3.6. Теперь его нужно удалить, но не учитывая при этом его зависимости. Нам нужно удалить только коннектор, для этого пишем следующую команду: rpm -e --nodeps "mysql-connector-odbc-5.3.9-1.el7.x86_64" Теперь нужно установить новый коннектор, но только не от MySQL, а от MariaDB, для этого пишем: Внимание! Ввод следующей команды без предварительного сноса прежнего коннектора может привести к полному отказу Asterisk! yum install mariadb-connector-odbc Теперь проверьте файл /etc/odbcinst.ini в нём обязательно должна быть запись: [MariaDB] Description=ODBC for MariaDB Driver=/usr/lib64/libmaodbc.so Setup=/usr/lib64/libodbcmyS.so UsageCount=1 Теперь сделаем перезагрузку fwconsole restart и всё готово. Проводим ещё пару тестовых звноков, смотрим в модуль CDR во FreePBX и проверяем таблицу cdr в asteriskcdrbd: И логи тоже проверьте, они будут чистыми, никаких предупреждений :) На этом – всё. Надеемся, что наша статься будет вам полезна и поставит, наконец, точку в истории этого надоевшего всем бага. Выражаем благодарность нашим читателям, которые активно обсуждали данную проблему в комментариях и подсказали правильное направление для её решения.
img
Сегодняшняя статья будет посвящена основному протоколу динамической маршрутизации – BGP (Border Gateway Protocol). Почему основному? – Потому что с именно с помощью BGP организована топология всего Интернета. Итак, в данной статье разберем следующие моменты: Основные термины протокола BGP Принципы работы протокола BGP Типы сообщений протокола BGP Видео: Основы BGP за 7 минут Терминология Когда речь идёт BGP, первое на чем необходимо остановиться - это понятие автономной системы AS(Autonomus System). Автономная система - это совокупность точек маршрутизации и связей между ними, объединенная общей политикой взаимодействия, которая позволяет этой системе обмениваться данными с узлами, находящимися за ее пределами. AS характеризуется (с недавних пор 32 битным) номером ASN (Autonomus System Number) и пулом IP-адресов. Выдачей и того и другого занимается организация IANA (Internet Assigned Numbers Authority), делегируя контроль за распределением ASN и других интернет ресурсов, региональным регистраторам. Связность автономных систем достигается благодаря статической или динамической маршрутизации. Со статической маршрутизацией всё просто. Вы заходите на устройство и вручную прописываете маршрут до его ближайшего соседа. На практике, связать даже 10 маршрутизаторов между собой уже представляется довольно сложной задачей. Поэтому для больших сетей придумали динамическую маршрутизацию, при которой устройства автоматически делятся друг с другом информацией об имеющихся у них маршрутах и, более того, подстраиваются под изменения топологии. Как известно, протоколы динамической маршрутизации классифицируются по двум основным признакам: Тип работы протокола относительно AS IGP (Interior Gateway Protocol) – работают внутри автономной системы. Сюда относятся: RIP, OSPF, EIGRP, IS-IS EGP (Exterior Gateway Protocol) – работают вне автономных систем и обеспечивают их связность. Сюда относится BGP Алгоритм работы протокола Distance-Vector - знает маршруты только до своих ближайших соседей и обменивается с ними таблицей маршрутизации. (RIP, EIGRP) Link State – знает всю топологию сети и обменивается таблицей топологии со своими соседями (OSPF, IS-IS) Очевидно BGP не может быть Link State протоколом. Только представьте себе сколько автономных систем в Интернете, любой маршрутизатор просто выйдет из строя если получит такое количество информации. Итак, BGP – это протокол внешней маршрутизации, использующийся для соединения двух AS. Схема выглядит примерно так: Так как на BGP возложена великая задача – соединение автономных систем во всем Интернете, то он должен быть очень надежным. Для этих целей, в самом начале работы, BGP-маршрутизатор инициирует установление TCP сессии на 179 порт к своему соседу, происходит стандартных обмен SYN и ACK. Соединения по протоколу BGP должно быть абсолютно согласовано администраторами автономных систем, желающих организовать стык. Если, скажем, администратор AS402 запустил процесс BGP на маршрутизаторе BR2 (Border Router), указав в качестве соседа BR1 и его ASN, а администратор AS401 никаких действий не произвел, то TCP-сессия не поднимется и системы так и останутся несвязными. Кроме того, должны соблюдаться следующие условия: 179 порт не блокируется ACL (Access Control List) Маршрутизаторы пингуют друг друга При запуске BGP процесса ASN удаленной стороны был указан верно RouterID не совпадают Если TCP-сессия установлена успешно, то BGP-маршрутизаторы начинают обмен сообщениями OPEN, в котором сообщают свои ASN, RouterID и Hold timer. Hold timer это время, в течение которого будет поддерживаться TCP-сессия. Если условия, перечисленные ранее, не соблюдаются, например не совпадает информация о номере AS, то сообщением NOTIFICATION маршрутизатор, получивший неверный ASN уведомит об этом своего соседа и сбросит TCP-сессию. Если же все условия соблюдаются, то маршрутизаторы, с определенным интервалом, начинают высылать друг другу сообщения KEEPALIVE, означающие подтверждение параметров, принятых в OPEN и уведомление “я ещё жив”. Наконец, маршрутизаторы могут приступать к обмену маршрутной информацией по средствам сообщения UPDATE. Структура данного сообщения делится на две части: Path Attributes (Атрибуты пути). Здесь указывается из какой AS поступил маршрут, его происхождение и Next Hop для данного пути. NRLI (Network Layer Reachability Information). Здесь указывает информация непосредственно о сетях, подлежащих добавлению в таблицу маршрутизации, т.е IP-адрес сети и ее маска. Сообщение UPDATE будет передаваться каждый раз, когда один из маршрутизаторов получит информацию о новых сетях, а сообщение KEEPALIVE на протяжении всей TCP-сессии. Именно таким образом и работает маршрутизация во всем Интернете. Истории известно множество инцидентов, когда неправильная работа протокола BGP приводила к сбоям обширных частей глобальной сети, поэтому недооценивать его важность категорически нельзя.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59