Welcome to the world of Linux Security, one that is about as twisted and complex as a fun house full of mirrors.
The first question you need to ask yourself, is what are you trying to protect against? The second thing you need to do is recognize that security is a process and a set of actions and while there are tools, such as Iptables, and Selinux that can help, these tools don't make you inherently more secure. The third thing to consider is that you need to apply a layered approach to your security.
Starting with the first question, what are you trying to protect against? You mention wanting to run a LAMP server which implies Apache, PHP, and MySQL. At the most basic level, you will want to address the users and permissions structure for your web site files. For example, Apache will run as non privileged user that can't do much beyond read these files. You can then have the files owned by root, which means that a cracker would need to gain root access to be able to modify them. You also need to be careful about how you configure the SQL user for the web pages and set the permissions appropriately. For example, allow that user to do SELECT statements only. PHP by itself is rather secure, but it can be used to great detriment, especially when coupled with a SQL backend. You need to make sure the code is written in such a way as to not allow things like cross site scripting and SQL injection.
Squid Proxy is usually used on a gateway box to control access on outbound web sites. Unless you have multiple users that you want to govern behind such a proxy, I am not certain how much benefit it would provide you.
Iptables is the firewall application that is built into Linux. By default, Linux does not have any open ports. Of course this changes the moment you add server functions, such as Apache or SQL. The primary use of Iptables should be thought of as a security blanket wrapping around your system that keeps you from performing unintended actions. For example, if you use Iptables to only open port 80 for your website, and then experiment with Bind, you won't inadvertently open port 53 to the world as it will be blocked by IPtables. You can also perform some really advanced functions with it, such as rate limiting connections, only allow connections from specified hosts, etc.
Selinux and its cousin Apparmor work a little differently. These programs extend the file permissions scheme built into Linux and are used primarily on sensitive and configuration directories. You can specify for example, that the Bind application has permissions to write to the /var/lib/bind folder where the journal databases are updated.
Each application that you install will have its own vulnerabilities and methods to secure it. Are you planning on running SSH for remote access? If so, you will want to take steps like turning off root login and only allowing Key based authentication (no passwords). You can then use an application like fail2ban to watch for erroneous connection attempts and cut them off.
One of the most important things you can do is monitor your log files and keep aware of the system performance. Normally, if you become compromised there will be an indication, typically in the logs. Crackers usually try to delete these logs, so if possible it is best to log to a remote location where they can't be deleted. There are tools to help with this such as logwatch, which will analyze the logs.
You can also look into Network based (sniffing) and Host based intrusion detection systems. Network based intrusion detection, like Snort will analyze the traffic on your network and generate alerts regarding suspicious activity. Host based intrusion systems, like Ossec, Aide, and Samhain help by monitoring the configuration files and for other system anomalies and will alert you to their presence.
The above is by no means a guide to how to secure your system, but does present some of the things you should think about. If anything, the take away items should be that security is a continuous process of you monitoring your system and that using tools is something that is applied in layers.
Here is a link to one of the most comprehensive lists of Linux security material that I am aware of. It would be a good place to research and contains enough information to keep you busy for quite a while.