box around theorem statement

You can use \newmdtheoremenv from the mdframed package:

\documentclass{article}
\usepackage{mdframed}
\usepackage{lipsum}

\newmdtheoremenv{theo}{Theorem}

\begin{document}

\begin{theo}
\lipsum*[1]
\end{theo}

\end{document}

enter image description here

If you only want to frame some theorems, then you can define a new environment using the mdframed environment and some previously defined theorem-like environment:

\documentclass{article}
\usepackage{mdframed}
\usepackage{lipsum}

\newtheorem{theo}{Theorem}
\newenvironment{ftheo}
  {\begin{mdframed}\begin{theo}}
  {\end{theo}\end{mdframed}}

\begin{document}

\begin{ftheo}
\lipsum*[1]
\end{ftheo}

\begin{theo}
\lipsum*[1]
\end{theo}

\end{document}

I don't know if the tcolorbox package was available at the time that the question was asked, but here's a small example taken directly from the documentation:

screenshot

% arara: pdflatex
\documentclass{article}

\usepackage{tcolorbox}
\tcbuselibrary{theorems}

\newtcbtheorem[number within=section]{mytheo}{My Theorem}%
{colback=green!5,colframe=green!35!black,fonttitle=\bfseries}{th}

\begin{document}
\begin{mytheo}{This is my title}{theoexample}
  This is the text of the theorem. The counter is automatically assigned and,
  in this example, prefixed with the section number. This theorem is numbered with
  \ref{th:theoexample} and is given on page \pageref{th:theoexample}.
\end{mytheo}

\end{document}

Here's a minimum working example (MWE) of how one can use the ntheorem and framed packages to draw a rectangular frame around a theorem environment:

\documentclass{article}
\usepackage{framed} % or, "mdframed"
\usepackage[framed]{ntheorem}
\newframedtheorem{frm-thm}{Theorem}
\begin{document}
\begin{frm-thm}[Pythagoras]
Let $a$, $b$, and $c$ denote the lengths of the sides of a \emph{right 
triangle}, i.e., of a triangle with one angle equal to $90^\circ$. 
Without loss of generality assume that $a\le b<c$. Then
\[ a^2+b^2=c^2. \]
\end{frm-thm}
\end{document}

enter image description here

Check the user guides of the framed and mdframed packages for available options for setting the style of the frame.