Virtual Host の設定例ですよん。

NameVirtualHost *

## default (unknown) domain
<VirtualHost *>
ServerName localhost
DocumentRoot /web/unknown
ErrorLog "|bin\rotatelogs.exe logs/unknown/error_%Y%m%d.log 86400 540"
CustomLog "|bin\rotatelogs.exe logs/unknown/access_%Y%m%d.log 86400 540" common

HostnameLookups On

<Directory "/web/unknown">
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>
</VirtualHost>

## abcdefg.com
<VirtualHost *>
ServerName abcdefg.com
DocumentRoot /web/abcdefg.com
ErrorLog "|bin\rotatelogs.exe logs/abcdefg.com/error_%Y%m%d.log 86400 540"
CustomLog "|bin\rotatelogs.exe logs/abcdefg.com/access_%Y%m%d.log 86400 540" common
<Directory "/web/abcdefg.com">
Options ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

## vwxyx.info
<VirtualHost *>
ServerName vwxyx.info
DocumentRoot /web/vwxyx.info
ErrorLog "|bin\rotatelogs.exe logs/vwxyx.info/error_%Y%m%d.log 86400 540"
CustomLog "|bin\rotatelogs.exe logs/vwxyx.info/access_%Y%m%d.log 86400 540" common
<Directory "/web/vwxyx.info">
Options ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

一個目の設定は二個目三個目の設定に合致しなかったときに評価されるので自然と IP 直打ちによるアクセスと判断可能。
そして、IP 直打ちは access deny に設定する。
web/unknown 自体も作成しない。

あとね、ログを取らないってのはやめたほうがいいと思う。
ログを見て 「こういうアタックのされ方もあるんだな」 っていう知識にもなると思うわけですよ。