Получение бесплатного SSL Сертификата от Certbot

Apache на CentOS / RHEL 7

устанавливать

Certbot упакован в EPEL (дополнительные пакеты для корпоративного Linux). Чтобы использовать Certbot, вы должны сначала включить репозиторий EPEL . В RHEL или Oracle Linux вы также должны включить дополнительный канал.

После этого вы можете установить Certbot, выполнив:

$ sudo yum install python2-certbot-apache

Плагины DNS Certbot также доступны для вашей системы, которые могут использоваться для автоматизации получения подстановочного сертификата с сервера ACMEv2 от Let’s Encrypt. Чтобы использовать один из этих плагинов, вы должны настроить DNS для домена, для которого вы хотите получить сертификат, с поставщиком DNS, для которого у Certbot есть плагин. Список этих плагинов и дополнительную информацию об их использовании можно найти здесь . Чтобы установить один из этих плагинов, запустите команду установки выше, но замените python2-certbot-apache именем плагина DNS, который вы хотите установить.

Начать

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

$ sudo certbot --apache

Запуск этой команды получит сертификат для вас, и Certbot автоматически отредактирует вашу конфигурацию Apache для ее обслуживания. Если вы чувствуете себя более консервативно и хотите внести изменения в свою конфигурацию Apache вручную, вы можете использовать подкоманду certonly :

$ sudo certbot --apache certonly

Если вы хотите получить подстановочный сертификат, используя новый сервер ACMEv2 от Let’s Encrypt, вам также понадобится использовать один из плагинов DNS Certbot . Чтобы сделать это, убедитесь, что плагин для вашего провайдера DNS установлен с помощью приведенных выше инструкций и выполните команду, как показано ниже:

$ sudo certbot -a dns-plugin -i apache -d "* .example.com" -d example.com --server https://acme-v02.api.letsencrypt.org/directory

Вам нужно будет заменить dns-plugin именем плагина DNS, который вы хотите использовать. Вам также может потребоваться предоставить дополнительные флаги, такие как путь к вашим учетным данным API, как описано в документации для подключенного модуля DNS.

Команда вызова сертификата для nginx

$ sudo  certbot certonly —nginx

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

Автоматическое обновление

Certbot может быть настроен на автоматическое обновление сертификатов до истечения срока их действия. Так как сертификаты Let’s Encrypt длятся в течение 90 дней, рекомендуется воспользоваться этой функцией. Вы можете протестировать автоматическое обновление сертификатов, выполнив следующую команду:

$ sudo certbot renew --dry-run

Если это работает правильно, вы можете организовать автоматическое обновление, добавив задание cron или таймер systemd, который запускает следующее:

$ sudo certbot renew

Входим в планировщик

crontab -e

Я сделал обновление каждый месяц 16 числа в 00:00

0 0 16 * * certbot renew #Обновление SSL

Источник

Как настроить openfire на Centos 7

Openfire производим установку и настройку на системе CentOS 7.

Качаем openfire и устанавливаем

wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire-4.2.3-1.x86_64.rpm
yum install ~/openfire-4.2.3-1.x86_64.rpm

Ставим mysql
yum install mariadb mariadb-server libldb.i686 krb5-workstation

Добавляем в автозагрузку и запускаем mysql и openfire


systemctl enable mariadb.service
systemctl start mariadb.service
systemctl enable openfire.service
systemctl start openfire.service

Создаем базу данных

mysql
> CREATE DАТАBASE openfire;
> GRANT ALL on openfire.* to 'openfire'@localhost IDENTIFIED BY 'your password';
> FLUSH PRIVILEGES;

меняем кодировку на utf8

> use openfire;
> alter database character set utf8;
> alter database collate utf8_general_ci;

Во время установки, когда будете выбирать драйвер MySQL укажите URL к базе вида:
jdbc:mysql://localhost:3306/openfire?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8

Если openfire уже установлен, то переконвертируйте базу в utf8, затем файле конфигурации openfire.xml допишите после jdbc:mysql://localhost:3306/openfire

