Archive for December, 2011
Graphical User Interfaces for use with syslog-ng
Centralized logging of events has been an important part of the IT infrastructure for many years. It is more convenient to browse logs in a central location rather than viewing them on individual machines. Central storage is also more secure. Even if logs stored locally are altered or removed, one can still check the logs on the central log server. Compliance with different regulations also makes central logging necessary. (This is an updated version of my previous syslog-ng web gui blog.)
КАБЕСТ: с технологиями BalaBit IT Security ИТ-процессы под контролем
13 декабря 2011 года. – Компания «КАБЕСТ» (входит в группу «Астерос») стала партнером BalaBit IT Security, мирового лидера в области мониторинга привилегированного доступа, логирования и прокси-технологий. Теперь «КАБЕСТ» может предложить своим заказчикам полную линейку продуктов для сетевой безопасности.
BalaBit IT Security – мировой производитель систем безопасности, которые обеспечивают всесторонний мониторинг операций, производимых на корпоративных серверах. Технологии BalaBit позволяют фиксировать детали любого изменения в ИТ-системе, произведенного ИТ-специалистами компании или представителями компании-хостера, что позволяет в разы снизить риски несанкционированных изменений в ИТ-инфраструктуре.
«BalaBit IT Security имеет широкую клиентскую базу и разветвленную партнерскую сеть в 30 странах мира. Наши решения предназначены для финансовых, телекоммуникационных, транспортных компаний и государственных учреждений. Они позволяют полностью удовлетворить нормативные требования регуляторов и обеспечить непрерывность бизнес-процессов компаний, – отмечает Zoltán Györkő, директор по развитию бизнеса BalaBit IT Security. – Партнерство с «КАБЕСТ», российским экспертом в области разработки и интеграции ИБ-решений, является честью для нас. Это возможность расширить присутствие нашей компании на рынке России».
Среди представленных на российском рынке продуктов компания будет внедрять такие решения как:
• Shell Control Box – устройство контроля, аудита и защиты привилегированного доступа к рабочим станциям, серверам и сетевым устройствам;
• syslog-ng Store Box – программно-аппаратный комплекс для сбора, классификации и хранения журналов различных сетевых устройств и приложений;
• Межсетевой экран Zorp, который обеспечивает полный контроль обычного и зашифрованного сетевого трафика с возможностью фильтрации и изменения контента.
«С развитием ИТ-аутсорсинга, популярностью «облачных» технологий, услуг коммерческих дата-центров, растет желание заказчиков обеспечить безопасность корпоративной информации. Компании стремятся не просто защитить собственные ресурсы с помощью инструментов ИТ, привлекая ИБ-специалистов, но и свести к минимуму влияние человеческого фактора. Создание двойного контроля с помощью решений BalaBit IT Security позволяет в разы сократить риски нелегальных изменений в ИТ-инфраструктуре и, как следствие, несанкционированного доступа к конфиденциальной информации. Мы уверены, что решения нашего партнера будут позитивно восприняты российским рынком», – комментирует Иван Бурдело, технический директор компании «КАБЕСТ».
Информация о компаниях
BalaBit IT Security – производитель систем, обеспечивающих всесторонний мониторинг операций на корпоративных серверах, включая запись с экрана, детальный учёт всех сессий и операций техобслуживания. Технологии BalaBit фиксируют детали каждого изменения, произведенного ИТ-специалистами, аутсорс-администраторами или представителями компании хостера, начиная от ввода с клавиатуры, запуска приложений, изменений в конфигурации, модификации исполняемых файлов и файлов загрузки, до онлайн-поиска и перемещения отдельных документов с сохранением хронологического порядка операций.
Согласно Deloitte Technology Fast 50 (2010), BalaBit занимает второе место в Центральной Европе по скорости роста компании. Имеет региональные представительства во Франции, Германии, Италии, России и США. Работает с партнерами во всем мире. Центры поддержки расположены в Венгрии. Подробнее о компании здесь: http://www.balabit.com
Компания «КАБЕСТ» в составе группы «Астерос» занимается созданием и внедрением интегрированных систем комплексной безопасности объектов и предлагает уникальные решения в реализации проектов различной сложности и масштаба. Постоянными клиентами «КАБЕСТ» являются правительственные, государственные, силовые и коммерческие структуры, предприятия и организации промышленности и оборонного комплекса.
Более подробную информацию о компании можно найти на сайте www.kabest.ru
За дополнительной информацией обращайтесь к PR-менеджеру компании BalaBit IT Security Andrea Ipolyi. Phone: +36 20 390 4139, e-mail: andrea.ipolyi@balabit.com, blog: http://andrea.blogs.balabit.com/
Kindle 4 review
Recently as I was getting closer to my birthday I decided to make myself happy and I buy a tablet. At least this was my first intention.
I was especially looking for an Android tablet but I read about iPads of course.
As usually when I am up to buy something I started to read reviews of tablets from all over the Internet. After I read a couple of reviews I started to feel that they have way too many features an many upgrades are about to be released on this quite new market. Frankly I don’t see where this market goes, I rather felt that vendors are shooting in the dark. I would rather have something solid.
The second thing which come to mind was that what am I really going to use it for? This was a kind of “I would love it very much but I don’t think I really need one” feeling which was obviously confusing. So I started to write down my use cases to see what my needs are.
Really, what my needs are?
- Reading books and internet articles, news
- Access my mails, mostly gmail
- Long battery life
- Small size and weight
- Possibly on low price
- At least WiFi capable
- Storage shall be either expandable or quite big
Why Kindle?
- Battery life lasts for a month! At this point tablet’s 9 hours are ridiculous no matter how we look at it.
- Price is at around 170 USD. Taking into account that Amazon does not have any store in Hungary and I had to buy if from over the sea (USA) this is still the quarter of the price of a decent Android tablet.
- It has WiFi and has an experimental web browser which is capable to display the most frequent sites I used to visit, though it is not designed for motion pictures as the page refresh time is really slow for movies.
Which Kindle?
Advantages:
As I said no device has all requirements I needed, therefore I had to make compromises.
- Weight: 170g. You’re gonna love it. It’s so light that I barely feel that it is in my hands.
- Battery life takes one month. You don’t even got a charger from Amazon but only a single USB cable which is capable to charge the device from an USB port. The total charge time is around 2 hours according to Amazon but I haven’t had the chance to test it because since I got it I never turned it off and its battery is still above 85%.
- E-ink is really good for eyes. It doesn’t have any back light, it almost looks like traditional paper.
- This is not special to Kindle but I was fascinated to be able to change the font size of the texts. As I wear glasses this was really helpful for me. Just think about it how small a letter could be as the resolution of displays grow.
- I don’t need to turn when I lay during reading. You do know what I am talking about, don’t you?
Disadvantages:
- Usable storage is only 1,3GB and it is not expandable but at least it can hold more books than I will ever read in the next 5 years.
- E-ink display does not have any back light, therefore you are forced to turn the lights on or to use a small lamp to light it if you’re reading in the bed just before you go to sleep.
- The built-in Webkit based web browser is stated as experimental which is true. It operates as a mobile browser at least from the point of user agent. Doesn’t have many features, just an address bar, action buttons, bookmarks but no tabs, no password management.
- It does not have touch screen which makes typing in the browser quite slow, though you won’t see this as a disadvantage if you just read ebooks.
syslog-ng Insider – December 2011
Dear syslog-ng users,
This is the 9th issue of the syslog-ng Insider, a monthly newsletter that brings you syslog-ng related news.
Your feedback and news tips about the next issue is welcome at
documentation(at)balabit.com
FEATURED NEWS
syslog-ng 3.3.3 is released!
A new version of syslog-ng is released! There are no new features to announce, but most problems reported since 3.3.1 should be fixed by now! Thank you for all of those, who helped us to hunt bugs with detailed reports and many testing!
The release of 3.3.3 brought many new users to the latest syslog-ng version, which helped to uncover some more bugs in advanced configurations. Until a new release arrives, please check the git tree ( git://git.balabit.hu/bazsi/syslog-ng-3.3 ) and the mailing list archives, if your problem is addressed by a patch.
Sources are available in git or as a snapshot:
Binary packages are available are available for several Linux distributions. Please check availability at
syslog-ng and patterns
Patterndb is one of the most important features of syslog-ng, still not many people are using it. So we are very happy to see, that patterndb was the focus point in many recent syslog-ng mailing list threads.
First of all, thanks for Evan Rempel for providing many useful ideas and feedback about patterndb on the syslog-ng mailing list.
ELSA (Enterprise Log and Search Archive), which uses patterndb heavily, had some major updates recently, which make it a lot more easy to install on a couple of different systems. It is available at http://code.google.com/p/enterprise-log-search-and-archive/
We plan to use CEE for our patterns in the long term. But even until this standard is available, please share your patterns in any form to lower the entry barrier for your fellow syslog-ng users. If you send them to the list or directly to me, I’ll make them available at http://git.balabit.hu/?p=czanik/syslog-ng-patterndb.git;a=summary
syslog-ng and the journal
There’s an ongoing project to create a new logging subsystem for Linux, called the journal, by Lennart Poettering of PulseAudio & systemd fame. It is implemented as a core component of systemd, thus has a good chance to be integrated to all distributions that carry systemd. Since syslog-ng is also in the logging sphere, the logical question arises: how does this new project affect syslog-ng in the long run?
For the answer, read Bazsi’s blog.
OTHER SHORT NEWS
- An interesting article about extracting useful information from log messages was published in Free BSD Magazine (not only for BSD users
): where you also can read about several up-to-date topics, like “Rolling Your Own FreeBSD Kernel”, “Hardening BSD with Security Levels” and so on. The whole Free BSD Magazine can be downloaded at http://bsdmag.org.
NEW RELEASES
ARCHIVE
syslog-ng and the journal
There’s an ongoing project to create a new logging subsystem for Linux, called the journal, by Lennart Poettering of PulseAudio & systemd fame. It is implemented as a core component of systemd, thus has a good chance to be integrated to all distributions that carry systemd: Fedora, openSUSE, and probably others.
The vision and design is described in a paper here.
The reactions to the idea were mixed: there are some good features behind the idea, however it changes a couple of fundamental UNIX traditions. See article and comments here.
Since syslog-ng is also in the logging sphere, the logical question arises: how does this new project affect syslog-ng in the long run?
The short answer to that question is that it’ll probably help syslog-ng, but please read on.
Journald now & future
Right now journald is a very limited syslog implementation that only focuses on local logging: it collects local syslog messages, converts them into name-value pairs, then adds some trusted ones (like the pid, uid and gid) and writes these into journal files for storage.
The idea of working with structured messages in journald is currently limited because of the required application changes: only traditional syslog fields are available, the application message is stored within a single field. The vision here is to add structured logging to applications.
Other sources of local logs are to be integrated too: stuff like login/logout records (wtmp), audit logs and firmware (ACPI) logs.
The file format is interesting, although it is the source of most of the negative feelings: it is a binary format. It is undocumented (for now) with a library in the works to read & write them. The problem most people see that in emergency situations the file may become corrupt, and crucial information can be lost to diagnose the problem that caused the corruption in the first place.
As far as I understand, if applications were to support journal, they’d have to write records to the journal through the API without involving journald itself. This means that the file structure must support inter process synchronization, or that each application would log to different files to avoid that (using UUIDs for instance).
Network transport of the journal doesn’t exist yet, the vision seems to be that the journal is structured on the disk so that journals from multiple hosts can be merged simply by copying them to the same host. Ideas such as rsync or NFS mounts were floated as solutions to the transport problem. This is modeled after a bit like a git repository, which is great for storing source code, but may not be as great for log storage.
Further processing of logs is not in the cards, e.g. journald would take and store logs. In order to support higher level processing, applications would need to be modified and external tools to process logs would be needed.
As it seems, journald leans towards using a distributed model: each host has its own journals and whenever you want to look up records, you go back to the source and tries to address security concerns via cryptographic means (like using a chained HMAC for stored log messages).
Comparing to syslog-ng
syslog-ng has become much more than a syslogd in recent times. It supports structured messages similarly to journald (name-value pairs), can even extract such values from unstructured messages (db-parser), and can store stuff into much more than text files: MongoDB keeps the structure and provides indexed access, but output as JSON objects into simple text files is possible too
With syslog-ng (unlike journald), the user is in control: she can influence the storage policy, use whatever files, databases she pleases to store data. This is flexibility on one hand, but can be a problem if one wants to create tools that universally work with logs out-of-the-box.
Some users store messages in /var/log, others in /logs, yet others use MongoDB for their log storage. Writing a GUI application that works with log data out-of-the-box without having to specify where these are stored is next to impossible. The syslog model is to use specialized tools for each of these storage mechanisms and home-grewn scripts to do site specific processing. The reason is simple: use-cases are so different (from mail logs to financial transactions) and log data so voluminous (in the 100TB scale) that one size doesn’t fit all.
syslog-ng is more like an infrastructure for the actual, potential per-site log processing needs, journald is a complete system for a more limited use-case, which may just be enough for a number of users.
The security model of traditional syslog is to get logs off the potentially vulnerable system, leaving as small window for potential modification as possible. Certainly sending out a hash value periodically is possible with the journal too, however the actual log messages could be lost if the source system is compromised. This way syslog leans toward a centralized system, which itself can be distributed by using trusted intermediaries that store log data in need, but _independently_ of the source host.
Currently the only feature that journald has over syslog-ng is ‘trusted fields’, e.g. the fact that journald can determine the actual uid, gid, pid… values, making it more difficult to forge messages on the local host. Although these are handy, I didn’t see the need for these in practice in the past 13 years I’ve been maintaining syslog-ng, and I knew about the possibility to get this information from the kernel. Anyway, adding this to syslog-ng is not difficult, probably an hour or two and I may just do that to demonstrate. rsyslog has rushed to implement these probably for the very same reason: http://blog.gerhards.net/2011/11/trusted-properties-in-rsyslog.html
The other planned log sources are partially supported by syslog-ng too, for instance BSD process accounting logs are supported directly (http://bazsi.blogspot.com/2010/07/syslog-ng-and-process-accounting.html) and similar support can also be added for the others, if not already integrated with syslog.
What Next?
I think that journald can become great for computers where logging is not the primary function. If the user has never changed her syslog.conf file, journald would provide much more for the user out-of-the-box, than does the current syslog. These are:
- proper logging under the boot process
- integrated to the service manager, easing troubleshooting for failed services (saving stdout and stderr)
- GUI application for ad-hoc checking of logs
- the ability to programmatically query logs without having to care about site-specific policies (how log files are organized for instance)
For those cases where logging is important, mandated by regulations or operations for a heterogenous enterprise system journald will probably not be enough. Not enough even if the whole vision is accomplished. As I see these features will not be adequate in journald:
- off-system storage for a long period (1-5 years is mandated by various regulations)
- on-line log collection for getting the message off the potentially vulnerable system as fast as possible (being late at most a minute is acceptable, but hourly syncs are not)
- performance for on-line collection and storage (I’ve seen requirements for handling up-to 250k msg/sec)
- interoperability with syslog: not just receiving and storing but also preprocessing, normalization & classification.
- existing standards
- open for on-line integration with home-grewn processing tools and
- SIEMs
These are the benefits how syslog-ng can win from journald:
- structured logging in applications: if these would actually emerge, syslog-ng would be there to support them too
- syslog-ng as an application: currently syslog-ng is used as a system component, replacing syslogd, which drives some features that may not match the primary vision of syslog-ng itself. If local logging would be taken care of journald, syslog-ng could focus where it is best: collecting, preprocessing, normalizing & classifying logs, including the ones in journald.
Journald can mean that Linux boxes would probably be installed without a full-blown syslogd by default.
As long as interoperability with a syslog application is a goal for journald (and I fail to see it won’t be the case), syslog-ng can happily coexist with the journal and can itself leverage all the benefits that journald brings. Journald will only replace syslog and syslog-ng in a limited use-case, which is not a primary focus for syslog-ng.
Currently, syslog-ng is not a default choice for the majority of distributions, which means that right now one needs to explicitly install syslog-ng over the default. This will not change much by the introduction of the journal, except the fact that the current default is a more direct competition for syslog-ng. If journald replaces that role, the playing field would be leveled somewhat.
Global Day of CodeRetreat 2011
Saturday Nucc and me were attending the Global Day of Code Retreat 2011, Budapest event (#gdcr11) invented by Corey Haines and brought to Hungary by Marton Meszaros. In short, it was great fun and I hope that little community I met that day will come together frequently.
In more detail, Coderetreat is a coding dojo based on Conway’s Game of Life. In 5 or 6 sessions, each taking 45 minutes, you write code with your pair in order to translate the rules of the game into a working software. It does not have to display the board on a shiny UI, no animation has to be rendered, making all the tests green is just enough. Knowing you must delete all the code at the end of each session and that 45 minutes is rarely enough to finish implementing the game with full test coverage (and additional constraints you are free to pick), you can concentrate on the code quality itself: encapsulation, good naming, SRP, TDD, KISS, functional programming, or whatever skills you want to practice and develop.
After each session, code is deleted and a retrospective meeting is held where everyone can tell others what was learnt and what needs improvement during future sessions. Of course, during the whole day, your social skills get improved as well: pairing with unknown people, working to solve problems together requires both of you to understand and communicate with each other.
GDCR11 was a global event: coders all around the world came together to practice writing code without deadlines, legacy code base, ever changing requirements and such, just to form communities, to meet others, and the most important: to learn.
And by learning, I don’t just mean seeing different languages and testing frameworks in action or experimenting with TDD and CleanCode principles in general, there’s way more than those. For example, by pairing with people I’d just met, I saw how hard it can be to work with me sometimes: I noticed I’m just too bull-headed sometimes to accept others people’s ideas. It was also interesting to see how others interpret rules of TDD, how big are the steps they take while writing tests and code.
It was totally worth it to attend (btw. thanks for the sponsors, Mimox and MyCorporation!), I’m sure I will be there at the next one (note that it doesn’t have to be a global event, a day of Coderetreat can be organized at any time, anywhere), and I recommend it for any developers enthusiastic about developing their professions as well!
Update: Oh, there is a Facebook page for Coderetreat@Budapest!
Twitter
LinkedIn