At least 23 U.S. troops have been killed by hostile fire since Bush declared major combat in Iraq to be over on May 1 .