Блокировка Cloudflare от РКН

cf.png
Согласно источникам: У кого сайт с Cloudflare
На оф. сайте CF можно следить за новостями работы:
Cloudflare Status
Как стало известно, что РКН известно о проблеме не работы многих сайтов через прокси CF, ведь они инициаторы проблемы. Там как раз указано, что на 4 локации в России указано как Operational, только Krasnoyarsk, Russia - (KJA) - перенаправлено.
Помимо этого стало известно, что домен cloudflare-ech.com был заблокирован РКН. Это сказалось на Encrypted Client Hello (ECH), который в современных браузерах включен по умолчанию и используется на Cloudflare для сайтов на бесплатных тарифах.
ETC мешал работе ТСПУ у РКН и некоторые заблокированные сайты открывались, поэтому решили его прикрыть.
Надолго ли или с концами, неизвестно. По этой причине, вы вероятно заметили, что большинство сайтов просто не грузится. К тому же РКН мешало это блокировать уже внесенные в списки сайты т.к. через CF они умудрялись обходить блокировку, вероятно это и послужило причиной заблокировать, не подумав, как это скажется на не причастные сайты. Ожидаем кучу жалоб и какие-то новости о проблеме от других источников.


Для решения проблемы, рекомендуется владельцам сайтов на бесплатном тарифе отключить Proxy в настройках DNS личного кабинета CF. Либо купить платный тариф и отключить там ECH. Либо использовать VPN отныне... Иных вариантов решения неизвестно. Как и не существует аналогов Cloudflare.

Примечание от RG:​

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

Sadorimatsu

Sado Yasashii
Администратор
Регистрация
08.05.2019
Темы
329
Сообщения
1 257
Реакции
261
Возраст
35

Согласно этому источнику, то это полный п.... товарищи. Это значит, что на бесплатной основе CF для пользователей РФ бесполезен и нужно с него сходить. Сидеть на его днс без прокси это ничем не лучше, чем сидеть на базовых днс серверов того же рег.ру и прочее. Нужен сервис хоть минимально предоставляющий условия CF не конфликтный с условиями РКН. В противном случае уходить на любой из общих днс и все издержки защиты от досс и прочее оставлять на сервер и хост. Этот вопрос требует отдельного изучения. Для нас все как всегда...
 

Sadorimatsu

Sado Yasashii
Администратор
Регистрация
08.05.2019
Темы
329
Сообщения
1 257
Реакции
261
Возраст
35

Нашёлся способ решить проблему блокировки:

  • Для владельцев бесплатных тарифов на ECH нужно отключить поддержку TLS 1.3.
  • Для этого в разделе SSL/TLS > Edge Certificates > Отключаем саму поддержку TLS 1.3 и доступ восстановится. Чистить кэш как многие пишут, необязательно. При желании можете поднять минимальный порог до 1.2 (рекомендуется), если надо. 1.0 версия используется для владельцев Windows XР, если вам плевать, то поднимайте выше. В данном случае выше 1.2 не поднять. Да и полагаться на старые протоколы не стоит, не совсем безопасно, потому подумайте, надо ли оно вам.
  • Конечно, не факт, что решение постоянное и надолго его хватит. В противном случае искать альтернативу CF хотя бы для защиты от DoSS-атак. Такие варианты, хоть и платные, но есть в РФ. В результате уход от CF неизбежно в любом случае. Если в будущем этот вопрос не будет решен, а блокировка останется, то CF для РФ больше не актуален. К тому же сейчас при работе через их прокси, скорость загрузки сайта ощутимо упало. Взвесьте все варианты и решите, что для вас актуально. Сам по себе ECH не является TLS 1.3, а как дополнение к нему, если получится только его вырубить, тогда есть шансы продолжить работу.

Отключение ECH на бесплатном тарифе через API: (Это тот же принцип, как на платном тарифе через кнопку. При этом работа TLS 1.3 сохраняется)
Код:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/{ID_ZONE}/settings/ech" \
     -H "Authorization: Bearer {API_KEY}" \
     -H "Content-Type:application/json" --data '{"id":"ech","value":"off"}'
Более подробно этот вопрос разбирают тут - Попробуйте отключить подключение к CloudFlare с использованием TLS ECH

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

Вложения

Решение.png
Последнее редактирование:

Sadorimatsu

Sado Yasashii
Администратор
Регистрация
08.05.2019
Темы
329
Сообщения
1 257
Реакции
261
Возраст
35
Источник: На всех 4 подключенных сайтах откл ECH - Яндекс - Поисковые системы
Создаем php файл, закидываем код, кидаем в корень сайта, выполняем в браузере и на всех доменах отключаем ECH.
Код:
<?php

// Учетные данные Cloudflare
$authEmail = "ВАШ_EMAIL";
$authKey = "ВАШ_KEY";

// Функция для выполнения HTTP-запроса
function makeRequest($url, $method = 'GET', $data = null) {
    global $authEmail, $authKey;
  
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        "X-Auth-Email: $authEmail",
        "X-Auth-Key: $authKey",
        "Content-Type: application/json"
    ]);

    if ($data) {
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    }

    $response = curl_exec($ch);
    curl_close($ch);
  
    return json_decode($response, true);
}

// 1. Получаем список всех зон
$zonesResponse = makeRequest("https://api.cloudflare.com/client/v4/zones");

if (isset($zonesResponse['result'])) {
    foreach ($zonesResponse['result'] as $zone) {
        $zoneId = $zone['id'];

        // 2. Отключаем ECH для каждой зоны
        $url = "https://api.cloudflare.com/client/v4/zones/$zoneId/settings/ech";
        $data = ["value" => "off"];
        $updateResponse = makeRequest($url, 'PATCH', $data);

        if (isset($updateResponse['success']) && $updateResponse['success']) {
            echo "ECH disabled for zone ID: $zoneId\n";
        } else {
            echo "Failed to disable ECH for zone ID: $zoneId\n";
        }
    }
} else {
    echo "Failed to retrieve zones\n";
}
 

Похожие темы

Сверху Снизу