A Cuban SIM card can be purchased in advance in the website: https://suenacuba.com/phone (approx. 30 USD). This can be picked up on site in the official ETECSA shops* (passport must be shown and you should be prepared for a long wait).
With this SIM card you can top up your mobile data and thus have internet reception almost everywhere on the island. You must bring your own smartphone. There are none for sale locally at reasonable prices.
*Some ETECSA stores in Havana:
- Jose Marti Airport, Havana (Terminal 2 and 3)
- Calle Obispo esq. Cuba, No. 302, La Habana Vieja
- Calle 17, No. 604, e/ B y C, Vedado