Назва | Заснування | Стан | Учасники | Іконка |
---|---|---|---|---|
Серверна та хостингова інфраструктура проєкту OpenSCADA | Липень 2014 | Реалізовано і експлуатується наразі для зберігання та представлення цих та багатьох інших ресурсів проєкту OpenSCADA. | Роман Савоченко | |
Опис | ||||
Представлення, стеження та контроль інфраструктури OpenSCADA.
|
Сторінку призначено для репрезентації, відстеження та керування серверною інфраструктурою OpenSCADA.
Від початку заснування OpenSCADA його ресурси розміщалися на основному сервері ТОВ ДІЯ та деталі і специфіка серверу не передбачали публікації. Від 2015 року проєкт OpenSCADA отримав власний сервер та інтернет канал, переважно завдяки фінансуванню Beams&Plasmas. Із 2016 року всі ресурси проєкту OpenSCADA перенесено до нового серверу, доменне ім'я "oscada.org" переключено на нього і у якості DNS використано Хостинг України із конфігурацією у Таблиці 1.
Таблиця 1: Конфігурація домену "oscada.org".
Властивість | Старе значення | Поточне значення |
---|---|---|
Сервер Імен 1 | NS0.XNAME.ORG | NS1.FASTDNS.HOSTING |
Сервер Імен 2 | NS1.UKRAINE.COM.UA | NS2.FASTDNS.HOSTING |
Сервер Імен 3 | NS2.UKRAINE.COM.UA | NS3.FASTDNS.HOSTING |
oscada.org. | 82.207.88.73 | 134.249.149.50 > 46.98.2.159 |
ftp | 82.207.88.73 | 134.249.149.50 > 46.98.2.159 |
wiki | 82.207.88.73 | 134.249.149.50 > 46.98.2.159 |
82.207.88.73 | 134.249.149.50 > 46.98.2.159 | |
www | 82.207.88.73 | 134.249.149.50 > 46.98.2.159 |
Contents
1 Обладнання та канал Інтернет
Сервер OpenSCADA наразі розташовано у квартирі автора OpenSCADA. Для підключення до глобальної мережі використано одного із провайдерів сервісу Інтернет у місті Кам'янське України. Провайдер застосовує концепцію Оптоволокно До Будівлі (FTTB) та пропускна спроможність Інтернет каналу наразі складає 50Мбіт/с. Основне доменне ім'я "oscada.org" підключено наразі до статичної IP адреси 46.98.2.159. Апаратну конфігурацію серверу наведено у Таблиці 2.
Таблиця 2: Апаратна конфігурація серверу OpenSCADA.
Назва | Конфігурація | Примітки |
---|---|---|
ЦП | AMD Phenom(tm) II X4 910e | AMD Phenom(tm) II енергоефективний ЦП
|
МП | GIGABYTE GA-M68MT-D3 AM3 DDR3 (NVIDIA® GeForce 7025/nForce 630a) | материнська плата на сокеті AM2/AM2+/AM3
|
Пам'ять | 8ГБ (DDR3-1333) | DDR3,DDR2 пам'ять
|
ЖД | 1ТБ, RAID1 (IRP-SSDPR-S25C-01T+KODAK-X120) | нові із низьким споживанням, нагрів близько +8°C
|
Джерело Живлення | ATX Джерело Живлення 350Вт FSP350-60EGN | Джерело Живлення
|
Корпус | MidiTower, ATX | використовуваний |
ДБЖ | PowerCom INF-800 + LPM-MG12-65Ah |
|
2 Середовище програм та сервісів
Програмне середовище загалом використовує дистрибутив ОС Linux Debian 7 (Wheezy). Для ізоляції зовнішніх сервісів та деяких інших цілей використано легку ізоляцію OpenVZ у різних Віртуальних Приватних Серверах (VPS). У більшості VPS також використано дистрибутив Linux Debian 7 (Wheezy), інколи використано Debian 8 (Jessie) і ALTLinux T6. Апаратний сервер (HS) є у програмному оточені x86_64 хоча більшість VPS переважно використовують середовище x86_32, особливо у вимогливих завданнях, у результаті чого ми маємо загальне споживання серверу близько 1.2ГБ замість 2GB рівноцінного чистого x86_64 середовища. Структуру програмного середовища наведено на рисунку 1.
Файлова система апаратного серверу (HS) не містить розділу підкачування та має два основних дзеркальних розділи:
- "корінь (/)": 9.1GB
- "дані (/data): 908GB
Окрім керування VPS-контейнерами із OpenVZ оточення, апаратний сервер (HS) також містить деякі сервіси для зовнішньої та внутрішньої мереж:
- SSH: Загальний доступ до керування сервером із внутрішнього та зовнішнього оточень.
- PPTP: Безпечне тунелювання для підключення із зовнішніх середовищ до внутрішньої мережі або для зворотного віддаленого підключення до підключених клієнтів.
- NTP: Служба мережевого часу для внутрішніх та зовнішніх хостів.
- FTP: FTP-сервер внутрішньої мережі для доступу до сховку локальних даних.
- Samba: SMB-сервер внутрішньої мережі для доступу до сховку локальних даних.
- AptCacher (ВИМКНЕНО): APT-кешувальник нової генерації apt-cacher-ng, слугує для безпомилкового складання Живих Дисків та використовується в оновлені Debian систем за допомогою http-cacher.
- Конфігураційні файли сервісу: "/etc/apt-cacher-ng/".
- AptMirror (ВИМКНЕНО): APT дзеркалювання apt-mirror для потреб APT-репозиторіїв, слугує для безпомилкового складання Живих Дисків у використанні TDE.
- AutoBuilder: Автоматичний складальник пакетів OpenSCADA для LTS і Work гілок OpenSCADA, із перевіркою локального репозиторію Subversion.
- DNS (Bind9): Сервер доменних імен внутрішньої мережі.
- DHCP: Динамічна конфігурація хостів внутрішньої мережі.
- CUPS: Служба друку внутрішньої мережі.
- SmartHouse: Розумний Дім та моніторинг сенсорів серверу, на основі OpenSCADA.
Адреса: ftp.oscada (192.168.0.10)
Служба: виключно надає публічну файлову службу для ресурсів OpenSCADA
Основа VPS: дистрибутив ОС Linux Debian 7 (Wheezy) x86, файловий сервер ProFTP
Цей FTP має наступне часткове дерево:
- "ALTLinux/" — застарілі репозиторії пакетів дистрибутиву ОС Linux ALTLinux;
- "Debian/" — репозиторії пакетів дистрибутиву ОС Linux Debian;
- "Misc/" — різні файли;
- "OpenSCADA/" — файли проєкту OpenSCADA.
2.1 VPS: DB
Адреса: db.oscada (192.168.0.11)
Служба: виключно надає різні СУБД для використання всередині і VPSами
Основа VPS: дистрибутив ОС Linux Debian 7 (Wheezy) x86, надає СУБД: MySQL, PostgreSQL, FireBird, OpenLDAP (slapd)
Таблиця 2.2: Надані СУБД та їх використання.
СУБД | Використання |
---|---|
MySQL | TYPO3 (http://oscada.org), MediaWiki (http://oscada.org/wiki), WackoWiki (http://wiki.oscada.org), Jabber, деякі тести OpenSCADA. |
PostgreSQL | Деякі тести OpenSCADA. |
FireBird | Деякі тести OpenSCADA. |
OpenLDAP | Автентифікація користувачів Jabber та деякі тести OpenSCADA. |
2.2 VPS: SVN
Адреса: svn.oscada (192.168.0.12)
Служба: надає системи контролю версій
Основа VPS: дистрибутив ОС Linux Debian 7 (Wheezy) x86, надає системи контролю версій: Subversion, CVS
CVS є застарілою системою контролю версій, що використовувалася до 2005 року проєктом OpenSCADA і деякими проєктами фірми ТОВ ДІЯ від їх автора Романа Савоченко. Наразі CVS надається лише для сумісності та підтримує лише гостьовий доступ cvs -d:pserver:guest@oscada.org:/CVS_R co OpenScada.
Subversion є актуальною системою контролю версій, що наразі використовується проєктом OpenSCADA. Вона підтримує два підключення керування та два відображення:
- класичним способом вона дозволяє керувати та анонімно читати/оглядати власним сервісом "svn://", до прикладу svn ls svn://oscada.org/trunk/OpenSCADA/;
- безпечним способом за SSH вона дозволяє керувати лише авторизованим користувачам за безпечним префіксом "svn+oscada://", до прикладу svn ls svn+oscada://oscada.org/mnt/SVN_R/trunk/OpenSCADA;
- через DAV за HTTP вона дозволяє лише анонімне читання/огляд за HTTP префіксом "http://", до прикладу svn ls http://oscada.org/svn/trunk/OpenSCADA/;
- через Web-інтерфейс WebSVN вона дозволяє лише анонімний огляд.
2.3 VPS: HTTP
Адреса: http.oscada (192.168.0.13)
Служба: надає різноманітні HTTP-служби які переважно засновано на Web Сервері Apache2
Основа VPS: дистрибутив ОС Linux Debian 7 (Wheezy) x86, Web Сервер Apache
Основний конфігураційний файл віртуальних хостів розташовано у "/etc/apache2/sites-available/openscada.conf". Ел.Пошту сконфігуровано у "/etc/postfix/main.cf" як простий спрямовувач на VPS серверу Ел.Пошти.
Таблиця 2.4: Надані HTTP-Служби.
Назва | Опис | Примітки |
---|---|---|
server-status (ВНУТРІШНЄ) | Поточний статус серверу Apache2 | |
phpMyAdmin (ВНУТРІШНЄ) | Керування СУБД MySQL із WEB-Інтерфейсу phpMyAdmin | |
phpLDAPadmin (ВНУТРІШНЄ) | Керування LDAP із WEB-Інтерфейсу phpLDAPadmin | |
Основний сайт проєкту OpenSCADA заснований на CMS "TYPO3", включно із WEB-Інтерфейсом адміністрування CMS. | Розташовано у "/var/www/oscada/".
Цю конфігурацію і БД перенесено із версії PHP 5.2 на 5.4 та із версії TYPO3 4.3 на 4.5 LTS. З цієї причини, та оскільки PHP 5.4 має значні зміни, були деякі проблеми перенесення у CMS розширеннях mm_forum, sr_feuser_register і lz_gallery, які виправлено. Команди перенесення БД: mysqldump -Q --user=web -p t3_oscada > t3_oscada.sql
mysql --default-character-set=utf8 --user=web -p t3_oscada < ./t3_oscada.sql
Виправлені помилки:
if(is_array($name)) array_walk($name, 'trim');
else $name = trim($name);
| |
MediaWIKI |
Нова база знань (WIKI) проєкту OpenSCADA на MediaWIKI | Розташовано у "/var/www/oscada/wiki/".
Встановлено версію 1.26.4 MediaWiki з причини використання PHP 5.4. Виправлені помилки:
|
WackoWIKI |
Стара база знань (WIKI) проєкту OpenSCADA на WackoWIKI | Розташовано у "/var/www/oscada/wacko/".
Ця конфігурація і БД перенесено із версії PHP 5.2 на 5.4 що призвело до деяких проблем, первинно у функції htmlspecialchars() та необхідності у типовому кодуванні UTF-8. Ці проблеми переважно виправлено до переходу на новий Wiki-рушій. Команди перенесення БД: mysqldump -Q --user=wakka -p oscadawiki > oscadawiki.sql
mysql --default-character-set=latin1 --user=wakka -p oscadawiki < ./oscadawiki.sql
|
Файловий сервер |
Файловий сервер за HTTP від Apache2 | Виправлення і зміни:
|
WebSVN |
WEB-Інтерфейс керування Subversion репозиторієм проєкту OpenSCADA від WebSVN. | Розташовано у "/var/www/oscada/websvn/".
Конфігураційний файл "/var/www/oscada/websvn/include/config.php" редагувати щодо функції "addRepository(...)". Не виявлено проблем перенесення. |
DAV svn |
Перегляд та спостереження за Subversion репозиторієм OpenSCADA, як файлова система на HTTP. | |
Статистика відвідування серверу від AWStats. | Оригінальну статистику старого серверу збережено та підключено до нового. |
2.4 VPS: EMail
Адреса: mail.oscada (192.168.0.15)
Служба: виключно надає службу Ел.Пошти
Основа VPS: дистрибутив ОС Linux Debian 7 (Wheezy) x86, SASL, Postfix, Cyrus, Amavis, SpamAssasin, ClamAV, FetchMail.
Таблиця 2.5: Надані служби Ел.Пошти.
Назва | Опис | Примітки |
---|---|---|
SASL | Шар Простої та Безпечної Автентифікації (SASL) | Для автентифікації використовується локальна БД "/etc/sasldb2".
Для IMAP-серверу Cyrus БД вказується безпосередньо у файлі "/etc/imapd.conf", як рядок "sasldb_path: /etc/sasldb2". Для Postfix спеціально налаштовано демон "saslauthd" у конфігураційному файлі "/etc/default/saslauthd" рядками: MECHANISMS="sasldb"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
Приклади інструментів для керування користувачами та паролями: sasldblistusers2 # Get users list
saslpasswd2 roman@server.diya.org # Set password for the user
|
Cyrus | Сервер Протоколу Доступу Повідомлень Інтернету (IMAP) надає доступ до особистої Ел.Пошти та загальносистемних дошок оголошень через протокол IMAP за проєктом Cyrus. Увімкнено Sieve (фільтри боку серверу). | Основними конфігураційними файлами є "/etc/{cyrus.conf, imapd.conf}".
Текою Локальної БД є "/var/lib/cyrus". Текою Ел.Пошти користувача є "/var/spool/cyrus/mail". Теку "/var/lib/cyrus" і "/var/spool/cyrus/mail" було отримано із старого серверу та видалено зайві до OpenSCADA поштові скриньки. Приклади інструментів керування поштовими скринями: cyradm --user cyrus localhost # підключитися як адміністратор
cyradm --user roman localhost # підключитися як користувач
sam user/{mbox} cyrus c; dm user/{mbox} # видалити {mbox}
|
Postfix | Служба надсилання повідомлень через Транспортний Протокол Надсилання Повідомлень (SMTP) від Postfix. | Основними конфігураційними файлами є "/etc/postfix/{master.cf,main.cf}".
Локальні переліки та БД: "/etc/aliases.db", "/etc/postfix/{bcc_map.db, local_recipients.db, mynetworks}". Приклади інструментів керування сервером: postalias /etc/aliases # оновлення/формування БД відповідників із оригінального текстового файлу
postmap /etc/postfix/{bcc_map,local_recipients} # оновлення/формування БД із оригінальних текстових файлів
mailq # черга повідомлень актуальної Ел.Пошти
postqueue -f # негайна спроба повторного надсилання актуальної Ел.Пошти черги повідомлень
Виправлення та зміни:
|
Amavis | Сканер вірусів та спаму Ел.Пошти від (AMaViS), який для сканування вірусів переважно використовує ClamAV і для спаму використовує SpamAssasine. | Текою основних конфігураційних файлів є "/etc/amavis/conf.d".
Текою карантинних вірусів та спаму є "/var/lib/amavis/virusmails". Конфігурацію отримано зі старого серверу і вона надає наступну політику:
|
ClamAV | Перевірка на віруси від ClamAV. | Основним конфігураційним файлом є "/etc/clamav/clamd.conf". |
SpamAssasin | Перевірка на SPAM від SpamAssasin. | Основним конфігураційним файлом є "/etc/spamassassin/local.cf".
БД тренування є "/var/spool/spamassassin/". Приклади інструментів навчання SPAM-фільтру: sa-learn --no-sync --progress --spam /var/tmp/spam # тренувати на SPAM із теки /var/tmp/spam
sa-learn --no-sync --progress --ham /var/tmp/ham # тренувати на HAM із теки /var/tmp/ham
sa-learn --sync # синхронізувати дані навчання
sa-learn --dump magic # переглянути результати тренування
|
FetchMail (ВИМКНЕНО) | Вивантаження зовнішніх поштових скриньок до локальних від FetchMail. | Основним конфігураційним файлом є "/etc/fetchmailrc". |
2.5 VPS: Jabber
Адреса: jabber.oscada (192.168.0.16)
Служба: надає сервер миттєвих повідомлень.
Основа VPS: дистрибутив ОС Linux Debian 8 (Jessie) x86, Jabberd2. VPS було успішно оновлено із шаблону мінімальної VPS Debian 7 оскільки такий VPS не доступний для x86 платформи на Debian 8.
Для автентифікації користувача серверу миттєвих повідомлень використовується LDAP на VPS "DB". Для збереження контактів використовується таблиця "jabberd2" на СУБД MySQL VPS "DB". Конфігурацію і таблицю "jabberd2" було отримано із старого серверу та успішно адаптовано до нового.
2.6 VPS: ALTLinux32 складальник
Адреса: bldrALT32.oscada (192.168.0.100)
Служба: середовище складання Живих Дисків та прошивок дистрибутиву Linux ALTLinux 5 (5.1) і 6 (T6) апаратної платформи x86
Основа VPS: дистрибутив ОС Linux ALTLinux T6 x86, MKImage
Цей VPS містить набір MkImage профілів, використовуваних переважно із Автоматичного Складальника OpenSCADA у контексті Linux дистрибутиву автоматизації проєкту OpenSCADA, і доступний також для використання вручну.
2.7 VPS: Debian8 складальник
Адреса: bldrDeb8.oscada (192.168.0.101)
Служба: середовище складання Живих Дисків та прошивок дистрибутиву Linux Debian 7 і 8 апаратних платформ x86 і x86_64
Основа VPS: дистрибутив ОС Linux Debian 8 (Jessie) x86_64, Компоненти Складання Живої Системи (live-build).
Цей VPS містить набір конфігурацій Складання Живої Системи, використовуваних переважно із Автоматичного Складальника OpenSCADA у контексті Linux дистрибутиву автоматизації проєкту OpenSCADA, і доступний також для використання вручну. Використовується у складані для старих дистрибутивів Debian 7 і 8, тоді як нові складаються на зовнішньому хості із сучасним середовищем складання. У VPS розташовано деякі прості складання, засновані на ToolChain.
2.8 VPS: Симулятори-моделі OpenSCADA
Адреса: oscadaModels.oscada (192.168.0.110)
Служба: виконання симуляторів-моделей OpenSCADA до автоматизованих систем та надання зовнішнього доступу заснованого на WEB
Основа VPS: дистрибутив ОС Linux Debian 7 (Wheezy) x86, OpenSCADA
Всі симулятори-моделі OpenSCADA підготовлено до надання немодифікованого встановлення та до простого їх розгортання, окрім встановлення деяких специфічних паролів у конфігураційному файлі. Наразі підготовлено та виконуються наступні симулятори-моделі: