Romka_Kharkov

Romka_Kharkov
Рейтинг
485
Регистрация
08.04.2009
Должность
Хостинг
Качественный хостинг

ТС, После того, как ваш пароль кто-то использует, и начнет оттуда брутить или делать то, что вы пишите в первом посте, хостер просто отключит ваш сервер уже на основании нарушений которые будет производить ваш сервер..... так что лучше подумайте еще разок и поменяйте пароль... (если это еще уместно) Затребовать возврат вы можете даже пользуясь услугой, при этом не поясняя причин.... идите этим путем, если хотите получить хоть какие-то возвраты ибо по пути "вот публичный сервер" он завтра же перестанет работать вполне официально, а вас еще занесут в базы невменяемых клиентов.... Ну а про Хостера говорить ничего не буду, читайте о чем пишут те , у кого вы заказываете услуги, возможно будет не плохой урок для вас.

Добрый день,

Размещение в Канаде.


CPU: Dual Processor Xeon E5-2609
RAM: 16 GB
BW: 10 TRB
HDD: 2 x 1 TRB

$400.00 / месяц.

Заказать прямо сейчас

[ Акция ]

Напоминаем читателям о том, что все еще продолжает свое действие акция, согласно условий которой можно приобрести следующий тариф: 5 GB HDD, 200 GB трафика, 50 доменов на акаунт, ssh, cPanel , всего за $6.50 в месяц, при оплате сроком на 3,6,12,24 месяца действуют существенные скидки.

Так же напоминаем, что есть в наличии еще 3 сервера, на базе Intel Core i7 , 32 гигабайта памяти, 1x1000 GB HDD, 100Mb/s включение (общее), личное +150$ к стоимости сервера. Установка 50$, стоимость в месяц 130$.

К оплате принимаются (WebMoney, Yandex, Приват24, Visa/MC и другие..)

mvolgin:
Ну допустим смысл в покупке и открытия хостинга без домен есть хотя бы для того чтобы добавить его позже. Я уж молчу про вариант хостинга тока почты или тока базы данных или вообще тока ДНС парковки.

Не едет не стреляет но красивый :) (c) Армии Мира :)

mvolgin:

Про без проблем это может сделать сам пользователь в том числе по АПИ ?

При условии метода связи домена с акаунтом используемого cpanel я бы тоже не давал такую возможность.

Вопросы удобства? :)

mvolgin:
И что можно сделать аккаунт без домена или поменять главный домен ( то что типа полноценный ) :)))) ? Разнос ДНС - это еще не многосерверность как думают сектанты :)

Без домена я думаю создавать акаунты никакого смысла нет, а поменять основной можно вообще без каких либо проблем, то вы со старыми сектантами общаетесь, или вообще подставными :)

А вот рано я радовался, аномалии продолжаются, я поставил file2ban на 2.5.2 работает отлично, а на той тачке где 2.6.6 ничего не завелось, решил откатывать там питон, каково же было удивление когда и с 2.5.2 не завелось, начал изучать, вот пока до чего добрался:

server/filter.py


def processLineAndAdd(self, line):
for element in self.processLine(line):
ip = element[0]
unixTime = element[1]
if unixTime < MyTime.time() - self.getFindTime():
break
if self.inIgnoreIPList(ip):
logSys.debug("Ignore %s" % ip)
continue
logSys.debug("Found %s" % ip)
self.failManager.addFailure(FailTicket(ip, unixTime))

Вот тут вот путем дебага удалось выяснить что unixtime почему-то показывает чило -1 год !!!!! т.е разница между unixtime и time - findtime получается год + 600.... ладно бы там я понял на часы... тайм зона и.т.п но реально показывает год, собственно на этом моменте и происходит break, так что надо выяснить почему такая лажа со временем и возможно решу баг\Фичу :D

На момент запуска: (Thu Jan 17 21:56:37 EST 2013)

unixTime = 1326858991.0 (!!!!) = ~ 17 Jan 2012 22:56:31

MyTime.time() = 1358477791.85

self.getFindTime() = 600

В итоге разница между unixtime и выражением MyTime.time() - self.getFindTime() получается постоянно в районе -31618200.

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

(Пока правило не блокирует трафик, но в файрвол IP заносит)

Я в тихом шоке, питон забыл дату? На сервере стоит ntpd, синхронизация четкая :) Это на случай вопросов "а что date показывает?" :)

Как вам такая история? :)

---------- Добавлено 18.01.2013 в 08:22 ----------

Кароче я паходу решил ребус, немного извратился, изучил структуру софта, в общем интересная там штука есть :

server/datetemplate.py


