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

Установка

# yum install denyhosts

данная фичка уже лежит в rpmforge, так что секаса с компилингом можно не бояться

Настрой-ка

Первым делом добавим себя в белый лист, дабы не огрести при очепятках. :)

Открываем файлик /etc/hosts.allow и почётно прописываем свой IP:

sshd: xxx.xxx.xxx.xxx

После этого, идем в /etc/denyhosts/denyhosts.cfg и подгоняем конфиг примерно так:

############ THESE SETTINGS ARE REQUIRED ############
SECURE_LOG = /var/log/secure
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY = 7d
BLOCK_SERVICE  = sshd
DENY_THRESHOLD_INVALID = 5
DENY_THRESHOLD_VALID = 10
DENY_THRESHOLD_ROOT = 1
DENY_THRESHOLD_RESTRICTED = 1
WORK_DIR = /usr/share/denyhosts/data
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES
LOCK_FILE = /var/lock/subsys/denyhosts
############ THESE SETTINGS ARE OPTIONAL ############
ADMIN_EMAIL = admin@host.com
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts <nobody@localhost>
SMTP_SUBJECT = DenyHosts Report
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE  ##########
DAEMON_LOG = /var/log/denyhosts
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h
#########   THESE SETTINGS ARE SPECIFIC TO     ##########
#########       DAEMON SYNCHRONIZATION         ##########

Тут стоит обратить внимание на ADMIN_EMAIL, так как туда бубут уходить отчеты о массовых отстрелах )

Запуск

После того как вы всё настроили, остается только добавить его в автозагрузку и запустить:

# chkconfig denyhosts on
# service denyhosts start

На закуску

Если же случилось непоправимое, то останавливаем сервис и правим файлик hosts.deny

После этого идем в /usr/share/denyhosts/data/ и подчищаем свой IP в этих файлах:

1. hosts
2. hosts-restricted
3. hosts-root
4. hosts-valid
5. users-hosts

После этого добавляем себя в белый лист:

# echo ‘xxx.xxx.xxx.xxx’ >> allowed-hosts

И запускаем сервис.

Создание сертификатов для SSL

Создание ключа

Первым делом необходимо создать приватный ключ (private key):

# openssl genrsa -des3 -out domain.ru.key 2048
Generating RSA private key, 2048 bit long modulus
……………………………………..+++
……………………………….+++
e is 65537 (0x10001)
Enter pass phrase for domain.ru.key:
Verifying — Enter pass phrase for domain.ru.key:

При создании ключа необходимо указать ключевую фразу (и запомнить ее).

Создание подписанного сертификата

После того, как сгенерирован ключ, можно создавать самоподписанный сертификат (CSR — Certificate Signing Reques):

# openssl req -new -key domain.ru.key -out domain.ru.csr
Enter pass phrase for domain.ru.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
——
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Russia
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Domain.Ru
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:domain-2.ru
Email Address []:ssl@domain-2.ru

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Удаление пароля из ключа

Неприятной особенностью ключа с паролем является то, что Apache или nginx будет регулярно спрашивать пароль при старте. Очевидно, что это не очень удобно (если только кто-то не находится постоянно рядом на случай перезагрузки или аварийной остановки). Для удаления ключа из пароля необходимо выполнить следующее:

# cp domain.ru.key domain.ru.key.orig

# openssl rsa -in domain.ru.key.orig -out domain.ru.key
Enter pass phrase for domain.ru.key.orig: <пароль-который-указывался-при-создании-domain.ru.key>
writing RSA key

Генерация SSL сертификата

Далее, создаем сам SSL сертификат:

# openssl x509 -req -days 365 -in domain.ru.csr -signkey domain.ru.key -out domain.ru.crt
Signature ok
subject=/C=RU/ST=Russia/O=Domain.Ru/CN=domain-2.ru/emailAddress=ssl@domain-2.ru
Getting Private key

Теперь есть все, что необходимо для создания SSL-соединений.

Правильное расположение SSL сертификатов

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

# cp domain.ru.crt /etc/pki/tls/certs/

Во-вторых, копируем ключ:

# cp domain.ru.key /etc/pki/tls/private/

И в-третьих, удаляем, все то, что было создано в текущей директории:

# rm domain.ru.crt domain.ru.key domain.ru.csr domain.ru.key.orig

Добавляем сертификаты в Apache

Редактируем файл /etc/httpd/conf.d/ssl.conf и меняем..

SSLCACertificateFile /etc/pki/tls/certs/domain.ru.crt
SSLCACertificateKeyFile /etc/pki/tls/domain.ru.key

Сохраняем файл и перезапускаем апач.

# service httpd restart

Сегодня надо не забыть о тонкостях настройки такой хрени как DNS под управлением кэмпа BIND.

Итак, несколько полезных советов:

Если в /etc нет конфига, то вполне вероятно что бинд «срёт» и конфиг надо пихать вот сюда /var/named/chroot/etc

В конфигу надо добавлять список файлов зон с зэками и блджадами. Далее не забудем воздать молитву великому ОНОТОЛЕ и приступим к созданию бараков для наших доменов.

Как вы уже догадались, зарыть их надо в /var/named/chroot/var/named для того чтобы сильно не ипаццо, можно взять готовое файло и подредактить его под свои извращенные нужды. Файло лежит как правило в /usr/share/doc/bind…/sample/var/named

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

Ну и напоследок не забудьте отредактировать файлик /etc/resolv.conf чтобы не краснеть когда провалится проверка. Кстати о ней %)

