OpenVPN TLS key negotiation failed to occur within 60 seconds. TLS handshake failed

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

В журнале сервера с данного IP были такие ошибки:

Tue Nov 11 09:58:49 2014 xxx.xxx.xxx.xxx:49611 TLS: Initial packet from 176.108.233.33:49611, sid=aea2a5e5 bc9d76f6
Tue Nov 11 09:59:49 2014 xxx.xxx.xxx.xxx:49611 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Tue Nov 11 09:59:49 2014 xxx.xxx.xxx.xxx:49611 TLS Error: TLS handshake failed

Документация по OpenVPN указывает на проблему соединения.

Это казалось абсурдным так как эта запись была в журнале сервера. И конечно пинги на сервер проходили. В журнале статуса openvpn-status.log (у вас может быть другой, смотрите конфиг опцию status) была запись в состоянии UNDEF

UNDEF,xxx.xxx.xxx.xxx:49611,84,108,Tue Nov 11 09:26:20 2014

После попытки перейти с UDP на TCP стало ясно, что проблема не в протоколе. Включение более детальных логов опцией verb 6 также не раскрыло глаза. И тут в tcpdump бросилось в глаза то что от клиента приходит всего один пакет, а сервер в ответ отвечает от 5-ю до 20-ю, а может и более пакетами. Чтобы проверить проходимость больших пакетов с клиента ping-анули сервер пакетами размером 16 килобайт. В ответ небыло получено ни одного ответа. Проблема была явно в связи о чём и говорила запись в логе. Клиенту осталось разобраться с провайдером.

Установка openvpn на Linux mint

Прежде всего уясните себе что машина с easy-rsa это машина которая только подписывает ключи. И по логике безопасности должна быть отдельной машиной. Не стоит хранить генератор ключей и в особенности приватный CA на самом VPN сервере.

1) ставим openvpn на VPN сервере

# apt-get install openvpn

2) ставим easy-rsa на станции подписей

# apt-get install easy-rsa

3) создаём каталог куда скопируем easy-rsa и там будем изменять настройки, создавать и подписывать сертификаты

# mkdir -p /root/sign-host/easy-rsa
# cd /root/sign-host/easy-rsa
# cp /usr/share/easy-rsa/* ./

Continue reading Установка openvpn на Linux mint

Fast HDD Eraser – Быстрое стирание дисков

Мне часто приходится затирать жёсткие диски пачками, например при модернизации стораджей, и мне был очень необходим скоростной источник потока данных которыми затирается целевой диск. Чтобы более менее надёжно затереть данные на диске неразрушив сам диск, недостаточно затереть его нулями из /dev/zero. В тоже время поток данных из /dev/urandom слишком медленный чтобы быстро затирать современные жёсткие диски.
Поскольку необходимый мне уровень стирания не претендовал на уровень военной разведки то я решил выкрутиться через большой массив случайных (псевдослучайных) чисел. А чтобы массив этот быстро работал я решил закинуть его в память. И /dev/shm – идеальное место.
Для стирания я использовал raid контроллер чтобы затирать сразу множество дисков. А для автоматизации процесса написал bash-скрипт. Скрипт имеет свой счётчик продвижения и его можно прервать Ctrl+C и затем продожить с той позиции где он был прерван.
Continue reading Fast HDD Eraser – Быстрое стирание дисков

Генерация RSA ключей для OpenVPN


Генерация RSA ключей для OpenVPN выполняется в несколько простых шагов.

Но прежде чем перейти к генерации ключей нам потребуется определиться с некоторыми моментами.
Нам нужны?

  • название CA ключа
  • название ключа сервера
  • название ключей клиентов
  • название организации (опционально)
  • e-mail (опционально)

При генерации клиентских ключей важно понять, что ключ клиента может быть либо “персональным” либо “совместным” одним на нескольких клиентов и даже одним на всех клиентов.
Continue reading Генерация RSA ключей для OpenVPN

TrueCrypt в Fedora 12

Обновил систему (перешёл с 64-х на 32битную) и решил поставить TrueCrypt чтобы иметь доступ к старым данным и не потерять кросплатформенность файлов-контейнеров.

Пакет src файлов я взял отсюда

$ wget http://www.lfarkas.org/linux/packages/fedora/12/SRPMS/truecrypt-6.3a-1.fc12.src.rpm

Компилируем:

$ rpmbuild --rebuild truecrypt-6.3a-1.fc12.src.rpm

Предпологается, что установлено всё вспомогательное

# yum install rpm-build
# yum install wxGTK-devel
# yum install fuse-devel
# yum install gcc-c++

Переходим в каталог где лежит собранный пакет и устанавливаем его:

# rpm -ivh  truecrypt-6.3a-1.fc12.i386.rpm

Если не хотите компилировать, а взять готовое

$ wget http://www.lfarkas.org/linux/packages/fedora/12/i386/truecrypt-6.3a-1.fc12.i686.rpm

Устанавливаем пакет:

# rpm -ivh truecrypt-6.3a-1.fc12.i386.rpm

Дополнено:
Для Fedora 14 и Fedora 16 пакет собирается по этому же сценарию.

А стоит ли доверять VeriSign…

Интересный, на мой взгляд, хоть и довольно старый материал обнаружил я на www.pgpru.com.

Краткая суть его заключается в опасности использования для шифрования трафика сертификатов выданных и подписанных VeriSign, поскольку с одной стороны он является крупнейшим центром сертификации выдающим больше половины сертификатов используемых для интернет коммерции, и шифрования почты. А с другой стороны он предлагает провайдерам сервис NetDiscovery который позволяет легально прослушивать трафик.
Замечательный тандем получается: —одна рука выдаёт, не кислые по стоимости для конечного пользователя, сертификаты ($500-$1000 в год), а другая тут же их аннулирует перед заинтересованными лицами.

Continue reading А стоит ли доверять VeriSign…