Алғы сөз
Біздің «достығымыз» екі жыл бұрын басталған. Мен жаңа жұмыс орнына келдім, онда бұрынғы әкімші бұл бағдарламалық жасақтаманы маған мұра ретінде қалдырды. Интернеттен ресми құжаттамадан басқа ештеңе таба алмадым. Тіпті қазірдің өзінде, егер сіз Google-де «рульді» іздесеңіз, 99% жағдайда ол шығады: кеме штурвалдары мен квадрокоптер. Мен оған жол таба білдім. Бұл бағдарламалық жасақтаманың қауымдастығы шамалы болғандықтан, мен өз тәжірибеммен бөлісуді шештім. Бұл біреуге пайдалы болады деп ойлаймын.
Сонымен Руддер
Rudder – жүйе конфигурациясын автоматтандыруға көмектесетін ашық бастапқы аудит және конфигурацияны басқару утилитасы. Ол әрбір соңғы пайдаланушы үшін агентті орнату принципі бойынша жұмыс істейді. Ыңғайлы интерфейс арқылы біз инфрақұрылымымыздың барлық көрсетілген саясаттарға қаншалықты сәйкес келетінін бақылай аламыз.
Пайдаланыңыз
Төменде мен рульді не үшін пайдаланатынымды тізімдеймін.
-
Файлдар мен конфигурацияларды басқару: ./ssh/authorized_keys ; /etc/hosts ; iptables; (содан кейін сіздің қиялыңыз қайда апарады)
-
Орнатылған бумаларды басқару: zabbix.agent немесе кез келген басқа бағдарламалық құрал
Серверді орнату
Жақында мен 5-тен 6.1 нұсқасына дейін жаңарттым, бәрі жақсы болды. Төменде Deban/Ubuntu пәрмендері берілген, бірақ қолдау да бар:
Сізді алаңдатпау үшін орнатуды спойлерлерге жасырамын.
спойлер
Тәуелділіктер
Rudder-server Java RE кем дегенде 8 нұсқасын қажет етеді, оны стандартты репозиторийден орнатуға болады:
Орнатылғанын тексеру үшін
java -version
қорытынды болса
-bash: java: command not found
содан кейін орнатыңыз
apt install default-jre
Сервер
Кілтті импорттау
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Міне, басып шығарудың өзі
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Бізде ақылы жазылым болмағандықтан, біз келесі репозиторийді қосамыз
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Репозитарийлер тізімін жаңартыңыз және серверді орнатыңыз
apt update
apt install rudder-server-root
Пайдаланушы әкімшісін жасаңыз
rudder server create-user -u admin -p "Ваш Пароль"
Болашақта біз пайдаланушыларды конфигурация арқылы басқара аламыз
Міне, сервер дайын.
Серверді баптау
Енді сіз агенттердің IP мекенжайларын немесе бүкіл ішкі желіні рульдік агентке қосуыңыз керек, біз қауіпсіздік саясатына назар аударамыз.
Параметрлер -> Жалпы
«Желі қосу» өрісіне мекенжай мен масканы xxxx/xx пішімінде енгізіңіз. Ішкі желінің барлық мекенжайларынан кіруге рұқсат беру үшін (әрине, бұл сынақ желісі болып табылмаса және сіз NAT-тан артта қалсаңыз): 0.0.0.0/0 енгізіңіз.
Маңызды - IP мекенжайын қосқаннан кейін, «Өзгерістерді сақтау» түймесін басуды ұмытпаңыз, әйтпесе ештеңе сақталмайды.
Порттар
Серверде келесі порттарды ашыңыз
-
443 - т.б
-
5309 - т.б
-
514 - udp
Біз сервердің бастапқы орнатуын сұрыптадық.
Агентті орнату
спойлер
Кілтті қосу
wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -
Кілт саусақ ізі
pub 4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
Key fingerprint = 7C16 9817 7904 212D D58C B4D1 9322 C330 474A 19E8
Репозиторийді қосу
echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list
Агентті орнату
apt update
apt install rudder-agent
Агентті орнату
Біз агентке саясат серверінің IP мекенжайын көрсетеміз
rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя
Келесі пәрменді іске қосу арқылы біз серверге жаңа агент қосу туралы сұрау жібереміз, ол бірнеше минуттан кейін жаңа агенттер тізімінде пайда болады, мен келесі бөлімде қалай қосу керектігін түсіндіремін
rudder agent inventory
Біз сондай-ақ агентті іске қосуға мәжбүрлей аламыз және ол сұрауды бірден жібереді
rudder agent run
Біздің агент орнатылды, әрі қарай жүрейік.
Агенттерді қосу
Кіру
https://127.0.0.1/rudder/index.html
Сіздің агентіңіз «Жаңа түйіндерді қабылдау» бөлімінде пайда болады, құсбелгіні қойып, «Қабылдау» түймесін басыңыз
Жүйе серверді сәйкестікке тексергенше біраз уақыт қажет
Сервер топтарын құру
Топ құрайық (бұл әлі де ойын-сауық), әзірлеушілер неліктен мұндай сұмдық топ құрғанын білмеймін, бірақ менің түсінуімше, басқа жол жоқ. Түйінді басқару -> Топтар бөліміне өтіп, Жасау түймесін басыңыз, статикалық топты және атауды таңдаңыз.
Біз қажет серверді арнайы мүмкіндіктер бойынша, мысалы, IP мекенжайы бойынша сүзіп, сақтаймыз
Топ құрылды.
Ережелерді орнату
Конфигурация саясаты → Ережелер тармағына өтіп, жаңа ереже жасаңыз
Бұрын дайындалған топты қосыңыз (оны кейінірек жасауға болады)
Ал біз жаңа директиваны қалыптастырамыз
.ssh/authorized_keys ішіне ашық кілттерді қосу үшін директиваны жасайық. Мен мұны жаңа қызметкер кеткенде немесе қайта сақтандыру үшін қолданамын, мысалы, біреу менің кілтімді кездейсоқ кесіп алса.
Конфигурация саясаты → Директивалар тармағына өтіңіз, сол жақта біз «Директивалар кітапханасын» көреміз «Қашықтан кіру → SSH рұқсат етілген кілттерін» табыңыз, оң жақта Директиваны жасау түймесін басыңыз.
Біз пайдаланушы туралы ақпаратты енгіземіз және оның кілтін қосамыз. Содан кейін қолданба саясатын таңдаңыз
-
Ғаламдық - Әдепкі саясат
-
Enforce - Таңдалған серверлерде орындау
-
Аудит - Аудит жүргізеді және кілт қай клиенттерде бар екенін айтады
Біздің ережені көрсетуді ұмытпаңыз
Содан кейін сақтаңыз және сіз аяқтадыңыз.
Тексеру
Кілт сәтті қосылды
Тоқаштар
Агент сервер туралы толық ақпаратты береді. Төмендегі скриншотта көруге болатын орнатылған бумалардың, интерфейстердің, ашық порттардың және т.б. тізімдері
Сондай-ақ бағдарламалық жасақтаманы тек Linux-та ғана емес, Windows-та да орнатуға және басқаруға болады, мен соңғысын тексерген жоқпын, қажет емес..
Автордан
Сіз сұрақ қоюыңыз мүмкін, егер ansible мен қуыршақ бұрыннан ойлап табылған болса, неге дөңгелекті қайта ойлап табу керек?
Мен жауап беремін: Ansible-дің кейбір кемшіліктері бар, мысалы, біз бұл конфигурацияның қазір қандай күйде екенін немесе рөлді немесе ойын кітабын іске қосқан кездегі таныс жағдайды көрмейміз және бұзылу қателері пайда болады және сіз серверге көтеріле бастайсыз және қай пакет қай жерде жаңартылды. Ал мен қуыршақпен жұмыс істемедім..
Рудтердің кемшіліктері бар ма? Көп.. Агенттер құлап, оларды қайта орнату немесе рульді қалпына келтіру пәрменін пайдалану фактісінен бастап. (бірақ айтпақшы, мен мұны әлі 6-нұсқада көрмедім), нәтижесінде өте күрделі орнату және логикалық емес интерфейс.
Артықшылықтары бар ма? Сондай-ақ көптеген артықшылықтар бар: белгілі Ansible-ден айырмашылығы, бізде біз қолданған сәйкестікті көре алатын веб-интерфейс бар. Мысалы, порттар әлемге шығып жатыр ма, желіаралық қалқанның күйі қандай, қауіпсіздік агенттері орнатылған немесе басқа гаджеттер.
Бұл бағдарламалық қамтамасыз ету ақпараттық қауіпсіздік бөлімі үшін өте қолайлы, өйткені инфрақұрылымның жай-күйі әрқашан сіздің көз алдыңызда болады және егер ережелердің кез келгені қызыл түспен жанып тұрса, бұл серверге кіруге себеп болады. Мен айтқанымдай, мен Rudder-ді 2 жыл бойы қолданамын, егер сіз оны аздап шегетін болсаңыз, өмір жақсарады. Үлкен инфрақұрылымдағы ең қиын нәрсе - сіз сервердің қандай күйде екенін, маусымда қауіпсіздік агенттерін орнатуды өткізіп алғаныңызды немесе iptables файлын дұрыс конфигурациялағаныңызды есте сақтамайсыз, бірақ руль барлық оқиғалардан хабардар болуға көмектеседі. Хабардар қарулы дегенді білдіреді! )
PS Мен жоспарлағанымнан әлдеқайда көп болды, мен пакеттерді қалай орнату керектігін сипаттамаймын, егер кенеттен сұраныстар болса, мен екінші бөлімді жазамын.
PSS Мақала ақпараттық мақсатта, мен онымен бөлісуді жөн көрдім, өйткені Интернетте ақпарат өте аз. Мүмкін бұл біреуге қызық болар. Қайырлы күн, құрметті достар)
Жарнама құқықтары туралы
Эпикалық серверлер Мүмкін
Ақпарат көзі: www.habr.com