Where should hooks go? Only in modules?
A custom module is the most appropriate, probably only, place for your hook(s).

Most hooks only get run for modules; there are exceptions such as hook_form_alter(), hook_theme() etc. which are also called for themes, but generally speaking you'll need to write a custom module for any hooks you want to implement.

In case you're not familiar with building modules take a look at the Module Developer's Guide.