Which Services and Porgrams?
All of them.
You should ensure that any services you do not require are not run. For preference ensure that they can't run.
For any services which should only be accessible locally, then external access should be blocked on the firewall and in the configuration (where possible).
Make sure you implement vendor/distributor security patches promptly.
People are usually surprised when I tell them to leave logs till the last thing on the list when setting up security management policies: logs only tell you about legitimate access and failed access and functional issues - none of which are particularly relevant to keeping out the bad guys.
As for network IDS? Same thing - on most internet connected machines you're going to see so many failed attacks that you won't be able to detect let alone respond to the real thing.
Do use host-based IDS (file integrity checker) for any executable files / libs. It doesn't prevent an attack - but if your systems do get compromised at least there's a chance that you'll be able to recover from the attack.
In addition to something like Tripwire or L5, if this system acts as a server on the internet or hosts data of any significant value, I'd recommend running a rootkit checker at regular intervals (e.g. rkhunter)
If your objective is not to keep your system secure, but rather understand better how people attach systems, then that's a different story (but don't try this on a system where there anything valuable). Yes you might get some useful information from the logs (particularly messages, security and httpd/access.log, httpd/error.log).