Если fail2ban в письме пишет "missing whois program"
Проверяем из консоли
# whois 11.22.33.44
-bash: whois: command not found
Это значит, что нужно поставить jwhois. Для CentOS это
# yum install jwhois
Installed: jwhois.x86_64 0:4.0-19.el6
И да, Ceterum censeo Lugansk esse delendam!
Прочитать полностью...
3 янв. 2015 г.
Если fail2ban в письме пишет "missing whois program"
11 дек. 2014 г.
Как чинить проблемы SSHD в Centos 6
Как чинить проблемы SSHD
Если ваша Путти внезапнно вместо логина на сервер по паре ключей пишет в консоли:
Using username "root".
Server refused our key
root@8.8.8.8's password:
А в логе путти вы видите:
2014-12-10 12:17:15 Offered public key
2014-12-10 12:17:15 Server refused our key
2014-12-10 12:17:15 Using SSPI from SECUR32.DLL
2014-12-10 12:17:15 Attempting GSSAPI authentication
2014-12-10 12:17:16 GSSAPI authentication request refused
Это значит, что: караул, меня взломали, я разорен или что настала пора что-то полечить.
1. если вы раньше отключали ведение логов для экономии ресурсов, то нужно убедиться в том, что сейчас работает демон rsyslogd, без него не пишется /var/log/secure и следовательно не работает fail2ban между прочим
# ps axfu
где-то есть такое /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
service rsyslog start
chkconfig rsyslog on
2. включить дебаг лога SSHD
\etc\ssh\sshd_config
разремить или добавить
LogLevel DEBUG3
в районе
#LogLevel INFO
3. За одно проверить
#AuthorizedKeysFile .ssh/authorized_keys
обратите внимание, что путь будет строиться от домашнего каталога юзера! Вам тут исправлять вот так
AuthorizedKeysFile /root/.ssh_t/authorized_keys
не нужно!
4. читать логи, если там есть
key_type_from_name: unknown key type 'ssh-dsa'
key_read: missing keytype
то внимательно проверить файл с публичным ключем, в моем случае было ssh-dsa.... вместо ssh-dss....
а если бы я выбрал ключик попроще RSA, то такой проблемы не было бы :)
желательно в конце ключа через пробел после == дописать что-то типа john@example.net
5. Вывод - выбирайте тип RSA и генерируйте ключи на сервере, потому что при переносе ключа из Putty в \root\.ssh\authorized_keys больше шансов ошибиться, чем при скачивании приватного ключа с сервера на локальный комп.
5. Инструкция
Создаем папку
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
Генерируем ключи
$ ssh-keygen -t rsa
и три раза Энтер
Создаст
~/.ssh/id_rsa приватный ключ
~/.ssh/id_rsa.pub публичный ключ
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
Теперь нужно стащить ~/.ssh/id_rsa (приватный ключ) в программу puttygen.exe и сохранить в формате Путти. Потом подключить к Путти...
Проверим права и владельцев по всему пути
namei -om /root/.ssh
SSHD строго следит за минимально необходимыми правами. Ставить везде 777 и 666 нельзя.
Если это ВДС под OpenVZ, то потребуется восстановить владельца:
restorecon -Rv /root/.ssh
Припрячем ключ на будущее
$ chmod 600 ~/.ssh/id_rsa
Или уберем за собой, смотря кому как нужно
rm ~/.ssh/id_rsa
rm ~/.ssh/id_rsa.pub
Полезное чтиво http://wiki.centos.org/HowTos/Network/SecuringSSH
Прочитать полностью...
10 дек. 2014 г.
mc Крякозаблы вместо псевдографики
Для борьбы с крякозаблами вместо псевдографики в mc обычно делают так
/etc/sysconfig/i18n
LANG="en_US.UTF-8" --> LANG="ru_RU.koi8r"
ИЛИ
LANG="en_US.UTF-8" --> LANG="ru_RU.UTF-8"
но тогда гадостным обазом половина сообщений операционной системы Centos становятся на русском языке, что сильно затрудняет обращение в нерусский саппорт :)
Оказалось, что эту псевдографику в mc можно победить одной командой:
unicode_start
И никакого русского языка :)
Это ещё не всё...
Прочитать полностью...
mc Cannot open master side of pty: No space left on device (28)
Арендовал я месяц назад выделенный сервер потому что ВДС мне уже не хватает по производительности. Вроде всё так же, но какие-то гадости вылазят. Напишу их тут, чтобы потом легче искать было.
Гадость 1.
Midnight Commander, он же mc, после запуска и закрытия оставляет сообщение
Cannot open master side of pty: ▒▒ ▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒ (28)
Решетки это из-за сломавшегося \etc\sysconfig\i18n - это ещё одна гадость от mc
Под решетками имеется в виду так:
Cannot open master side of pty: No space left on device (28)
Решение простое:
#mkdir /dev/pts
#mount /dev/pts
ну и дописать в автозагрузку в /etc/rc.d/rc в самое начало или в /etc/rc.d/rc.local куда угодно
mkdir /dev/pts
mount /dev/pts
----------------------------
другие рецепты не помогали:
«Cannot open master side of pty: No such file or directory (2)
Прежде всего убедитесь, что в /etc/fstab присутствует запись вида:
none /dev/pts devpts mode=0620 0 0
Если нет - добавляем и выполняем под пользователем root:
#mount -a
Если нет идем дальше: Можно запустить strace и посмотреть, что идет не так. Но вероятнее всего ошибка возникает при обращении к /dev/urandom и/или /dev/ptmx.
бла бла бла про OpenVZ.
И это не помогло
Если devpts все же примонтирована, а ошибка сохраняется, возможно отсутствует файл /dev/ptmx
создадим его:
mknod /dev/ptmx c 5 2
chmod 0666 /dev/ptmx
chown root.tty /dev/ptmx
Это ещё не всё...
Прочитать полностью...
16 сент. 2013 г.
Два способа как экономить траф и ресурсы VDS - nginx.conf
nginx.conf
# Баним нахуй ботов
if ( $http_user_agent ~*
360Spider|80bot|80legs|Aboundex|Aboundexbot|AhrefsBot|
Baiduspider|BecomeBot|Blekkobot|DinoPing|Exabot|
Ezooms|Fasterfox|MJ12bot|MLBot|Morfeus|Nutch|
OmniExplorer_Bot|Searchmetrics|SemrushBot|
SeznamBot|Snoopy|SolomonoBot|Sosospider|SurveyBot|
TurnitinBot|URLAppendBot|WBSearchBot|YamanaLab-Robot|ZmEu|aiHitBot|archive.org|dataprovider.com|
discoverybot|dotbot|dotnetdotcom|findlinks|genieBot|
ia_archiver|integromedb|ip-web-crawler|linkcheck|
lipperhey|panopta.com|purebot|rogerbot|scrapbot|
sistrix|sitebot|spock
) {
return 444;
}
переносы строк я поставил для удобства чтения, а вообще-то они в одну строку живут у меня. Кстати, это одно не многих законных использований директивы if ( в конфигах энджинкса.
Потому что robots.txt они не читают, а если читают, то не выполняют, да и отдавать им robots.txt дюже жирно будет. Некоторые вписывают сюда Yandex, но учитывая его мировую экспансию на страны-члены-НАТО (Турция, например), я его не забанил.
Если какую тварь не упомянул или кого лишнего вписал - буду рад комментам.
Важная новость для тех, кто в танке, как я. Как оказалось http://clockworkorange.me/ с 01/01/2013 снова работает, и работает хорошо! Читайте, завидуйте, думайте, делайте. А то я поставил на мониторинг фид старого блога, а там:
Requesting http://www.clockworkorange.biz/feed .. Ok
Reply received (reply time: 469 ms)
-----------------------------------
HTTP/1.1 404 Not Found
Server: nginx/1.3.12
Date: Mon, 16 Sep 2013 11:33:22 GMT
Content-Type: text/html; charset=iso-8859-1
Content-Length: 291
Connection: close
Идите читать Блог Заводного Апельсина Ересь эпохи разума
Прочитать полностью...
12 сент. 2013 г.
Прощай, Apache (вэбсервер такой). Я буду скучать.
Прощай, Apache (вэбсервер такой). Я буду скучать. Твоя прожорливость памяти и решето утечек памяти мне не по карману. Твои модули мне не осилить в плане "а ты отключи лишние модули и Апач будет хорошо работать". Я полностью переписал свои .htaccess в nginx.conf. PHP-FPM так же хорошо работает и без этой прожорливой пожилой жировой прослойки.
В плане переезда на современный софт перевооружения для войны со зверинцем, где заправляют Панда и Пингвин. Как памятку для highload doorway pages пишу этот пост. Начало истории тут Centos. Как оказалось...
Советы грядущем поколениям по вопросу "как переписать конфиг апача .htaccess в конфиг энджинкса nginx.conf":
- конфиг энджинкса это не программа на ПХП!
- порядок следования директив в nginx.conf редко что-то означает, а точнее скачать ничего не означет
- не используйте директиву if иначе как с return или rewrite ... last; - смотри пункт 1 и тут
- в директиве if пробел перед скобкой обязятелен!
- Читайте мануалы
- Читайте мануалы на английском, там написано больше, чем на русском.
- Читайте мануалы вопросы-ответы в том числе так вот так (гугл разумеется) site:nginx.org/ru rewrite или что ещё непонятно
- Читайте мануалы так (гугл разумеется) site:mailman.nginx.org rewrite или что ещё непонятно
- Ну и так тоже читайте мануалы (гугл разумеется) site:forum.nginx.org rewrite
- Гуглите, ответы лично Игоря Сысоева на сложные вопросы попадаются в самых неожиданных местах.
- Пишите свой конфиг от простого к сложному с нуля
- Не включайте в свой конфиг ни единого символа, если не знаете точно, что он делает. Даже если нагуглили достойный пример - проверяйте все символы, зачем они указаны на что они влияют.
Желаю вам успешного избавления от Апача.
Удалить из ридера:
Ура! Ридер чист от говноблогов! Читайте Самосвала, он дело пишет! Прочитать полностью...
2 июл. 2013 г.
Centos Nginx PHP-fpm error child 1111 exited on signal 11 (SIGSEGV) after 2222 seconds from start
Если проблема, вынесенная в заголовок, вас волнует "Centos Nginx PHP-fpm child 1111 exited on signal 11 (SIGSEGV) after 2222 seconds from start", то после долгого гугления вы найдете два совета:
- выслать дамп коре куда-то для исправления бага
- стучать в бубен потому что никто не знает, от чего срабатывает защита от "сегментейшен фолт"
UPD
Забыл указать, что:
PHP 5.4.16
Nginx 1.5.1
Centos 5.9
Удалить из ридера - данунах, некогда. Прочитать полностью...
19 июн. 2013 г.
Using DKIM in Exim for Centos. Part 1.
Мои аптеки регулярно шлют мне письма от себя и из обратной связи от кутомеров и абузеров. В последнее время mail.ru и gmail.com повадились такие письма даже в спам не ложить, а отправлять обратно с пометкой 421 - "никого нет дома, приходите позже" или "550 - ты ёбаный спамер".
- почтовики не любят такую хуйню в заголовках как "X-PHP-Originating-Script: 500:class-phpmailer.php", устраняется в \etc\php.ini исправить mail.add_x_header = Off
- всем поголовно в ДНС добавить TXT 86400 v=spf1 ip4:111.222.33.44 a mx ~all (IP ясен хуй писать свой)
- заставить exim (не менее 4.70, у меня 4.80.1) подписывать письма кровью, т.е. DKIM
cd /etc/pki/dkim
openssl genrsa -out buy-viagra-online.com.key 1024
Generating RSA private key, 1024 bit long modulus
...................++++++
..++++++
e is 65537 (0x10001)
openssl rsa -in buy-viagra-online.com.key -pubout > buy-viagra-online.com.pub
chown exim:exim buy-viagra-online.com.key
chmod 640 buy-viagra-online.com.key
Получили buy-viagra-online.com.key 891 байт + buy-viagra-online.com.pub 272 байта
MIGfMA0GCSqGSIb3D......
......
......
YRhOq9VT1IuiNhULLQIDAQAB
-----END PUBLIC KEY-----
k=rsa; p=
remote_smtp:
driver = smtp
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
DKIM_KEY_FILE = /etc/pki/dkim/DKIM_DOMAIN.key
# OLD FUCKING ERROR DKIM_PRIVATE_KEY = ${if exists{DKIM_KEY_FILE}{DKIM_FILE}{0}}
DKIM_PRIVATE_KEY = ${if exists{DKIM_KEY_FILE}{DKIM_KEY_FILE}{0}}
remote_smtp:
driver = smtp
dkim_domain = DKIM_DOMAIN
dkim_selector = dkim
dkim_private_key = DKIM_PRIVATE_KEY
# я не вкурил, зачем это и заремил dkim_canon = relaxed
echo "body viagra 00 _`date`_" |mail -s "subject 123 from _`hostname`_" fucking.viagra.admin@gmail.com
Если всё нормально, то на жимыле в исходниках вы увидите в том числе и такое:
spf=pass (google.com: domain of root@buy-viagra-online.com designates 111.222.33.44 as permitted sender) smtp.mail=root@buy-viagra-online.com;
dkim=pass header.i=@buy-viagra-online.com
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=buy-viagra-online.com; s=dkim;
h=Date:From:Message-Id:Subject:To; bh=9DgPzmCC0hW....много-букв.....2wDEUnow=;
b=idayqjqxQbc....дохуя-букв.....LhhlE8jE3Y=;
Received: from root by buy-viagra-online.com with local (Exim 4.80.1)
(envelope-from
If you wish to receive the results at the address in the “mail_from”, the sample message should be sent to check-auth@verifier.port25.com.
If you wish to receive the results at the address in the “from” header, the sample message should be sent to check-auth2@verifier.port25.com.
If you wish to receive the results at a different address from one of the addresses above, the address need to be added to the check-auth address. For example, to send the results to: jsmith@yourdomain.com the sample message should be sent to check-auth-jsmith=yourdomain.com@verifier.port25.com.
PS
2 июн. 2013 г.
Centos. Как оказалось...
Пост с матюками!
Я уже давно и планомерно переезжаю постепенно с шаредов на ВДС. Ибо как только начинает валить траф, то шареды тут же блочат акк за:
- нагрузка на процессор
- нагрузка на Мускл (у меня есть очень старые сапосайты на вордпрессе)
- нагрузка на память ПХП лимит
- лимит трафика 509 бендвич эксид и нахуй трафик.
- лимит процессорного времени в месяц, в день, в час, в минуту, в секунду.
- переходи на больший тариф или давайдосвидания.
Гугл пугается, траф падает. После перехода на дорогой тариф через месяц ситуация повторяется, но уже на тарифе не за 1-2 бакса в месяц, а за 4-5.
Заебали, только ВДС!
Как оказалось:
- Centos охуенен, если мелкий ВДС, то 5.9, если крупный, то 6.4.
- Панель управления нахуй не нужно. Putty + WinSCP + mc и путь весь мир отсосет. Разве что поставить webmin, побаловаться, посмотреть что там хостер нсобирал в образ Центоса и снести нахуй.
- Администрировать это дело не сложней, чем винду.
- nging охуенен. Апач охуенен только тем, что в нем есть .htaccess. И то только временно, пока не перенес это на php-fpm.
Удалять некогда никого сейчас Прочитать полностью...