Device-free localization and tracking as an emerging technology has attracted substantial research attention in wireless sensor networks. However, there is much room for improvement in localization and tracking accuracy. In this paper, by using received signal strength (RSS) measurements we propose an enhanced geometric filter which consists of a series of weights corresponding to RSS, distance, and angle, respectively. Specifically, RSS-based weights are dependent on the change in RSS of communication links to remove improbable target locations. To ensure robust tracking performance, distance-based weights are assigned to probable target locations. Angle-based weights are used to ensure the correct direction of motion. Experimental results demonstrate that the proposed geometric filter could improve the accuracy of positioning by up to 50.8% for non-straight path and 48.3% for straight path over some state-of-the-art methods.