Hatcher Exercise 3.2.9 
Show that if $H_n(X; \mathbb{Z})$ is free for each $n$, then $H^∗(X; \mathbb{Z}_p)$ and $H^∗(X; \mathbb{Z})⊗\mathbb{Z}_p$ are
  isomorphic as rings.

I'm assuming the tensor product is taken over $\mathbb{Z}$. By the universal coefficient theorem, using that $H_n(X; \mathbb{Z})$ is free and hence $\mathrm{Ext}(H_n(X; \mathbb{Z}),\mathbb{Z})=0$, we have group isomorphisms $H^n(X; \mathbb{Z}_p)\cong \mathrm{Hom}(H_n(X;\mathbb{Z}),\mathbb{Z}_p)=\prod_{i\in I}\mathbb{Z}_p$ (one copy for each linearly independent generator) and $H^n(X; \mathbb{Z})\cong \mathrm{Hom}(H_n(X;\mathbb{Z}),\mathbb{Z})=\prod_{i\in I}\mathbb{Z}$.
Then I have to show that $(\prod_{i\in I}\mathbb{Z})\otimes\mathbb{Z}_p\cong\prod_{i\in I}\mathbb{Z}_p$ as rings. Here is where I'm stuck. 
First of all, I don't know if the ring structure on this groups is just the standard one because I don't know how the cup product works for $X$ (and I have no way of knowing it). If I could somehow get it, then my idea is to define a bilinear surjective map $f:(\prod_{i\in I}\mathbb{Z})\times\mathbb{Z}_p\to \prod_{i\in I}\mathbb{Z}_p$, which becomes a group isomorphism taking tensor product and which is a ring homomorphism. 
For example, if I define $f(\prod_i a_i,b)=\prod_i [a_i] b$ (where $[a_i]$ is the equivalence class in $\mathbb{Z}_p$) it would clearly be  bilinear and surjective, but I'm unsure how to follow. To show that it is injective in the tensor product, assume that $f((\prod_ia_i)\otimes 1)=0$, then $\prod_i[a_i]=0\in\mathbb{Z}_p$, so $[a_i]=0\in\mathbb{Z}_p$ for all $i$, implying that $a_i=pa_i'$, so $(\prod_ia_i)\otimes 1=(\prod_i pa_i')\otimes 1=p(\prod_ia_i')\otimes 1=(\prod_ia_i')\otimes p=(\prod_ia_i')\otimes 0=0$.
Now I need to show that $f$ is a ring homomorphism, but I have the problem I commented before. So my question is

How do I get the ring structure of these groups?

 A: Javi I think constructing a bijective ring homomorphism should do it. I think the main confusion stems from the fact that this is a tensor product of algebras and not just of modules; i.e. there is more structure. I suggest looking at the very end of chapter 2 of Atiyah & Macdonald and (if you prefer a more "chatty" author) you may also like Aluffi's explanation; Atiyah and Macdonald get in there in 30 pages but don't explain too much and Aluffi explains more but takes like 100-200 pages to get there, so pick your poison. The tensor of two algebras satisfies a universal property, or is a 
Ring Homorphism part of proof

The main point is that if you define multiplication in $A \bigotimes
 B$ as $(a \otimes b )(c \otimes d)= (a c \otimes bd)$ then $A
 \bigotimes B$ has the structure of a ring.

At your suggestion let us use $f:\prod_{i \in I} \mathbb{Z} \bigotimes \mathbb{Z}_p \longrightarrow \prod_{i \in I} \mathbb{Z} $ defined by \begin{equation} f : (n_1,...,n_k) \otimes [m]_p \mapsto \prod_{i \in I} [n_i m]_p . \end{equation} 
Since you already seem to have the linear part down (i.e. $f$ preserves addition) then all that is left is preservation of multiplication (and multiplicative identity). It is definitely true that $f\left((1,1,...,1) \otimes [1]_p\right) =\prod_{i \in I} [1\cdot 1]_p =  [ 1]_p $ so multiplicative identity is proved. To see that multiplication is conserved notice that 
\begin{equation} f \left( (n_1,...,n_k) \otimes [m]_p  \right) f \left( (n_1',...,n_k') \otimes [m]_p  \right) = \left( \prod_{i \in I} [n_i m]_p \right)\left(\prod_{i \in I} [n_i' m']_p \right) = \end{equation}
\begin{equation} =  \prod_{i \in I} [n_i n_i'm m']_p ) = f \left( (n_1n_1',...,n_kn_k') \otimes [m m']_p  \right)=
\end{equation}
\begin{equation} f \left( \left((n_1,...,n_k) \otimes [m]_p \right)\left( (n_1',...,n_k') \otimes [m]_p  \right)\right),  \end{equation}
and that if $f$ is a homomorphism on a generating set then it lifts up to a homomorphism on all of $\prod_{i \in I} \mathbb{Z} \bigotimes \mathbb{Z}_p $. 
Bijective part of proof
As you stated, the surjective part is straightforward so it is enough to prove injectivity which is a bit hairier. 
Notice that $(\exists i ) \ n_i = 0 \implies (n_1,...,n_k) \otimes [m]_p  = 0 $ therefore it is enough to consider the cases of $\sum_{j}(n_1^j,...,n_k^j) \otimes [m^j]_p $ where all of the $(\forall j ) \ n_i^j,m^j\neq 0 $. Suppose that 
\begin{equation}
f\left( \sum_{j}(n_1^j,...,n_k^j) \otimes [m^j]_p \right) = \sum_{j}\prod_i [n_i^j m^j]_p= \left[\sum_{j}\prod_i n_i^j m^j \right]_p, 
\end{equation}
and therefore $(\forall j ) \ n_i^j,m^j\neq 0 $ implies that 
\begin{equation}
f\left( \sum_{j}(n_1^j,...,n_k^j) \otimes [m^j]_p \right) = f\left( \sum_{j} \prod_i n_i^j m^j  (1,...,1) \otimes [1]_p \right) = 
\end{equation}
\begin{equation}
 = f\left( \sum_{j} \prod_i   (1,...,1) \otimes [n_i^j m^j]_p \right) =  f\left(  (1,...,1) \otimes \left[\sum_{j} \prod_i n_i^j m^j\right]_p \right) . 
\end{equation}
Finally if 
\begin{equation}
f\left( \sum_{j}(n_1^j,...,n_k^j) \otimes [m^j]_p \right) = 0 , 
\end{equation}
then 
\begin{equation}
\left[\sum_{j}\prod_i n_i^j m^j \right]_p  = [0]_p  
\end{equation}
and therefore 
\begin{equation}
\sum_{j}(n_1^j,...,n_k^j) \otimes [m^j]_p = (1,...,1) \otimes \left[\sum_{j} \prod_i n_i^j m^j\right]_p =  0
\end{equation}
and therefore $f$ is injective. QED