?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8

Здесь нужно ОБЯЗАТЕЛЬНО! заменить & на & иначе вместо входа в админку увидите страницу установки openfire.

Открываем в браузере http://my_ip:9090/my_ip меняем на ip адрес сервера

Установка PPTP VPN-сервера на CentOs 7 для ленивых.

В заголовке данной статьи почётное место занимает словосочетание «… для ленивых». Спешу заверить читателя в том, что эти слова не носят оскорбительный характер.
Напротив, если Вы открыли и читаете данную статью, то лень — не Ваша подруга )

Как многие мои предыдущие статьи, желание написать данную статью родилось в моей голове спонтанно. Как говорили до нас и будут говорить после нас : «Желания должны исполняться» )
Сегодня я напишу о том, как надо поднимать сервер PPTP VPN под управлением CentOS 7.
«Этот баян» многократно описан и переписан на страницах рунета » — наверняка подумает в этом месте читатель и окажется прав )
Почему-то мне захотелось преподнести этот «баян» в своём представлении.

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

Для себя процесс правки конфигов Linux на удалённых серверах я облегчила установкой на локальном компьютере программы Bitvise SSH Client. Программа позволяет редактировать файлы, находящиеся на удалённой машине, в редакторе Notepad++. При этом не возникает никаких проблем с кодировками, нет необходимости многократно стучать по клавиатуре в консольном текстовом редакторе Linux, имеется возможность копи-пастить информацию кнопками мыши и сохранять её на удалённом компе.
При всех своих достоинствах, программа Bitvise SSH Client не спасет от ошибок начинающих линуксоидов: всегда что-то пойдёт «не так». Процесс поиска ошибки занимает порой довольно продолжительный период времени. К примеру, вчера на полу-часовую установку PPTP VPN под управлением CentOS 7 я потратила весь день (
Несмотря на то, что упомянутый процесс многократно описан системными администраторами в своих блогах, по-настоящему стоящих статей не так уж и много. К тому-же в процессе установки VPN-сервера возникают вопросы, ответы на которые получить не у кого. Учитывая тот факт, что данный сайт носит статус «форума», отныне и навсегда каждый желающий сможет получить ответ ЗДЕСЬ !

— Немного самонадеянно — пробежала мысль в моём правом полушарии
— Ну и пусть — оппонировало левое )
— Мне это нравится — подытожил мозг, но пора уже переходить к сути статьи ))

Прежде, чем начать установку PPTP VPN-сервера на CentOS 7, необходимо установить репозиторий и установить сетевые утилиты.

# yum install -y epel-release
# yum install -y mc
# yum install -y net-tools

Указанная выше установка файлового менеджера Midnight Commander никак не связана с процессом установки сервера PPTP VPN и не является обязательной.

Далее необходимо отключить Selinux.
Система принудительного контроля Selinux отключается правкой конфигурационного файла /etc/sysconfig/selinux

Код:
# mcedit /etc/sysconfig/selinux
меняем значение
SELINUX=disabled

Выше я упомянула, что вчерашний процесс установки сервера VPN занял у меня весь день. В течение дня я редактировала этот файл многократно: локально в Notepad++, удалённо в mcedit. К вечеру под влиянием настройки Linux во мне стали просыпаться экстрасенсорные возможности )
С самого начала статьи я обещала способ «для ленивых», поэтому сегодня — никаких «ковыряний» в конфигах не будет !
Сегодня — способ для ленивых ))
Я призываю читателя статьи отключить SeLinux, а также продолжить установку PPTP VPN сервера при помощи нескольких консольных команд. Команды можно «тупо копировать» при помощи манипулятора «мышь» из этой статьи, вставлять в консоль Bitvise SSH Client и нажимать клавишу «ENTER» на клавиатуре. К концу статьи на вашей CentOS 7 гарантированно, с наименьшими умственными, эмоциональными и физическими затратами будет стоять PPTP VPN сервер )
Отключаем SeLinux:

