abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 13:11 | Nová verze

Po téměř dvou letech byla vydána nová verze 4.0 linuxové distribuce Audiophile Linux (též AP-Linux-V4). Tato distribuce vychází z Arch Linuxu, používá systemd, správce oken Fluxbox a vlastní real-time jádro pro nižší latence. Z novinek můžeme jmenovat podporu nových procesorů Intel Skylake a Kaby Lake nebo možnost instalace vedle jiných OS na stejný disk. Pokud se zajímáte o přehrávání hudby v Linuxu, doporučuji návštěvu webu této

… více »
Blaazen | Komentářů: 0
včera 18:55 | Nová verze

Byla vydána nová stabilní verze 1.9 (1.9.818.44) webového prohlížeče Vivaldi (Wikipedie). Z novinek vývojáři zdůrazňují podporu nového vyhledávače Ecosia. Ten z příjmů z reklam podporuje výsadbu stromů po celém světě (YouTube). Nově lze přeskupovat ikonky rozšíření nebo řadit poznámky. Nejnovější Vivaldi je postaveno na Chromiu 58.0.3029.82.

Ladislav Hagara | Komentářů: 16
včera 17:00 | Nová verze

Byla vydána verze 3.7.0 svobodného systému pro správu obsahu (CMS) Joomla!. V oznámení o vydání (YouTube) se píše o 700 vylepšeních. Opraveno bylo také 8 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 0
včera 08:22 | Komunita

Grsecurity (Wikipedie) je sada bezpečnostních patchů pro linuxové jádro (porovnání se SELinuxem, AppArmorem a KSPP). Od září 2015 nejsou stabilní verze těchto patchů volně k dispozici. Dle včerejšího oznámení (FAQ) nejsou s okamžitou platností volně k dispozici už ani jejich testovací verze.

Ladislav Hagara | Komentářů: 47
26.4. 23:33 | Komunita

OpenBSD 6.1 vyšlo již 11. dubna. Po dvou týdnech byla vydána i oficiální píseň. Její název je Winter of 95 a k dispozici je ve formátech MP3 a OGG.

Ladislav Hagara | Komentářů: 0
26.4. 18:55 | Nová verze

Byla vydána verze 2017.1 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux. S vydáním verze 2016.1 se Kali Linux stal průběžně aktualizovanou distribucí. Aktualizovat jej lze pomocí příkazů "apt update; apt dist-upgrade; reboot".

Ladislav Hagara | Komentářů: 0
26.4. 18:22 | Nová verze

Po téměř pěti letech od vydání verze 2.00 byla vydána nová stabilní verze 2.02 systémového zavaděče GNU GRUB (GRand Unified Bootloader). Přehled novinek v souboru NEWS.

Ladislav Hagara | Komentářů: 21
26.4. 17:55 | Komunita

Vývojáři Debianu oznámili, že od 1. listopadu letošního roku nebudou jejich archivy dostupné pomocí protokolu FTP. Již v lednu oznámil ukončení podpory FTP kernel.org (The Linux Kernel Archives).

Ladislav Hagara | Komentářů: 28
26.4. 17:00 | Bezpečnostní upozornění

V oblíbeném webmailu postaveném na PHP SquirrelMail (Wikipedie) byla nalezena bezpečnostní chyba CVE-2017-7692, jež může být útočníkem zneužita ke spuštění libovolných příkazů a kompletnímu ovládnutí dotčeného serveru. Zranitelnost se týká pouze instancí, kde je pro transport používán Sendmail.

Ladislav Hagara | Komentářů: 3
26.4. 13:11 | Zajímavý článek

Soudní dvůr Evropské unie rozhodl (tisková zpráva) ve věci C-527/15: Prodej multimediálního přehrávače, který umožňuje zdarma a jednoduše zhlédnout na televizní obrazovce filmy protiprávně zpřístupněné na internetu, může představovat porušení autorského práva.

Ladislav Hagara | Komentářů: 32
Chystáte se pořídit CPU AMD Ryzen?
 (4%)
 (34%)
 (1%)
 (6%)
 (45%)
 (9%)
