First of all, the STM32F103 model doesn't have an Ethernet peripheral, so you've got two choices here -- the less optimal one would be to find some kind of bridge IC that supports some of the other hardware interfaces supported by this model (USART, I2C, SPI, etc.) The most optimal one would be switching to the STM32F107 connectivity line model, which has an Ethernet peripheral. All you'd need then is a PHY IC, like say the TI DP83848, the magnetics and an RJ-45 jack (or get a magjack which does both in a single component).
As for the TCP/IP stack itself, two fine choices would be lwIP and uIP. ST has some sample code for lwIP so you can get up and running quickly, especially if you have a dev board. ST also supplies sample code for other Ethernet-enabled families such as the STM32F2x7 and STM32F4x7, should you choose to go with these (more expensive) models.