Michal Čihař - Archive for Sept. 3, 2008

Little patch for me, big change for phpMyAdmin

I just commited to phpMyAdmin trunk (will be released once as 3.1) few small patches, but the change is quite important - phpMyAdmin will now default to cookie authentication method and it will not allow to login as root user without password (unless it is explicitly enabled in configuration).

Reasons for both changes are simple - most people change default authentication to cookie in production environment anyway, so why not to make it default and giving remote access to freshly installed MySQL server has been always considered a bit security issue. Well it was an user problem, but why not to prevent such issues?

Já nechci aby moje maily končily jako spam

Tak jsem si nějak povšimnul, že veškeré moje maily, odeslané na nejmenovaný největší český freemail, skončí jako spam. Kupodivu u jiných příjemců se tento problém nevyskytuje, tak to asi nebude úplně triviální problém a stojí za prozkoumání.

Posílám si tedy mail na jedno z nepoužívaných kont, které tam mám a v hlavičkách vidím X-Spam-Status: score=14.2 . No to je celkem slušné skóre, co za to asi může? Že by se tomu nelíbila moje adresa michal@cihar.com? Změna odesílatele na cosi@email.cz a hle, už mám jenom X-Spam-Status: score=8.2 . Bohužel pořád dost na to aby to skončilo ve spamu.

Jako první mě samozřejmě napadl nějaký obskurní blacklist, ale jakékoliv online nástroje pro kontrolu blacklistů mi potvrzují, že můj server na žádném není, tak v tom snad problém nebude. Zkouším ještě poslat mail přímo ze serveru a najednou to projde ... tak že by se kontrolovaly Received hlavičky oproti blacklistům?

Vložení Received s IP adresou přes kterou se připojuju (kabelovka, NAT pro nepočítaně lidí, takže nejspíš je na všech možných i nemožných blacklistech) opravdu způsobí onen závratný růst skóre. Proč má jediná hlavička takový vliv netuším, ale jediná moje možnost je přenastavit si mailserver aby tyto adresu maskoval.

Naštěstí nalezení návodu pro Exim je otázkou jednoho dotazu na pana Googla a změna je na světě:

 received_header_text = Received: \
  ${if def:sender_rcvhost {from ${if def:authenticated_id \
  {127.0.0.1 (helo=authenticated.user.fuck.seznam)} \
  {$sender_rcvhost}}\n\t}\
  {${if def:sender_ident \
  {from ${quote_local_part:$sender_ident} }}\
  ${if def:sender_helo_name {(helo=$sender_helo_name)\n\t}}}}\
  by $primary_hostname \
  ${if def:received_protocol {with $received_protocol}} \
  ${if def:tls_cipher {($tls_cipher)\n\t}}\
  (Exim $version_number)\n\t\
  ${if def:sender_address \
  {(envelope-from <$sender_address>)\n\t}}\
  id $message_exim_id\
  ${if def:received_for {\n\tfor $received_for}}

O tom nakolik je takovéto chování od mailserveru korektní spekulovat nebudu a názor si vytvořte sami.