Have in mind, some plugins use REST API, so would need either to block all (401 auth) and allow specific ones as needs.
Or, as @sandro mentioned, I use similar way to block user enumeration, either with ?author
using this few conditions inside my existing Firewall rule:
(http.request.uri.path contains "/wp-json/wp/v2/users") or (http.request.uri.query contains "/author") or (http.request.uri.query contains "/?author=")
@intr0 provided links to install a plugin and solve it with a “single click” 
And having this one in functions.php
file of my theme:
/* 2016 */
// API WP 4.4
// REST API callback() in header
//add_filter('rest_enabled', '__return_false'); // maybe some issues with displaying images if uncommented
//add_filter('rest_jsonp_enabled', '__return_false'); // maybe some issues with displaying images if uncommented
remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 );
remove_action( 'template_redirect', 'rest_output_link_header', 11, 0 );
function my_deregister_scripts(){
wp_deregister_script( 'wp-embed' );
}
add_action( 'wp_footer', 'my_deregister_scripts' );
// REST API
//add_filter( 'json_enabled', '__return_false' );
//add_filter( 'json_jsonp_enabled', '__return_false' );
remove_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' );
add_filter('rest_endpoints', function($endpoints) {
if ( isset( $endpoints['/wp/v2/users'] ) ) {
unset( $endpoints['/wp/v2/users'] );
}
if ( isset( $endpoints['/wp/v2/posts'] ) ) {
unset( $endpoints['/wp/v2/posts'] );
}
if ( isset( $endpoints['/wp/v2/pages'] ) ) {
unset( $endpoints['/wp/v2/pages'] );
}
return $endpoints;
});