If they had successful logins, you are best re-formating as with the out of the box settings, you will never know what they did. First thing to do would be to turn on auditd and setup some basic rules to log different activity. For the really paranoid, you need to essentially log everything, but that will create huge log files which you still would need to read through. At a minimum, put some watches on /etc/passwd, /etc/shadow, /usr/bin/passwd, /usr/sbin/useradd, /usr/sbin/groupadd, /usr/sbin/userdel, /usr/sbin/groupdel, and you will at least be able to tell if/when someone changed their account password, or added a new account.
You really need to take a baseline of the system using something like fcheck. This way you will know if/when someone replaces a file/executable on you with a hacked version (like replacing the iptables executable with one that opens up a network port and doesn't display that rule to you when you look at active firewall rules).
Next step would be to basically shut everything off that you don't use/need. Turn off all the xinetd applications and anything else that you don't think you are using (use "chkconfig --list" to show you what is on, and "chkconfig <name of service here> off" to turn it off upon next reboot, you can use "service <name of service> stop" to shut it off right now).
Then I would say create the file "/etc/hosts.allow" and "/etc/hosts.deny", and put "ALL: ALL" in "/etc/hosts.deny" to start. That will prevent any remote host from pretty much accessing anything. If you want to trust a specific machine, like say your laptop, put "ALL: IP_ADDRESS" in the hosts.allow file. You can also use a subnet, so you could put in "ALL: 192.168.1.0/24" and that would allow anything from the 192.168.1 subnet to access your system (handy if you are using DHCP without static IP addresses for your home network).