Хорошо, я понял это, и, по-моему, это было отлично.
Я реализовал систему IP Filter в качестве поведения службы, а затем добавил ее в свою службу в файле web.config. Вот мой новый раздел поведения веб-конфигурации:
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<behavior name="RestrictedServiceBehaviour">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<IPFilter filter="172.*.*.* 127.0.0.1" />
</behavior>
</serviceBehaviors>
Класс IPFilter реализует IDispatchMessageInspector, чтобы как можно скорее перехватить запрос, проверить IP-адрес клиента и выдать исключение, если оно не соответствует фильтру. Если кому-то интересно, могу выложить свой код.