# sed -i ‘s/\(^SELINUX=\).*/\SELINUX=disabled/’ /etc/sysconfig/selinux
# sed -i ‘s/\(^SELINUX=\).*/\SELINUX=disabled/’ /etc/selinux/config

После перезагрузки проверьте статус SELinux командой «sestatus», Вы должны увидеть следующий вывод:

SELinux status: disabled

Переходим к установке PPTP VPN сервера и добавлении его в автозагрузку:

# yum install -y ppp pptp pptpd pptp-setup
# chkconfig pptpd on

Далее настройка конфигов из консоли (копируем, вставляем и жмём «Enter») :
Файл /etc/pptpd.conf

cp /etc/pptpd.conf /etc/pptpd.conf.bak
cat >/etc/pptpd.conf<<EOF
option /etc/ppp/options.pptpd
logwtmp
localip 10.0.10.1
remoteip 10.0.10.2-254
EOF

Файл /etc/ppp/options.pptpd
Редактирование данного файла преследует собою цель — указание DNS серверов.
В примере ниже гугловские
ms-dns 8.8.8.8
ms-dns 8.8.4.4
можно заменить на свои.

Файл /etc/ppp/chap-secrets
Редактирование данного файла преследует собою цель — указание логина и пароля для подключения к PPTP VPN серверу.
В примере ниже «root» и «toor» можно заменить на свои.

cp /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak
cat >/etc/ppp/chap-secrets<<EOF
root pptpd toor *
EOF

Файл /etc/sysctl.conf
Редактирование данного файла преследует собою цель — изменение значения «0» на «1» net.ipv4.ip_forward = 1.

Перечитываем конфигурацию.

sysctl -p

На этом установка и настройка VPN PPTP сервера закончена.

Осталось только «разобраться» с файерволлом.
Удаляем firewalld,

# systemctl stop firewalld
# systemctl disable firewalld

вместо него ставим IPTABLES:

# yum install iptables-services iptables

Включим автозапуск iptables:

# systemctl enable iptables
chmod +x /etc/rc.d/rc.local

Теперь процесс настройки IPTABLES подошёл к ответственному моменту — настройке конфигурации таблиц.
В рамках данной статьи, с целью не набивать себе «шишек» и не наживать лишних хлопот, я рекомендую отредактировать конфигурационный файл /etc/sysconfig/iptables в текстовом редакторе. Да, да, вопреки заявленному в начале статьи принципу отказа от использования текстовых редакторов, рекомендую сделать одно-единственное исключение ))

Код:
mcedit /etc/sysconfig/iptables

Истинные поклонники консоли вместо текстового редактора могут воспользоваться консольными командами:

echo «iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -o eth0 -j MASQUERADE» >> /etc/rc.d/rc.local
iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -o eth0 -j MASQUERADE

Это конец, сохраняем и перезапускаем всё: файерволл и сервер PPTP VPN.

service iptables save
service iptables restart
systemctl start pptpd

Проверяем,запущен ли pptp-сервер;

# ps ax | grep pptpd

Проверяем, слушается ли наш порт:

# netstat -an | grep -i listen

Дополнительная команда для проверки статуса pptpd:

# systemctl status pptpd
ТЕКСТОВЫЕ СООБЩЕНИЯ В ASTERISK МЕЖДУ SIP- КЛИЕНТАМИ