Celkem 336 hlasů
 Komentářů: 50, poslední včera 04:06
    Rozcestník

    Dotaz: Fail2ban - prosím o pomoc s IPv6 patchem

    29.12.2010 13:12 Thomas123 | skóre: 15
    Fail2ban - prosím o pomoc s IPv6 patchem
    Přečteno: 300×

    Dobrý den,

    začal jsem využívat program fail2ban nakonfigurovaný pro využívání iptables. Program je geniální, ovšem chybí mi podpora pro IPv6. Autoři se o tom nikde nezmiňují, ani jsem nasazení podpory pro ipv6 nenašel v žádném TODO listu ani roadmap, ...

    Rozhodl jsem se, že by nebylo špatné, kdybych si podporu pro IPv6 přidal. Ovšem Python neovládám a proto bych poprosil o radu i místní, věřím, že práce nebude zbytečná pro nikoho a že bych to nevyužil jen já.

    Prozkoumal jsem zdrojové kódy fail2ban 0.8.4 a zjednodušeně bych přidal podporu takto:

    V action.d jsou akce pro iptables (jinou podporu zatím neuvažujme) a vymyslel jsem to takto:

    actionban = iptables -I fail2ban-<name> 1 -s <ip> -j DROP

    změnit na

    actionban = ip<ipv6>tables -I fail2ban-<name> 1 -s <ip> -j DROP

    A za <ipv6> bych dosazoval buď "6" (pokud bude <ip> typu IPv6) nebo "None" (pokud jsem to pochopil správně a je to ekvivalent pro PHP "null"). A takto by to bylo obdobně dál. Samozřejmě, že IPv6 by fungovalo jen při iptables.

    A nyní to důležité, prosím o pomoc s touto úpravou zde na abclinuxu, aby to mohl kdokoliv použít (výsledkem by mohl být nějaký patch nebo něco takového).

    Zatím jsem udělal jen toto:

    upravil jsem tyto "fce" v server/action.py:

    ##
    # Executes the action "ban" command.
    #
    # @return True if the command succeeded

    def execActionBan(self, aInfo):

    if re.match("\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b", aInfo["ip"]):
    aInfo["ipv6"] = None
    else:
    aInfo["ipv6"] = 6

    return self.__processCmd(self.__actionBan, aInfo)

    ##
    # Executes the action "unban" command.
    #
    # @return True if the command succeeded

    def execActionUnban(self, aInfo):

    if re.match("\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b", aInfo["ip"]):
    aInfo["ipv6"] = None
    else:
    aInfo["ipv6"] = 6

    return self.__processCmd(self.__actionUnban, aInfo)

    Předpokládám, že by to mělo fungovat, tak, jak jsem si myslel.

    TODO list:

    Dosazování <ipv6> za actioncheck
    Start ActionStart a stop ActionStop s ip6tables
    Z nějakéhodůvodu nebere fail2ban IPv6 adresy za <HOST> - opravit

    Přidáte se?

    Odpovědi

    29.12.2010 14:20 Thomas123 | skóre: 15
    Rozbalit Rozbalit vše Re: Fail2ban - prosím o pomoc s IPv6 patchem

    Takže se mé řešení asi ukazuje jako mírně složité. Dále nedoporučuji uvažovat nad nahrazováním <ipv6>, ale asi to provádět takto:

    ##
    # Executes the action "ban" command.
    #
    # @return True if the command succeeded

    def execActionBan(self, aInfo):

    actionBanCMD = self.__actionBan

    if not re.match("\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b", aInfo["ip"]):
    return self.__processCmd(actionBanCMD, aInfo)

    ##
    # Executes the action "unban" command.
    #
    # @return True if the command succeeded

    def execActionUnban(self, aInfo):

    actionUnbanCMD = self.__actionUnban

    if not re.match("\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b", aInfo["ip"]):
    actionUnbanCMD = actionUnbanCMD.replace('iptables ', 'ip6tables')

    return self.__processCmd(actionUnbanCMD, aInfo)

    ActionCheck, ActionStart a ActionStop se asi bude řešit přímo v __processCmd ve stejném souboru

    29.12.2010 14:27 Thomas123 | skóre: 15
    Rozbalit Rozbalit vše Re: Fail2ban - prosím o pomoc s IPv6 patchem

    Zkusil jsem upravit fci __processCMD takto:

    ##
    # Executes a command with preliminary checks and substitutions.
    #
    # Before executing any commands, executes the "check" command first
    # in order to check if prerequirements are met. If this check fails,
    # it tries to restore a sane environnement before executing the real
    # command.
    # Replaces "aInfo" and "cInfo" in the query too.
    #
    # @param cmd The command to execute
    # @param aInfo Dynamic properties
    # @return True if the command succeeded

    def __processCmd(self, cmd, aInfo = None):
    """ Executes an OS command.
    """
    if cmd == "":
    logSys.debug("Nothing to do")
    return True

    # IPv4
    checkCmd = Action.replaceTag(self.__actionCheck, self.__cInfo)
    if not Action.executeCmd(checkCmd):
    logSys.error("Invariant check failed. Trying to restore a sane" +
    " environment")
    stopCmd = Action.replaceTag(self.__actionStop, self.__cInfo)
    Action.executeCmd(stopCmd)
    startCmd = Action.replaceTag(self.__actionStart, self.__cInfo)
    Action.executeCmd(startCmd)
    if not Action.executeCmd(checkCmd):
    logSys.fatal("Unable to restore environment")
    return False

    # IPv6
    checkCmd = Action.replaceTag(self.__actionCheck, self.__cInfo)
    checkCmd = checkCmd.replace('iptables ', 'ip6tables')
    if not Action.executeCmd(checkCmd):
    logSys.error("Invariant check failed. Trying to restore a sane" +
    " environment")
    stopCmd = Action.replaceTag(self.__actionStop, self.__cInfo)
    stopCmd = stopCmd.replace('iptables ', 'ip6tables')
    Action.executeCmd(stopCmd)
    startCmd = Action.replaceTag(self.__actionStart, self.__cInfo)
    startCmd = startCmd.replace('iptables ', 'ip6tables')
    Action.executeCmd(startCmd)
    if not Action.executeCmd(checkCmd):
    logSys.fatal("Unable to restore environment")
    return False

    # Replace tags
    if not aInfo == None:
    realCmd = Action.replaceTag(cmd, aInfo)
    else:
    realCmd = cmd

    # Replace static fields
    realCmd = Action.replaceTag(realCmd, self.__cInfo)

    return Action.executeCmd(realCmd)

    Mrkněte se prosím na to, zda to tak může být, nebo zda byste to udělali jinak/lépe. Nic jiného mě nenapadlo.

    Momentálně zbývá hlavní část a to, jak naučit fail2ban rozpoznávat IPv6 adresy v regulárních výrazech, zatím to rozeznává pouze IPv4.

    29.12.2010 16:40 Thomas123 | skóre: 15
    Rozbalit Rozbalit vše Re: Fail2ban - prosím o pomoc s IPv6 patchem

    Prosím, podívejte se na to také, neříkejte mi, že jsem sám, komu by se to hodilo.

    Zatím jsem musel upravit soubor server/action.py takto:

    	##
    # Executes the action "start" command.
    #
    # Replaces the tags in the action command with value of "cInfo"
    # and executes the resulting command.
    #
    # @return True if the command succeeded

    def execActionStart(self):
    startCmd = Action.replaceTag(self.__actionStart, self.__cInfo)
    Action.executeCmd(startCmd)
    startCmd = startCmd.replace('iptables ', 'ip6tables ')
    return Action.executeCmd(startCmd)
    	##
    # Executes the action "ban" command.
    #
    # @return True if the command succeeded

    def execActionBan(self, aInfo):
    if not re.match("\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b", str(aInfo["ip"])):self.__actionBan = self.__actionBan.replace('iptables ', 'ip6tables ');return self.__processCmd(self.__actionBan, aInfo)
    else:return self.__processCmd(self.__actionBan, aInfo)
    	##
    # Executes the action "unban" command.
    #
    # @return True if the command succeeded

    def execActionUnban(self, aInfo):

    if not re.match("\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b", aInfo["ip"]):self.__actionUnban = self.__actionUnban.replace('iptables ', 'ip6tables ');return self.__processCmd(self.__actionUnban, aInfo)
    else:return self.__processCmd(self.__actionUnban, aInfo)
    	##
    # Executes the action "stop" command.
    #
    # Replaces the tags in the action command with value of "cInfo"
    # and executes the resulting command.
    #
    # @return True if the command succeeded

    def execActionStop(self):
    stopCmd = Action.replaceTag(self.__actionStop, self.__cInfo)
    Action.executeCmd(stopCmd)
    stopCmd = stopCmd.replace('iptables ', 'ip6tables ')
    return Action.executeCmd(stopCmd)

    V současné době to dělá následující:

    Při startu to přidá pravidlo do iptables a ip6tables. Při zastavení vše smaže. Při restartu oboje naráz.
    Momentálně to při zjištění změny a získání IP adresy k zabanování nepřidá pravidlo s IP adresou do žádného iptables.
    Dále je potřeba ověřit funkčnost autochecku
    Je nutné zprovoznit to, aby fail2ban bral z logu IPv6 adresy

    Chytrex avatar 29.12.2010 22:24 Chytrex | skóre: 27 | Bohumín
    Rozbalit Rozbalit vše Re: Fail2ban - prosím o pomoc s IPv6 patchem
    Já mám pocit že na to celé jdeš špatnou cestou..

    Ono stačilo přidat něco jako <HOST6> což by označovalo IPv6 adresu a match s tímhle přeposlat ip6tables. (pak jen zduplikovat všecky pravidla aby byly i s <HOST6>) Ale pomoct ti s tím asi nepomůžu. nepoužívám ipv6, IMO je utopie aby to (ipv6) fungovalo všeobecně ve stejné kvalitě jako ipv4.
    Hrdý člen KERNEL ULTRAS .:. define QUESTION ((bb) || !(bb)) .:. Odmítám vaši realitu a nahrazuji ji svou vlastní..

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.