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
Собственно говоря ровно мой случай, получается вот такая вот штука, что если год < 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 для того что бы парсить эти хидеры и сразу смотреть где "зараза".... :)
Странно, а зачем на СНГ пользователей выставлять в опросе cPanel ?
Это все равно , что сейчас на WHT выставить опрос cPanel или ISP Manager :) Будет 100/0 я думаю :D
Я лично проголосовал за cPanel, как выяснилось я не один, но все равно cPanel довольно не кислый продавец и довольно не плохого ПО... И куда более давний нежели все приведенные в опросе... просто в СНГ он не супер как популярен. Я вот например еще interworx пользуюсь, кто-то из тут присутствующих хоть раз пробовал? ;)
Ну и как бы webmin это вообще-то не для "управления хостингом".
Ну допустим смысл в покупке и открытия хостинга без домен есть хотя бы для того чтобы добавить его позже. Я уж молчу про вариант хостинга тока почты или тока базы данных или вообще тока ДНС парковки.
Не едет не стреляет но красивый :) (c) Армии Мира :)
Про без проблем это может сделать сам пользователь в том числе по АПИ ?
При условии метода связи домена с акаунтом используемого cpanel я бы тоже не давал такую возможность.
Вопросы удобства? :)
И что можно сделать аккаунт без домена или поменять главный домен ( то что типа полноценный ) :)))) ? Разнос ДНС - это еще не многосерверность как думают сектанты :)
Без домена я думаю создавать акаунты никакого смысла нет, а поменять основной можно вообще без каких либо проблем, то вы со старыми сектантами общаетесь, или вообще подставными :)
А вот рано я радовался, аномалии продолжаются, я поставил file2ban на 2.5.2 работает отлично, а на той тачке где 2.6.6 ничего не завелось, решил откатывать там питон, каково же было удивление когда и с 2.5.2 не завелось, начал изучать, вот пока до чего добрался:
server/filter.py
Вот тут вот путем дебага удалось выяснить что 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
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, потому что:
Работает, а вот это:
Нет!!!!
Я не сильный знаток regex, но реально и в том и в том случае вывод
дает ОДИНАКОВЫЙ результат.... Но во втором случае ... происходит то, что происходило у меня......
Теперь все выглядит значительно лучше !!!!!
# 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
Всем огромное спасибо за дискуссию!!!
это тока так так думаю адепты спанель секты :)
С чего вы взяли, уже довольно давно и плотно пользую cPanel, никакая она не однодомная, все там в порядке, и кластеризация ДНС есть и перенос между панелями , и бекапы и все все все прочее... и так думают не адепты, а несколько сотен тысяч пользователей cPanel )
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 для того что бы парсить эти хидеры и сразу смотреть где "зараза".... :)
Странно, а зачем на СНГ пользователей выставлять в опросе cPanel ?
Это все равно , что сейчас на WHT выставить опрос cPanel или ISP Manager :) Будет 100/0 я думаю :D
Я лично проголосовал за cPanel, как выяснилось я не один, но все равно cPanel довольно не кислый продавец и довольно не плохого ПО... И куда более давний нежели все приведенные в опросе... просто в СНГ он не супер как популярен. Я вот например еще interworx пользуюсь, кто-то из тут присутствующих хоть раз пробовал? ;)
Ну и как бы webmin это вообще-то не для "управления хостингом".
Центос 5, все версии стандартные из rpm
Спасибо, кто-то еще что-то скажет "о себе?" :))) ?
itl.ua вам в помощь.