• Resolved Jeremy Herve

    (@jeherve)


    Jetpack Mechanic šŸš€

    Hi there!

    First of all, thanks for your work with this plugin!

    I work on the Jetpack team, and I wanted to reach out regarding 2 issues that seem to come up from time to time in your support forums:

    • XML-RPC DDoS Protection Code, and our IP ranges listed here. While these IP ranges are correct, the list isn’t exhaustive, and as our IP ranges change over time this might not be the best way to prevent issues.
    • Jetpack Monitor being blocked — resolution steps here

    We’d be happy to work together on a long-term solution that would work for everyone, without any additional configuration needed for your customers.

    If you’re interested, could you contact us via this contact form so we can work out the details?

    Thanks!

    https://wordpress.org/plugins/bulletproof-security/

Viewing 11 replies - 1 through 11 (of 11 total)
  • Plugin Author AITpro

    (@aitpro)

    Hey Jeremy,

    I’m thinking that probably the best way to handle this in the short-term (and maybe even the long-term) is to do Dismiss Notices for these 2 issues. ie Do a standard “if JetPack is installed and activated” check, then display the links to the forum topic solutions in the Dismiss Notices. This will definitely be done in the next BPS version release. At some point I would like to have this be a completely automated thing. šŸ˜‰ If only there were 100 hours in a day instead of only 24 hours. šŸ™‚

    Thread Starter Jeremy Herve

    (@jeherve)

    Jetpack Mechanic šŸš€

    šŸ™‚

    Alright! That can indeed help!

    If you ever want to chat about other ways to automate this, feel free to get in touch with us!

    Plugin Author AITpro

    (@aitpro)

    Quick question about Jetpack Requests. Do all Jetpack xmlrpc.php Requests use this Request URI and Query string: /xmlrpc.php?for=jetpack

    Plugin Author AITpro

    (@aitpro)

    hmm looks like the User Agent is consistently HTTP_USER_AGENT: Jetpack by WordPress.com for each/every connection Request. Is that correct? If so, then I am thinking that creating customized mod_rewrite htaccess code specifically for use with Jetpack users, which whitelists by User Agent, is going to be the best way to go/approach this issue.

    Thread Starter Jeremy Herve

    (@jeherve)

    Jetpack Mechanic šŸš€

    This would indeed work!

    Plugin Author AITpro

    (@aitpro)

    Awesome! Had my fingers and toes crossed. ha ha šŸ™‚ Thanks for confirming that Jeremy. Very much appreciated!

    Plugin Author AITpro

    (@aitpro)

    Created, tested and working solutions:

    Custom XML-RPC PROTECTION mod_rewrite code for Jetpack users:

    # Jetpack XML-RPC DDoS PROTECTION
    # pending help info
    RewriteCond %{REQUEST_URI} ^(xmlrpc\.php)$
    RewriteCond %{HTTP_USER_AGENT} !^(Jetpack)$
    RewriteRule ^(.*)$ - [F]

    Customized HEAD Request code:

    # REQUEST METHODS FILTERED
    # If you want to allow HEAD Requests use BPS Custom Code and copy
    # this entire REQUEST METHODS FILTERED section of code to this BPS Custom Code
    # text box: CUSTOM CODE REQUEST METHODS FILTERED.
    # See the CUSTOM CODE REQUEST METHODS FILTERED help text for additional steps.
    RewriteCond %{REQUEST_METHOD} ^(TRACE|DELETE|TRACK|DEBUG) [NC]
    RewriteRule ^(.*)$ - [F]
    RewriteCond %{REQUEST_METHOD} ^(HEAD) [NC]
    RewriteCond %{HTTP_USER_AGENT} !^(Jetpack)$
    RewriteRule ^(.*)$ /wp-content/plugins/bulletproof-security/405.php [L]

    Other BPS REQUEST METHODS FILTERED code version customization for HEAD Requests:

    # REQUEST METHODS FILTERED
    # If you want to allow HEAD Requests use BPS Custom Code and copy
    # this entire REQUEST METHODS FILTERED section of code to this BPS Custom Code
    # text box: CUSTOM CODE REQUEST METHODS FILTERED.
    # See the CUSTOM CODE REQUEST METHODS FILTERED help text for additional steps.
    RewriteCond %{REQUEST_METHOD} ^(TRACE|DELETE|TRACK|DEBUG) [NC]
    RewriteRule ^(.*)$ - [F]
    RewriteCond %{REQUEST_METHOD} ^(HEAD) [NC]
    RewriteCond %{HTTP_USER_AGENT} !^(Jetpack)$
    RewriteRule ^(.*)$ - [R=405,L]

    Notes: The whitespace in this rule: RewriteCond %{HTTP_USER_AGENT} !^(Jetpack by WordPress\.com)$ causes 500 errors and could be compensated for/corrected with Regex, but logically it is just simpler and more widely compatible to just use “Jetpack” for the UA check instead of using the entire UA. The UA could of course be faked/spoofed, but I do not see any other way of adding more conditional checks/rules to protect against that possibility. In any case, I have not seen that scenario done in the wild and it is just going to be an “oh well” kind of thing. šŸ˜‰

    Plugin Author AITpro

    (@aitpro)

    hmm looks like Regex code is needed afterall: RewriteCond %{HTTP_USER_AGENT} !^(.*Jetpack.*)$

    Plugin Author AITpro

    (@aitpro)

    Hey Jeremy,

    Both of these BPS forum topics below now contain the customized Jetpack code for specific use with Jetpack. So now to complete the Dismiss Notice in BPS.

    http://forum.ait-pro.com/forums/topic/wordpress-xml-rpc-ddos-protection-protect-xmlrpc-php-block-xmlrpc-php-forbid-xmlrpc-php/
    http://forum.ait-pro.com/forums/topic/jetpack-site-uptime-monitor-403-error/#post-15400

    Thread Starter Jeremy Herve

    (@jeherve)

    Jetpack Mechanic šŸš€

    Great, thanks!

    Plugin Author AITpro

    (@aitpro)

    BPS .53.3 was just released which contains the new Jetpack Dismiss Notice in BPS. Changelog: http://forum.ait-pro.com/forums/topic/bps-changelog/

Viewing 11 replies - 1 through 11 (of 11 total)

The topic ‘Possible conflicts with Jetpack — Let's work together!’ is closed to new replies.