Как получить все IP адреса CoudFlare

Очень просто. Воспользоваться официальной информацией с сайта CoudFlare.
https://www.cloudflare.com/ips/

Для автоматизации можно использовать следующий запрос.
Например, этот bash скрипт создаст разрешающий список IPv4 для apache который можно поместить в конфиг или .htaccess

$ curl --silent https://www.cloudflare.com/ips-v4 | xargs
103.21.244.0/22 103.22.200.0/22 103.31.4.0/22 104.16.0.0/12 108.162.192.0/18 131.0.72.0/22 141.101.64.0/18 162.158.0.0/15 172.64.0.0/13 173.245.48.0/20 188.114.96.0/20 190.93.240.0/20 197.234.240.0/22 198.41.128.0/17

OpenVPN как не принять предложение сервера о настройке интерфейсов

В повседневной работе я пользуюсь десятками включённых VPN клиентов. Эти клиенты соединяются с разными серверами, а серверы имеют разные настройки. Так например у меня возникала ситуация когда нужный мне роут пробрасывался через TUN интерфейс который PUSH-ился с сервера. Если бы сервер использовал только я стоило бы перенастроить только сервер чтобы это исправить. Однако сервером пользуются и другие люди и там этот PUSH необходим. Сначала я руками переписывал роут и забывал до следующего переподключения. Но последнее время часто приходилось переподключаться и вечное переписывание роута стало раздражать. В документации к OpenVPN написано что в настройках с недавнего времени появился ключ который поможет клиенту отвергнуть то что ему предлагает сервер.
Continue reading OpenVPN как не принять предложение сервера о настройке интерфейсов

Расширение знаний о крипторграфии

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

Вот топ вопросов:

как включить поддержку протокола sslv3
как в амиго включить протокол ssl3
как включить протокол sslv3
как подключить протокол sslv3 на facebook
sslv3 как включить видео
sslv3 как включить chrome

Иногда вопросы тянут на сочинение

как исправить ошибку в вконтакте клиент и сервер поддерживают разные версии протокола ssl или шифров. скорее всего, серверу требуется поддержка протокола sslv3, однако она была отключена.

Но мне особенно понравился вопрос

скачать протокол sslv3
sslv3 скачать

Теперь я понимаю почему мы все до сих пор получаем “Нигери́йские пи́сьма“, почему до сих пор работает “развод” пользователя на то чтобы заставить его скачать и поставить утилиту какую нибуть г.в.утилиту.

Хочется всем таким искателям приключений сказать: SSLv3 умер. Не нужно его “откапывать” скачивать и включать!

Windows 10 BestCrypt BSOD и перезагрузка при размонтировании криптодиска

При размонтировании шифрованного диска выдавалось сообщение о том, что с диска открыты какие-то файлы и его размонтирование может привести к потере несохранённых данных открытых файлов. После согласия пользователя с размонтированием система входила в долгое ожидание и через минуту уходила в BSOD (синий экран смерти) и перезагружалась в соответствии с настройками. Ситуация повторялась в 9-ти случаях из 10-ти. Windows 10 работала в виртуальной машине KVM. Другие аналогичные инсталяции работали под VMWare и проблем не создавали.
Continue reading Windows 10 BestCrypt BSOD и перезагрузка при размонтировании криптодиска

Обновление ssh и очередное отключение устаревших алгоритмов

Время идёт и постепенно старые алгоритмы шифрования становятся небезопасными. Разрабочики софта конечно же постепенно их отключают. Но для админа-то обычно это просиходит внезапно и ой как не вовремя и становится чертовски неприятным сюрпризом, особенно если обновления накатываются атоматически. Так обновление на Fedora 23 подарило мне пару незабываемых часов когда я не мог достучаться на большую часть серверов которыми управляю. Казалось бы что обновление openssl, openssh в любом виде должно стать красной тряпкой, но пока что стереотип поведения не сложился. И последнее обновление openssh.i686 7.2p1-2.fc23, openssh-server.i686 7.2p1-2.fc23, openssh-clients.i686 7.2p1-2.fc23 снова подарило неожиданный сюрприз в виде невозможности залогиниться на клиентский mikrotik.

[user001@localhost ~]$ ssh root@192.168.88.1
ssh_dispatch_run_fatal: Connection to 192.168.88.1 port 22: DH GEX group out of range

И как обычно бывает в свежих случаях гугл и яндекс не показали ничего интересного.
— Упс, сказал я и полез в мануал.
Continue reading Обновление ssh и очередное отключение устаревших алгоритмов

sudoers: проверка синтаксиса

