Зато в два клика получаем полноценный мониторинг со всеми плюшками. Zabbix вот так сразу не поднять — то версия ОС не та, то mysql лагает из-за внезапной заменености на mariadb, то, то апач, то РНР, то пятое то десятое. Допиливать до продакшн-состояния нужно неделями.
Офф-топ — Вот от вычещения всяких точек доступа отдично попмогает Cisco-вский bpdu guard enable, желательно на всех портах всех свитчей (кроме транковых портов). В моей пркатике был случай — вся сеть (200 хостов) частенько ложилась в рандомное время. Каталисты мигали всем чем можно — на лицо типичная «петля», а вот где — ХЗ. Включение фитчи сразу «положило» все подозрительные порты и сеть ожила. Затем получилось найти нашего клиента — допотопная точка доступа ASUS, любезно оставленная предыдущими админами. Я спросил подобные инцеденты решались до меня — это был фейспалм — выдергивали поочередно всех клиентов из всех свитчей.
Я заметил одно серьезное отличие — в вашем мане *.pem, а в моем конфиге *.ovpn. Что в деталях делает этот скрипт — я ХЗ, и как туда вставить *.pem тоже. И еще вопрос — поймет ли OpenVPN GUI формат pem?
Лучше чем ничего. Как мера против школоты и войтишников спасет наверняка. Среднему энетрпрайсу бОльшего и не надо. А сломать любую галочку (АКА любое шифрование) всегда возможно в этом мире — вопрос денег и времени. Обязательно сломают, не сегодня, так завтра, когда алгоритмы шифрования подпротухнут, а ASIC-и станут немного быстрее. Так что не стОит переоценивать возможности ничего и никогда.
#! /bin/bash
# Script to automate creating new OpenVPN clients
#
# H Cooper — 05/02/11
# Y Frolov — 08/06/16 — bundle config added (unified format)
# Usage: newclient.sh <common-name>
echo «Script to generate unified config for Windows App»
echo «sage: newclient.sh <common-name>»
# Set vars
OPENVPN_DIR=/etc/openvpn
OPENVPN_RSA_DIR=/etc/openvpn/easy-rsa
OPENVPN_KEYS=$OPENVPN_RSA_DIR/keys
BUNDLE_DIR=/etc/openvpn/bundles
# Either read the CN from! or prompt for it
if [ -z "!" ]
then echo -n «Enter new client common name (CN): „
read -e CN
else
CN=$1
fi
# Ensure CN isn't blank
if [ -z “$CN» ]
then echo «You must provide a CN.»
exit
fi
# Check the CN doesn't already exist
if [ -f $OPENVPN_KEYS/$CN.crt ]
then echo «Error: certificate with the CN $CN alread exists!»
echo " $OPENVPN_KEYS/$CN.crt"
exit
fi
Всё лучше, чем хранить ключ в открытом виде. Буду рад если скинете пруф, что эта галочка бесполезная. На может и ЖД хранятся, но явно не в открытом виде.
Мэээ, так подскажи, как шифровать. Понятно, что шифровать файловую систему нет особого смысла нет — сел за «залогиненную» учетку пользователя и слил *.ovpn. В идеале была бы технология как в винде — свое хранилище сертификатов и клей к ним, где можно ставить либо пароль на ключ либо метку «неэкспортируемый.»
Зато ставится чуть ли не в 2 с пполвиной клика. Такой, в идеале, и должна быть установка бесплатных, типично-базововых сервисов, вроде почты, VPN, проксей. Основной трабл — CRL, как уже говорилось.
Агаа, Ну-Ну… Использовал этот гит-репозторий, весьма годная штука… была… пока через месяц после установки не протух CRL, а продакшн-клиентов уже было за сотню! Притом автор сего решения даже не соизволил об этом упомянуть, никак от слова вообще!!! Не говоря уже о решении этой траблы. Имхую, что цель такого сервака ни разу не продакшн, а сервак-однодневка — проработать месяц на одном VPS-хостинге, затем протухнуть/выпилиться и подняться «с нуля» на другом. Продлить CRL у меня получилось только на следующие 30 дней. Последующее продление так и не заработало. Скрипт CRL-обновления ругался на какие-то кривые атрибуты в СА. Проблема еще в том, что конкретно по CRL-проблеме на openVPN-е гугл знает не много. Пришлось заколхозить всё это дело скриптом в cron-е, по «откату» системного времени каждую ночь. До такой стыдобы я еще не скатывался. Надеюсь этот костыль выпилить в ближайшее время. Вторая трабла — все VPN-клиенты за-NAT-ченные, что тоже крайне неудобно для eterprise-структур, т.е. из LAN-ки клиента никак не достать. И поменять NAT на routing вообще никак и судя по всему, OpenVPN тупо не умеет раутить клиентов. Хотя тот же самый MS ISA умел это дело переключать одной галочкой. Третий трабл — около-нулевая секьюрность — *.ovpn-ключ-настройка на клиентах OpenVPN храниться в явном виде в папочке профиля фраерка и спикрасть его, имея доступ к ПК — как два байта отослать. Единственный плюс решения — работает даже через параноидально-защищенные фаерволлы, где хоть как-то разрешен TCP:443.
… А следовательно и зарплаты будут падать (по факту уже падают) с «развитием» рынка. Лет через этак через 5 такими темпами в сеньёрам, Java-developer-ам или DevOps-инжеренам будут относиться, как сейчас к сисадмину, т.е. как к сатнехнику/электрику/уборщице. «Типа ИТ всё просто — любой вчерашний студент „сделает“ твою работу за 5 минут».С такой тенденцией в ИТ делать нечего будет лет через 10 — прибыльнее будет переквалифицироваться на того же юриста/врача/аналитЕГа/клерка/таксиста/дальнобоя.
Да тут дело даже не в возрасте — мне попадаются фрукты, которым далеко за 30 и начинают всех вокруг учить жизни. Тем не менее я рад, что вы согласны с некотороми моими тезисами, однако судя по «минусам», большинство этого формума как раз состоит из этих эффективных. З.Ы. про кипячение воды уже столько вбросов по всяим РенТВ и интернетам было.
С «крутилкой» swappiness согласен с вами. Её метрики вообще не прослеживаются. Недавно настраивал 1С+PostreSQL+CentOS на весьма дряблой виртуалке. Так вот при создании чистой БД установщик жаловался на нехватку RAM и «затыкался». В swappiness, были «попробованы» цифры 50,60,80,90....98,99 — не помогало пока не поставил 100, т.е. предельное значение, когда система свапит всё, что можно. И только тогда, скрежеча винчестером, установка завершилась. Поэтому, образно весь swapiness можно привести только к двум состояниям — вкл и выкл, без каких либо промежуточных.
Таки без SWAP-a совсем не здорово. Можно настроить swapeness таким образом, что свап будет использоваться только в том случае когда с RAM совсем беда, здесь есть хоть какая-то вероятность, что нода не ляжет.
#! /bin/bash
# Script to automate creating new OpenVPN clients
#
# H Cooper — 05/02/11
# Y Frolov — 08/06/16 — bundle config added (unified format)
# Usage: newclient.sh <common-name>
echo «Script to generate unified config for Windows App»
echo «sage: newclient.sh <common-name>»
# Set vars
OPENVPN_DIR=/etc/openvpn
OPENVPN_RSA_DIR=/etc/openvpn/easy-rsa
OPENVPN_KEYS=$OPENVPN_RSA_DIR/keys
BUNDLE_DIR=/etc/openvpn/bundles
# Either read the CN from! or prompt for it
if [ -z "!" ]
then echo -n «Enter new client common name (CN): „
read -e CN
else
CN=$1
fi
# Ensure CN isn't blank
if [ -z “$CN» ]
then echo «You must provide a CN.»
exit
fi
# Check the CN doesn't already exist
if [ -f $OPENVPN_KEYS/$CN.crt ]
then echo «Error: certificate with the CN $CN alread exists!»
echo " $OPENVPN_KEYS/$CN.crt"
exit
fi
# Establish the default variables
export EASY_RSA="/etc/openvpn/easy-rsa"
export OPENSSL=«openssl»
export PKCS11TOOL=«pkcs11-tool»
export GREP=«grep»
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`
export KEY_DIR="$EASY_RSA/keys"
export PKCS11_MODULE_PATH=«dummy»
export PKCS11_PIN=«dummy»
export KEY_SIZE=2048
export CA_EXPIRE=3650
export KEY_EXPIRE=1825
export KEY_COUNTRY=«US»
export KEY_PROVINCE=«CA»
export KEY_CITY=«xxxxxxxx»
export KEY_ORG=«xxxxxxxxxx»
export KEY_EMAIL=«xxxxxxx»
export KEY_OU=«RG»
export KEY_NAME=«EasyRSA»
# Copied from build-key script (to ensure it works!)
export EASY_RSA="${EASY_RSA:-.}"
"$EASY_RSA/pkitool" --batch $CN
# Add all certs to unified client config file
# Default config for client
cp $OPENVPN_DIR/client.ovpn $BUNDLE_DIR/$CN.ovpn
# CA
echo "" >> $BUNDLE_DIR/$CN.ovpn
cat $OPENVPN_KEYS/ca.crt >> $BUNDLE_DIR/$CN.ovpn
echo "" >> $BUNDLE_DIR/$CN.ovpn
# Client cert
echo "" >> $BUNDLE_DIR/$CN.ovpn
cat $OPENVPN_KEYS/$CN.crt >> $BUNDLE_DIR/$CN.ovpn
echo "" >> $BUNDLE_DIR/$CN.ovpn
# Client key
echo "" >> $BUNDLE_DIR/$CN.ovpn
cat $OPENVPN_KEYS/$CN.key >> $BUNDLE_DIR/$CN.ovpn
echo "" >> $BUNDLE_DIR/$CN.ovpn
if openvpn --version | grep 2.3; then
# ta tls auth OpenVPN 2.3.x
echo «key-direction 1» >> $BUNDLE_DIR/$CN.ovpn
echo "<tls-auth>" >> $BUNDLE_DIR/$CN.ovpn
cat $OPENVPN_KEYS/ta.key >> $BUNDLE_DIR/$CN.ovpn
echo "</tls-auth>" >> $BUNDLE_DIR/$CN.ovpn
else
# ta tls crypt OpenVPN 2.4.x
echo "<tls-crypt>" >> $BUNDLE_DIR/$CN.ovpn
cat $OPENVPN_KEYS/ta.key >> $BUNDLE_DIR/$CN.ovpn
echo "</tls-crypt>" >> $BUNDLE_DIR/$CN.ovpn
fi
# DH key
echo "" >> $BUNDLE_DIR/$CN.ovpn
cat $OPENVPN_KEYS/dh.pem >> $BUNDLE_DIR/$CN.ovpn
echo "" >> $BUNDLE_DIR/$CN.ovpn
#echo ""
echo «COMPLETE! Copy the new unified config from here: /etc/openvpn/bundles/$CN.ovpn»
Где здесь можно еще пароль прикрутить?