• 1 Post
  • 142 Comments
Joined 3 years ago
cake
Cake day: June 30th, 2023

help-circle




  • Update your nftables rulefile or use nft commands to update your firewall to the following:

    # extract
    chain OUT {
        type filter hook output priority 0; policy drop;
        udp dport 123 accept
    
        limit rate 3/second log prefix "Nftables Blocked: OUT: "
    }
    
    chain IN {
        type filter hook input priority 0; policy drop;
        ct state established, related accept
    
        limit rate 3/second log prefix "Nftables Blocked: IN: "
    }
    

    Blocked pakets will show up in the kernel log (dmesg/journalcl)

    If you want more information on why it is blocked then enable nftrace for those packets

    nft add rule inet/ip/ip6 tablename OUT udp dport 123 meta nftrace set 1
    nft add rule inet/ip/ip6 tablename IN udp dport 123 meta nftrace set 1
    nft monitor trace
    

    Or

    nft add rule inet/ip/ip6 tablename OUT meta nftrace set 1
    

    Or maybe even

    nft add rule inet/ip/ip6 tablename PREROUTING udp dport 123 meta nftrace set 1
    
    

    Additionally you can use tcpdump -i <interface> to show network packets before they enter the firewall, there you should be able to tell what it’s a trying to do.













  • for a homelab I don’t think it’s feasible to fully review the source code of everything you install

    Here’s what you can actually do:

    • Consider if you actually need the application and stop applications you don’t use
    • Don’t allow public access unless it is necessary, consider VPN/reverse proxies with client authentication (if supported)
    • isolate applications that don’t need to talk to each other
      • see also rootless podman, firewalls, virtual machines, etc
      • don’t forget network access, if everything runs on 127.0.0.1 and every service shares it then they can all talk to each other! (See also network namespaces or VMs)
    • Don’t reuse passwords
    • keep software up to date
    • actually evaluate the quality of the project if it needs access to sensitive information
      • see open issues, closed issues that stand out
      • check for audits or at least a history of good effort™

    Sure you wont always catch ai slop this way but you don’t need to read a line of code to at least be reasonably sure your arr stack won’t get to the family photos.