Проверить грамотность этого шаманства можно при помощи команды:

dig @ns1.domain.com localhost
dig ftp.domain.com

Вот так. Работает ли эта магия, будет известно часов через 6-48 ) Пожелайте удачи и баночку кофе, а за это я буду себя вас радовать новыми ололо.

Читать далее Бинд, Девид Бинд

Итак, господа присяжные, лёд тронулся! Объявлен сезон dedi-секаса со всеми вытекающими ^_^

Надеюсь за эту неделю лоли обретёт не то чтобы дом, но хороший замок с кучей охраны и фамильяров. Хе-хе-хе…

Пока всё. А чего вы ждали в 6 утра? :)

Любите родину, мать вашу!

Купить дедик из колхоза это просто цензоред какой-то. Еще с одним ДЦ мы пролетели как фанера над колхозом (хотя сами виноваты). Граждане, покупая сервер будьте готовы что вас попросят выслать факсом уши, лапы и хвост! Хорошо что еще блин не попросили привезти лично в офис… Уникумы… Были посланы на тот же ФАКс. =\

Вторая проблема может подкрасться ну уж совсем незаметно. Казалось бы всё оформлено, подписано, но тут вам сообщают что карточки из сраной глуши не принимаются. Даже международные! Правда есть шанс, что салесы окажутся людьми разумными и подскажут выход из сложившейся жоп… ситуации.

To be continued… епт.

События последних дней пожалуй стоит описать хотя бы для себя, на будущее…

Как всегда, сначала о приятном. Лоли взяла планку в 2.000 посещений. Няяя… если бы не было так грустно.

Параллельно с этим, шаред опять падал, а на фтп внезано появились проблемы с закачкой файлов… Стало быть пора задуматься о переезде на что-то более серьёзное, а нет, не всё так гладко и даже гадко. Мир хостинга хитрожоп донельзя. Начать с того, что шареды предлагающие по 500гб места и 3тб трафика даже сволочи не врут и предоставляют, но как показала практика в 95% случаев клиент обязательно упрется в какой-то другой лимит.

Следующий по цене шаг — VDS, но тут всё обстоит с точностью до наоборот. В low-end сегменте цены начинаются от 99$ за 2-4 ядра и 8гб памяти, вот только места дают явно не под большие сайты (в среднем 30-50гб). И возникает закономерный вопрос «а контент где хранить?!»…

Следующая ступенька это уже выделенные сервера (Dedicated). Казалось бы нет ничего прекрасней, купил себе сервер и рули! Заодно и опыт в администрировании и настройке получишь. Вот только планка тут начинается от 130-150 вечнозеленых в месяц, а для некоммерчесского проекта это… ну вы поняли.

Последняя спасительная соломинка — начинающие набирать популярность сервера на процессорах Atom. Вроде бы и цена не кусается (обычно в середине между VDS и дедиком) и производительность даже чуточку выше чем у VDS… Но пока что это достаточно узкая ниша для широкого выбора.

И всё было бы ничего, если бы не… специфика проекта. Оказывается такой сайт хостеру не нужен… по крайней мере одному из. После такого, опускаются руки. Неужели у лоли такая хреновая репутация?! Я в тупике… Если до сентября не найдется выход, боюсь придется сворачивать проект и выкинуть на свалку еще два года своей жизни. =\

Сегодня наконец закончила минимальный API для лоли ^^ Теперь осталось стабилизировать нагрузку и можно пускать на автоматику.

Между тем невольно обожглась с ротацией логов, не посмотрев для какой системы мауал и тупо скопипастив всё рекомендуемое -_- В результате сервер пару раз почти лёг (502 не считается =Р). Посмотрев на два метра логов набежавших за пару часов я всё же нашла мануал для своей системки и надеюсь поправила положение ^^»

Читать далее логи и лохи

Ура друзья мои! Если вы это читаете, то значит мои страдания еще не закончились. =)
Наверное все мы совершаем ошибки в жизни, но на некоторые из них мы соглашаемся добровольно а иногда даже платим кому-то деньги, да-да такие бумажки цветные. Всё ради того, чтобы можно было вдоволь посавершать новых ошибок. О чем я? Конечно же о VPS друзя и недруги мои!

Первое и главное правило — не экономь!

Именно ему я и решила последовать, заказав более дорогой и навороченный сервер. И как оказалось слава богу что заказала! Потому что мучений получила в двадцать раз больше чем могла себе представить.

Уже третьи сутки единственное чем я живу, о чем думаю и что ебЪт меня даже во сне — это как настроить этот грёбаный сервак… Я уже проклинаю тот день когда моя глупость вылилась из мозга и закоротив клавиатуру заказала впс. Я проклинаю тех индусов, которые писали мегапупер панель для этого трижды проктятого линукса. Я проклинаю этот ебЪчий апач, которых без стыда и совести жрет десятками мегабайт драгоценную память.

Второе правило — конец появляется с начала.

Когда кошку обучают новому трюку, номер всегда показывают всем посетителям. Я не исключение.

Итак, номер первый: ssh и приватные ключи. паблик на сервер, главный на ключ. и не забудьте поменять порт.

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

Номер третий (заключительный): если вы не девид блейн — apt-get\yum\aptitude remove apache и марш искать зверька под названием nginx!

На сегодня это всё… и если ничего не упадет, а меня никуда не заберут люди в белом, то серия продолжится во имя… Чего?