Здесь будем учиться настраивать абонентам возможность обмениваться текстовыми
сообщениями. Напомню, что эксперимент проводится на базе asterisk 13.11 и CentOS 7.2, настроенными здесь (http://ambistoma.no-ip.biz/archives/81) .
Итак. Для начала правим файл
nano /etc/asterisk/sip.conf

Здесь ищем, раскомментируем и приводим к виду строки
accept_outofcall_message = yes
outofcall_message_context = messages
auth_message_requests = no
Сохраняем, закрываем. Правим файл
nano /etc/asterisk/extensions.conf

Идем в конец файла и создаем там секцию [messages], в которую пишем
exten => _XXX,1,NoOp(Message receiving dialplan)
exten => _XXX,n,NoOp(To ${MESSAGE(to)})
exten => _XXX,n,NoOp(From ${MESSAGE(from)})
exten => _XXX,n,NoOp(Body ${MESSAGE(body)})
exten => _XXX,n,Set(LOCALTO=${CUT(MESSAGE(to),@,1)})
exten => _XXX,n,MessageSend(${LOCALTO},${MESSAGE(from)})
exten => _XXX,n,NoOp(Send status is ${MESSAGE_SEND_STATUS})
exten => _XXX,n,GotoIf($[“${MESSAGE_SEND_STATUS}” != “SUCCESS”]?
sendfailedmsg)
exten => _XXX,n,Hangup()
;
; failed send messaging
exten =>
_XXX,n(sendfailedmsg),Set(MESSAGE(body)=”[${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)}] Your message to ${EXTEN} has failed. Retry later.”)
exten => _XXX,n,Set(LOCALME=${CUT(MESSAGE(from),<,2)})
exten => _XXX,n,Set(LOCALFROM=${CUT(LOCALME,@,1)})
exten => _XXX,n,MessageSend(${LOCALFROM},AsteriskSMC)
exten => _XXX,n,Hangup()

Сохраняем, закрываем. Теперь нужно зайти в консоль астериска и подгрузить изменения
asterisk -r
sip reload
dialplan reload
exit

Теперь наша АТС умеет передавать текстовые сообщения между внутренними абонентами. На софтофонах X-Lite, про которые я писал в статье указанной в самом начале эта возможность
предустановлена и ничего дополнительно настраивать не надо. А вот на IP-телефонах я пока не сильно представляю, как это должно реализовываться. Прошу обратить внимание – это не СМС.
И если мы подключимся к провайдеру телефонии, то для отправки и получения СМС с мобильных телефонов придется настраивать эту возможность дополнительно.

Источник

Свой Certificate Authority — в OpenSSL

Зачем это нужно?
Представим, у нас есть два сервера, работают они себе, и переодически они хотят, что-то друг у друга спросить по протоколу HTTP/HTTPS
Протокол HTTP не безопасен и логично использовать протокол HTTPS для общения меду серверами.
Для организации такого общения нам нужно 2 SSL сертификата.
Если сервера пренадлежат одной организации, то может быть проще и безопасней подписывать сертификаты самостоятельно, а не покупать

Создаем наш CA

Первая команда создаёт корневой ключ
openssl genrsa -out rootCA.key 2048

Для меня ключ 2048 bit достаточен, если вам хочется, вы можете использовать ключ 4096 bit.
Вторая команда создаёт корневой сертификат.
openssl req -x509 -sha256 -new -key rootCA.key -days 10000 -out rootCA.crt

Отвечать на вопросы тут можно как душе угодно.
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:

10000 дней срок его годности, примерно столько живет сертификат, которым google требует подписывать андроид приложения для Google
Если вы паникер, подписывайте на год или два.
Все! Теперь мы можем создавать сертификаты для наших серверов и устанавливать корневой сертификат на наши клиентские машины.
Создаем сертификат подписаный нашим СА

Генерируем ключ.
openssl genrsa -out server101.mycloud.key 2048 -sha256

Создаем запрос на сертификат.
openssl req -new -key server101.mycloud.key -out server101.mycloud.csr -sha256

Тут важно указать имя сервера: домен или IP (например домен server101.mycloud)
Common Name (eg, YOUR name) []: server101.mycloud
и подписать запрос на сертификат нашим корневым сертификатом.
openssl x509 -req -sha256 -in server101.mycloud.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server101.mycloud.crt -days 5000

Теперь на клиенты нужно установить корневой сертификат rootCA.crt
rootCA.crt — можно давать друзьям, устанавливать, копировать не сервера, выкладывать в публичный доступ, rootCA.key — следует держать в тайне

Информация взята с https://habr.com/post/192446/

Ссылки по теме

Как выпустить самоподписанный SSL сертификат и заставить ваш браузер доверять ему