Esa estructura se conoce, entre otros nombres, como "pie abajo".
Hay varias técnicas para lograrlo.
Una muy simple:   
Código CSS:
Ver original- * {margin:0; padding:0;} 
-   
- html, body { height: 100%;} 
-   
- #contenedor { 
- min-height: 100%; 
- height: auto !important; 
- height: 100%; 
- margin-bottom: -1em; 
- } 
-   
- .empuje {height:1em;} 
-   
- #pie { 
- min-height: 1em; 
- height: auto !important; 
- height: 1em; 
- } 
y el html   
Código HTML:
Ver original-     <!-- Todo el contenido menos el pie --> 
-     <!-- Contenido del pie --> 
Puede verla en línea 
aquí