• Планка взята — новинка от Seagate для СХД
    +1
    В районе 2011 года я потратил больше 20 тыс долларов на терабайтники с надписью Seagate.
    До окончания гарантии вылетело примерно 50% закупленных дисков. Поставщик менял их исключительно на refurbished, которые вылетали уже через пару месяцев. После окончания гарантии в течении около года ушло около 90% закупленных дисков. Причём диски были из нескольких разных партий. Диски самой первой партии продержались больше всего. А более поздние дохли очень быстро. Пару дней назад заменил самых долгожителей из тех партий.

    Поэтому c грустью констатирую — «морским воротам» я больше не доверяю. Пруфы свалены в коробках. Хочется этими дисками сложить нехорошее слово и снять с квадрокоптера.
    С другой стороны, в некоторых серверах у меня до сих пор крутятся сигейты в которых счётчик отработанных часов скоро переполнится второй раз. Умели же делать.
  • Разрешаем доступ к веб-серверу только через CloudFlare (iptables)
    0
    Зачем дёргать iptables если список адресов не изменился?
    Удалять тоже можно аккуратно.
    Да и стоило бы проверить что там вернул curl.

    Как-то так (10 минут на коленке)
    #!/bin/bash
    
    IPTABLESCHAIN="CLOUDFLARE"
    
    PREVLIST_MD5_FILENAME="lastchangedlist.md5"
    [ -e "${PREVLIST_MD5_FILENAME}" ] && PREVMD5SUM=$(cat "${PREVLIST_MD5_FILENAME}")
    
    IPLIST=$(curl -s https://www.cloudflare.com/ips-v4 2>/dev/null)
    if [ -z "${IPLIST}" ] ; then
      echo -e "Hell! CF didn't give me IP list!"
      exit 1
    fi
    # Who know what CF return to me? I need only IPv4 networks
    IPLIST=$(echo "${IPLIST}" | grep -o '[0-9]\{1,3\}\(\.[0-9]\{1,3\}\)\{3\}\(/[0-9]\{1,2\}\)\{0,1\}' | sort -t '.' -nk1,1 -nk2,2 -nk3,3 -nk4,4)
    
    MD5SUM=$(echo "${IPLIST}" | md5sum | awk '{print $1}') #' I need only md5sum
    
    if [ "${MD5SUM}" == "${PREVMD5SUM}" ] ; then
      # everything fine. No changes.
      exit 0
    fi
    
    ACTIVERULESLIST=$(iptables -nL "${IPTABLESCHAIN}" | awk '/^ACCEPT/{print $4}' | sort -t '.' -nk1,1 -nk2,2 -nk3,3 -nk4,4)
    NONUNIQ=$(echo "${ACTIVERULESLIST}" | uniq -c | awk '{if($1!=1){print}}') #'
    if [ -n "${NONUNIQ}" ] ; then
      echo -e "In ${IPTABLESCHAIN} chain found non unique values:\n${NONUNIQ}"
    fi
    
    while read IPNET ; do
      # check if ipv4 is valid
      ipcalc --silent -b "${IPNET}" >/dev/null
      if [ "${?}" -ne 0 ] ; then
        echo "[ERROR] \"${IPNET}\" is invalid. Skip."
        continue
      fi
      IPNETREGEX=$(echo "${IPNET}" | sed -e 's/\./\\./g')
      ALREADY=$(echo "${ACTIVERULESLIST}" | grep "^${IPNETREGEX}$")
      if [ "${ALREADY}" == "${IPNET}" ] ; then
        # echo "Already active ${IPNET}"
        ACTIVERULESLIST=$(echo "${ACTIVERULESLIST}" | grep -v "^${IPNETREGEX}$")
        continue
      fi
    COLLECTEDIPLIST="${COLLECTEDIPLIST}\n${IPNET}"
      echo "iptables -I ${IPTABLESCHAIN} 1 \"${IPNET}\" -J ACCEPT -m comment --comment \"CloudFlare CDN\""
    done < <(echo "${IPLIST}")
    
    # delete everything what not in current ip network list
    while read IPNET ; do
      echo "iptables -D CLOUDFLARE -s ${IPNET} -j ACCEPT"
    done < <(echo "${ACTIVERULESLIST}")
    
    echo -e "${MD5SUM}" > "${PREVLIST_MD5_FILENAME}"
    


    Можно ещё посчитать количество изменений чтобы вдруг не грохнуть большое количество.
    И добавил немного информации в logger -t CFiptablesUpdater чтобы в случае аварии можно было найти причину.
  • ReactOS 0.4.9: хейтерам придется искать новые аргументы
    0
    А поддержка какого-то аналога RDP когда появится? :)

    Ежемесячно, каждый хостер подписавший SPLA, перечисляет MS сумму большую чем получает от сдачи серверов в аренду. В разы большую. И ежегодно MS повышает цену, и меняет плавила лицензирования с процессоров на ядра и тем самым ещё больше повышает свою монопольную маржу. При этом MS конкурирует со своими же «SPLA партнёрами» своими облачными сервисами. И есть примеры хостеров не готовых мириться с таким положением вещей, которые разрывают сотрудничество с MS даже в ущерб своим клиентам.

    Не уж то хостеры не предлагают отчисления проекту за поддержку востребованных вещей?
  • Как не впасть в зависимость от общественного мнения и почему быть быдлокодером не позорно?
    +1
    Давайте быдлокодить софт для атомных электростанций и ракет

    Как-то стрёмно становится жить в мире где автопилотные автомобили программируются быдлокодерами которые не испытывают ни малейшего желания стать лучше. Да ещё и бахвалятся своей позицией.
  • Исследование: более 400 крупных популярных сайтов записывают пользовательские сессии
    0
    Ваш пароль — это данные реальном элементе на веб странице. Любой скрипт который имеет доступ к странице — видит её целиком.

    А ещё обратите внимание на IP адреса откуда Вам отдают HTTPS контент. Очень часто сейчас это CDN которая не имеет никакого отношения к самой компании. А CDN не может кешировать зашифрованный контент. Поэтому контент дешифруется на стороне CDN и она имеет все данные переданные пользователем в сторону сайта в открытом виде. И разумеется может точечно подсунуть посетителю свой скрипт.
  • Введение бесплатного размещения заказов и расширенная подписка для фрилансеров
    0
    Теперь осталось заспамить «Фрилансим» заявками и отправить проект в утиль.

    Так что больше не придется выбирать между желанием написать отклик к единственному заказу и 500 рублями.
    А кто мешает просто добавить 99 рублей за клик, оставив при этом 500 рублей за месячную подписку и оплату за размещение заявки? Сейчас просто увеличится количество мусорных заказов и фрилансеры уйдут. При этом у команды «Фрилансим» увеличится количество работы чтобы обеспечить очистку списка задач. Меня удивило чего это телеграм канал «фрилансим» стал разрываться от заказов… А тут такая радость: стоимость подписки выросла в 2.4 раза.
  • Дюжина приемов в Linux, которые действительно сэкономят уйму времени
    0
    Например безопасный ssh не имеет опции, которая позволяет передать ему пароль в командной строке. А небезопасный wget — поддерживает опцию --password.

    Как раз таки разрабочики ssh позаботились о том чтобы неискушённый пользователь не мог показать пароль всем процессам в системе. А разработчик sshpass ликвидировал это досадное недоразумение:
    $ sshpass 'смотрите на мой пароль в списке процессов пожалуйста' ssh root@my-super-server.com

    Между тем для правильного приготовления ssh придуманы ключи.
  • Глобальные последствия одной ошибки в Quagga
    +1
    А нам вешали лапшу про ураган в Костарике и по этой причине датацентр плохо доступен. :)
  • Заражение кэша DNS-серверов провайдеров за счет манипуляции DNS-ответами от легитимных авторитетных DNS-серверов
    0
    Да-да!
    Недавно столкнулся с интересным поведением домена (у клиента).
    На него невозможно было навесить сертификат letsencrypt
    Скрипт упорно возвращал ошибку «сервер не найден». Ошибка приходила от сервиса letsencrypt.
    Но хост у меня нормально грузился и ресолвился. И в ступор меня ставило то что nslookup на мой DNS работал, на яндекса работал, а на гугл 8.8.8.8 возвращал ошибку: «хост не найден». dig-ом раскопал что в домене кто-то начал настраивать DNSSEC но не закончил. Была прописана только запись DS. Запись удалили — и гугл вернул адрес!
    Вывод — гугл и letsencrypt поступают значительно логичнее чем все остальные: Если в домене есть какие-то упоминания о DNSSEC но полная верификация невозможна то нужно вернуть ошибку, а не пытаться ресолвнуть без DNSSEC!