def getDate(self, line):
date = None
dateMatch = self.matchDate(line)
if dateMatch:
try:
# Try first with 'C' locale
date = list(time.strptime(dateMatch.group(), self.getPattern()))
except ValueError:
# Try to convert date string to 'C' locale
conv = self.convertLocale(dateMatch.group())
try:
date = list(time.strptime(conv, self.getPattern()))
except ValueError, e:
# Try to add the current year to the pattern. Should fix
# the "Feb 29" issue.
conv += " %s" % MyTime.gmtime()[0]
pattern = "%s %%Y" % self.getPattern()
date = list(time.strptime(conv, pattern))
if date[0] < 2000:
# There is probably no year field in the logs
date[0] = MyTime.gmtime()[0]
# Bug fix for #1241756
# If the date is greater than the current time, we suppose
# that the log is not from this year but from the year before
if time.mktime(date) > MyTime.time():
date[0] = 2013
# date[0] -= 1
elif date[1] == 1 and date[2] == 1:
# If it is Jan 1st, it is either really Jan 1st or there
# is neither month nor day in the log.
date[1] = MyTime.gmtime()[1]
date[2] = MyTime.gmtime()[2]
return date

http://sourceforge.net/tracker/?func=detail&aid=1241756&group_id=121032&atid=689044

Собственно говоря ровно мой случай, получается вот такая вот штука, что если год < 2000, то взять "текущий" блин.... но следом срабатывает условие time.mktime(date) > MyTime.time()..... это у меня получается строка приходит из будущего? :) Похоже что дата в лог файле датируется более ранним временем нежели запуск функции ? как такое может быть? Капец :) Как вариант решил вопрос (на 2013 год хватит ;)) вот той вот строчкой в тот самом фиксе который предлагает автор, пока не стал до конца разбираться в причинах срабатывания этого условия .... но реально какой-то баг на лицо либо же помирает питончик :D , при этом на сервере где работает нормально стоит тот же питон и тот же fail2ban..... и та же OS .... Ну не шаманский ли бубен тут нужен?!!!!!!! 🤪 Либо надо все таки менять формат логов (что бы был YEAR) если это позволяет вообще pure-ftpd ;)

Ах да, это все дело запустил на python 2.6.6 .

У кого там 2.6.6 и ничего не завелось ? kgtu5, не желаете фичу затестить ?

В общем господа победа, дело видимо в regex, потому что:


__errmsg = (?:Authentication failed for user|Erreur d'authentification pour l'utilisateur)
failregex = pure-ftpd: \(\?@<HOST>\) \[WARNING\] %(__errmsg)s \[.+\]$

Работает, а вот это:


__errmsg = (?:Authentication failed for user|Erreur d'authentification pour l'utilisateur)
failregex = pure-ftpd(?:\[\d+\])?: \(.+?@<HOST>\) \[WARNING\] %(__errmsg)s \[.+\]$

Нет!!!!

Я не сильный знаток regex, но реально и в том и в том случае вывод


fail2ban-regex <logfile> <filter file>

дает ОДИНАКОВЫЙ результат.... Но во втором случае ... происходит то, что происходило у меня......

Теперь все выглядит значительно лучше !!!!!


# fail2ban-client status pftpd-pf
Status for the jail: pftpd-pf
|- filter
| |- File list: /var/log/xferlog
| |- Currently failed: 1
| `- Total failed: 3
`- action
|- Currently banned: 1
| `- IP list: x.x.x.x
`- Total banned: 1

Всем огромное спасибо за дискуссию!!!

mvolgin:
это тока так так думаю адепты спанель секты :)

С чего вы взяли, уже довольно давно и плотно пользую cPanel, никакая она не однодомная, все там в порядке, и кластеризация ДНС есть и перенос между панелями , и бекапы и все все все прочее... и так думают не адепты, а несколько сотен тысяч пользователей cPanel )

kgtu5:
centos 6 - fail2ban настроен для ssh
пробовал включать в конфиге все имеющиеся блокировки + найденную на просторах для nginx = половина (включая нгикс и фтп) не завелась...

А питон какой?

rijy, скоро придут те, кто сделает это за деньги :D, ничего сложного в этом нет, натолкну на мысли: надо маркировать исходящую почту, есть два варианта вообще попадания в очередь вашей почты, которая исходит из почтового сервера, первый вариант, это через SMTP авторизацию, т.е для легальных почтовых клиентов, второй вариант, это всякие функции mail() и прочие, которые ставят в очередь почту локально. Могут быть конечно и другие способы попадания в очередь, но это не отсюда я думаю (например relay), так вот в первом случае, когда происходит SMTP авторизация, каждое письмо обладает в хидере информацией о том, кто авторизировался, а в случае работы приложений php/cgi ... и.т.п маркировать надо почту на стадии самого интерпретатора... для PHP Есть патч mail-headers, что-то подобное полагаю есть и для cgi... в случае mail-headers каждое письмо поставленное в очередь вашего почтового сервера будет содержать доп. информацию содержащую полный путь к сценарию который и породил это письмо. Можно писать простейшие враперы ан любом языке, но при опытных взломах.... их могут обходить, верный путь это patch для php (mail-headers).

Еще как вариант можно рассмотреть такой вид настройки, при которой например поставить в очередь почту локально будет вообще невозможно, допускаться будет почта только от relayhosts или от тех кто прошел smtp авторизацию.

Варианты решения есть, надо только подобрать оптимальный ;) а вечно искать шелы - это как минимум странно, у меня уже сценарии готовы под мои MTA для того что бы парсить эти хидеры и сразу смотреть где "зараза".... :)

Всего: 6838