Когда вы редактируете файл /etc/sudoers или создаёте подключаемые к нему файлы в каталоге /etc/sudoers.d/* то неплохо бы сразу проверить синтаксис. Если вы редактируете sudoers в его редакторе visudo то он автоматически проверит синтаксис при сохранении. А если как я больше пользуетесь mcedit то после редактирования sudoers можно выполнить проверку указав ключ:

[root@d01 sudoers.d]# visudo -c
/etc/sudoers: parsed OK
/etc/sudoers.d/zabbix_sudo: parsed OK

Как видите синтаксис проверился вместе со вложением /etc/sudoers.d/zabbix_sudo.

Но на боевом сервере, где sudo активно используется системой мониторинга или каким либо скриптом из crontab, не стоит проводить правку файла по-живому. Для этого его можно скопировать в другое место и там редактировать. А после редактирования проверить всё той же командой но с дополнительным ключом:

[root@d01 sudoers.d]# visudo -cf /root/sudoers.new
/root/sudoers.new: parsed OK

После этого его можно смело копировать на место боевого файла. Не забудтре однако правильно поставить права 440 для владелеца и группы root:root.

Почему копипастить команды с web сразу в терминал это глупость?

Потому что bash/sh терминал выполнит команду если в ней будет перевод строки.

Во-первых когда команда набирается руками происходит запоминание, сначала вы внимательно читаете команду, затем вводите ту часть которую запомнили, затем дальше читаете и снова вводите. Работают глаза, голова и руки. Запоминается эффективнее.

Во-вторых вместе с командой можно скопипастить чужой зловредный код. Не верите?
Выделите код который приведён ниже скопируйте и затем вставьте в тектовый редактор. После этого вы всегда будете копипастить код через редактор, а короткие команды будете набирать руками.
Continue reading Почему копипастить команды с web сразу в терминал это глупость?

Dec 12 13:15:35 gw1 sshd[19967]: Received disconnect from 66.234.240.251: 11: Bye Bye

Распухание логов роутера заставило меня обратить более пристальное внимание на записи в журналах безопасности sshd.

Dec 12 13:15:35 gw1 sshd[19967]: Received disconnect from 66.234.240.251: 11: Bye Bye

Эта запись появляется по одной причине: у меня запрещён вход на ssh по паролю. Разрешён только по сертификату. Бот который подбирает пароль к ssh к сожалению “тупой” и непрерывно долбится пока у него не закончится словарь. Когда ботов становится много и они настырны, то это и приводит к распуханию логов.
Continue reading Dec 12 13:15:35 gw1 sshd[19967]: Received disconnect from 66.234.240.251: 11: Bye Bye

OpenVPN: — PUSH тебе твой собственный ROUTE

К бессонной ночи привёло “молчание логов” OpenVPN сервера при невозможности прочесть файл.

Имеется OpenVPN сервер, к которому подключены VPN клиенты. За некоторыми клиентами находятся сети которые необходимо анонсировать другим клиентам OpenVPN и обеспечить маршрутизацию.

Для этого в OpenVPN предусмотрены четыре параметра находящиеся в двух разных файлах которые позволяют настроить роутинг в сети VPN клиента.

Файл /etc/openvpn/*.conf

push "route 192.168.33.0 255.255.255.0"
route 192.168.33.0 255.255.255.0
client-config-dir ccd-vpn03

client-config-dir определяет каталог в котором будут находиться файлы в которых будут объявлены сети клиентов. Имена файлов должны совпадать с CommonName сертификата клиента за которым находятся сети объявленные в файле. Например если за клиентом с сертификатом у которого CN равен “vpn03.gw01.common-client2” находится сеть 192.168.33.0 255.255.255.0 то файл /etc/openvpn/ccd-vpn03/vpn03.gw01.common-client2

iroute 192.168.33.0 255.255.255.0

Continue reading OpenVPN: — PUSH тебе твой собственный ROUTE

Подключение OpenWRT роутера по sshfs

Когда речь идёт о том чтобы поковыряться в роутере с OpenWRT бывает удобно подключить его файловую систему напрямую к станции с которой происходит настройка. Для этого идеально подходит sshfs. Но чтобы это сработало на OpenWRT роутере необходимо установить пакет openssh-sftp-server. На клиенте должен быть в наличии fuse-sshfs.

opkg update && opkg install openssh-sftp-server

После установки, при условии что установлен sshd (dropbear) сервер, ничего не нужно настраивать и sftp готов к работе:

На компьютере где будет монтироваться OpenWRT примонтировать sshfs каталог можно из под обычного пользователя (не root):

$ sshfs root@openwrtrouter:/etc/ /home/user/mount/openwrt

Если пакет sshfs требуется один раз (до перезагрузки), то можно установить его прямо в RAM роутера командой:

opkg update && opkg -d /tmp/usr/libexec install openssh-sftp-server

то использовать его можно при помощи команды

$ sshfs root@openwrtrouter:/etc/ /home/user/mount/openwrt -o sftp_server=/tmp/usr/libexec/sftp-server