Configuring protectedSource is the choice for this.
{Array} CKEDITOR.config.protectedSource
A list of regular expressions that will be executed on the input HTML, indicating the code that should remain intact.
I'm not a regular expression expert, but something like this should do the trick:
config.protectedSource.push(/[^<]*(<h1>([^<]+)<\/h1>)/g);
, , . : <h1>...</h1>, , < h1 >...< /h1>.