The question is not whether he can fire them. The question is whether it's expedient for him to do so. Given additional thought on this subject, I repent of my disappointment in the President for not firing certain swamp-creature department heads. Disappointment is not warranted.
With 2018 looming, if the President were to fire Sessions and/or Rosenstein, it would give liberals in government and media ammunition. Democrats, could use it to energize their base in November to retake the House and the Senate. If the Dems retake the house, mad Max and those like her would start impeachment proceedings.
I stand corrected in faulting the President for not firing Sessions and/or Rosenweasel. If he could do it without jeopardizing his Presidency or the 2018 elections, I believe he would. As it stands, the President is doing the politically wise thing, which is to let the IG and others do his fighting.
Post 2018 - is another story.
No matter how 2018 turns out, it should be clear that both Rosenslime and Sessions are the DC establishment’s Terminal Men. Win or lose in 2018, Trump will have a free hand to clean house, which he should do before 2020 rolls around.
Blah blah blah genius at work.