I'm going to go ahead an assume that you're the same person who created the video.
Any chance you could give an overview of how you made this visualization possible? Maybe share the code or explain what components you used / how they interact?
The article linked above was a good starting ground but for the amount of processing I needed to it was by no means fast enough or efficient enough, so I rewrote a bunch of it and put the source online here - https://github.com/kura/ssh-attack-visualisation/
It is all written in Python with heavy usage of Numpy.
Anyone knows if there is a free geoip lookup database with city level detail? If not, if there was a way of crowdsourcing this somehow? If I'm not mistaken gps+phone probably wouldn't work since the IP addresses seem to be more or less random.
Google seems to know wifi routers locations, but afaik they use their streetcar fleet to create it. It was funny sometime ago that after moving cities but keeping the same wifi router, my detected location was still at the old place. Eventually it got corrected.
It would be possible with a different map and some changes to make this go to city level, I might do that some time in the future but I don't know how much extra work would be required and I assume it would require a whole lot more processing.
Even better, just use iptables to drop any connection that is outside of a certain ip range or your static ip or your domain name. It will eliminate all of those attacks and port scanning won't help them. It doesn't mean someone can't get in, but it will eliminate the script kiddies.
I have a script (easy when one embeds Lua inside syslogd) that checks for failed ssh logins and after a few failed attempts, blocks the address via iptables (and another script to remove such blocks after a few hours to keep iptables entries from piling up).
That's essentially what DenyHosts[1] and fail2ban[2] do, except they're more complex (the former has blacklist sharing, while the later supports more than ssh).
It effectively solves the problem of random carpet-bombing, but obviously not the problem of planned attacks. No, it never struck me as being done solely to draw up statistics of the subject, as it has been done a million times already.
I'm going to go ahead an assume that you're the same person who created the video.
Any chance you could give an overview of how you made this visualization possible? Maybe share the code or explain what components you used / how they interact?
Either way, thanks for sharing :)