Fork me on Github
Fork me on Github

Joe Dog Software

Proudly serving the Internets since 1999

Programmers – Can’t Live With ’em…

slotnikA programmer’s wife sends him on an errand with the following instructions: “Run to the store and get a loaf of bread. If they have eggs, get a dozen. He returned with 12 loaves of bread.

So she sends him back with revised instructions: “Go to the store and get some bread. While you’re there, pick up some eggs.” The programmer never returned….



Notions To Ponder

Fast Company provides a glimpse into the current state of American management:

Several studies in recent years have shown a remarkable number of people believe they work for a bad boss. As evidence of how deeply this affects engagement, 35% of U.S. workers polled by Parade magazine last summer said they’d willingly forgo a substantial pay raise in exchange for seeing their direct supervisor fired.

[Fast Company]



I’m Speed Racer And I Drive Real Fast

When it comes to supercomputing Linux is king. The top forty-three fastest supercomputers in the world run Linux. The forty-fourth fastest, which does weather forecasting in Europe, runs IBM’s AIX.  How does Windows fare in the world of supercomputing? Not well. Just three of the boxes classified as supercomputers run Microsoft Windows. The fastest of these is in Shanghai. It ranks 187th in the world….



US Sperm and World Reports

Here’s something you may not know: The United States is the world export leader of human sperm. It’s true! Our neighbors to the north — what are you guys called again: Canada? — are net importers. And now you know….

(I kid you, Canada. I love you like the cranky neighbor upstairs who’s always stomping on my ceiling just as the party gets going….)



What are worse: Fanboys or Trolls?

Martin Gräßlin, a KDE Window Manager maintainer, posts an interesting article about his experiences inside the free software community. Those experiences would eventually cause him to alter his political views. Gräßlin initially viewed any infringement on freedom as problematic. Freedom of speech, he thought, was democracy’s most important right. Yet now he thinks some forms of censorship should be encouraged. This one-time orthodox liberal now finds himself occasionally deleting comments. What caused this change of heart? “The answer is simple: Fanboys and trolls.”

Of the two, he thinks fanboys are worse….

NOTE: for those unfamiliar with German, ß is shorthand for “ss” and ä can be represented as “ae” so we could Anglicize Martin’s last name as “Graesslin.” And now you know…

 



A Contemporary Technology Catches Up With Ancient Rome

colliseumIt’s generally accepted that the contemporary world is more technologically advanced than the ancient one. The Etruscans may have dreamed of space travel, but they were unable to transport themselves to Schenectady, New York, let alone the moon. Yet we can’t be too smug. Sure we carry the Internets in our pockets and heat our meals in seconds, but we can’t touch ancient Rome when it comes to concrete.

Throughout the Mediterranean basin, there are ancient harbors constructed with 2000 year old Roman concrete that remain more or less is perfect functioning condition. And as we gaze about the remnants of the ancient world, we see aqueducts, roads and buildings that have survived remarkably well over time. When we compare these structures with our own, we find contemporary concrete sadly lacking.

Roman concrete was superior to our own and now scientists understand why:

The secret to Roman concrete lies in its unique mineral formulation and production technique. As the researchers explain in a press release outlining their findings, “The Romans made concrete by mixing lime and volcanic rock. For underwater structures, lime and volcanic ash were mixed to form mortar, and this mortar and volcanic tuff were packed into wooden forms. The seawater instantly triggered a hot chemical reaction. The lime was hydrated — incorporating water molecules into its structure — and reacted with the ash to cement the whole mixture together.”

The Portland cement formula crucially lacks the lyme and volcanic ash mixture. As a result, it doesn’t bind quite as well when compared with the Roman concrete, researchers found. It is this inferior binding property that explains why structures made of Portland cement tend to weaken and crack after a few decades of use, Jackson says.

 



How To Stop A WordPress Dictionary Attack

You guys! Lest we forget, Your Joe Dog was under attack!

Apparently there’s a widespread dictionary attack that uses tens of thousands of malwared computers to attack WordPress sites. Your JoeDog uses WordPress as a CMS. Your JoeDog was attacked!

The extent of the attack was not initially clear. I was alerted by sluggish performance. I noticed a lot of POSTs to wp-login.php. Those POSTs appeared in the access log like this:

92.47.65.37 - - [17/Jun/2013:09:06:42 -0400] "POST /wp-login.php HTTP/1.0" 
200 3444 "-" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/2010 Firefox/19.0"

I have a script that allows me to quickly block IP addresses with iptables. So I started harvesting addresses and blocking them. Done and done.

Except the attacker seemed to have an endless supply of IP addresses. The attack persisted no matter how many addresses I blocked.

Take a look at the log entry above. The referer field is empty. A JoeDog Fellow suggested I block all POSTs that don’t include a referer. Afterall, you don’t POST out of the blue – you submit a form in your browser. I blocked those types of requests with a simple mod_rewrite rule:

 RewriteCond %{REQUEST_METHOD} =POST
 RewriteCond %{HTTP_REFERER} ^-?$
 RewriteRule ^/(wp-login.php|wp-admin) - [F,NS,L]

Done and done. Amiright? Sadly, no….

Continue reading How To Stop A WordPress Dictionary Attack



Quick Trivia

Q: Who are the highest paid employees on the Pentagon budget?
A: The football coaches at Army, Navy and Air Force.



Your Joe Dog Is Under Attack

Wanted: Kevin MitnickThis site has been under attack for several weeks now. The attacker is using an unthrottled brute force dictionary attack. He seems to have an unlimited supply of IP addresses. After examining some of the source addresses, I’ve concluded that we’re on the wrong end of a bot net.

I’ve been harvesting IP addresses and blocking them as fast as I can. I’ve also added Rewrite rules to deny these attempts based on his request signature. Those rules reduce overhead since his requests won’t generate database transactions. Yet no matter how many timeouts he gets and no matter how many Access Denied responses he endures, the attacks persist.

Because this dictionary attack is unthrottled, the affect is, at times, not unlike a DOS attack. Your Joe Dog is a public service with shallow pockets. We simply don’t have the resources to eat these attacks and provide you with snappy service. Bare with us as we deal with this asshole.

UPDATE: While it provides additional inconvenience, I applied an access control to the page he’s attacking. You can protect a single file inside a FilesMatch block like this:

 <FilesMatch "wp-login.php">
   AuthType Basic
   AuthName "Kiss my fscking ass"
   AuthUserFile /path/to/my/file
   Require user franklindelanoroosevelt
 </FilesMatch>

Obviously, some of that information was obfuscated but “Kiss my fscking ass” really is the realm I’m using.

The benefit to this approach is two-fold: 1. Apache doesn’t expend much effort to say, “401 gimme a password!” 2. If this layer is cracked, he still has to bust the next one before I reset the password on the first one….

 



Digging His Grave

“He’s digging his own grave with a very large spade.”

— Kevin Egan, an extradition attorney, on the revelation that Edward Snowden divulged NSA hacking activity inside China.