iptables -A INPUT -s -j DROP 41.240.103.9/32
though that wont do you much good and IP addresses are cycled on a 24 hour basis as you know.
In reality you are likely to face script kiddies from all locations, most of which will be automated enumeration attempts, the average botmaster isn't interested in any one particular system, they are more interested in numbers.
It is more likely however that this is an individual, if it is from a South African IP, it could be an infected node, or the actual person themselves, dunno why they would try and enumerate from their own location though, its asking to get caught.
My advice,
1 >> nmap from an outside location, seal off any unnecessary ports,
2 >> if you have SSH access open, and you need it open from the outside, use something like deny hosts to prevent dictionary based attacks.
3 >> if you host web services, use nikto
http://www.cirt.net/code/nikto.shtml to check if there are known security issues within your site.
Possibly check with your HR dept for any recent disgruntled ex-employees, if they are scanning from their own host, it means they arent smart, but still a threat nonetheless...