Какой-либо инструмент Linux для создания repo файла?

Ваше определение "вращающихся ключей" корректно. Необходимо дешифровать данные со "старым" ключом и повторно зашифровать его с "новым" ключом. Существует много магазинов, которые делают это на ежегодной основе и да - это - большая работа и лучше всего сделанный автоматизированной программой (можно, вероятно, записать собственный инструмент - я не знаю ни о каких сторонних, но я уверен, что они существуют).


<Напыщенная речь>

Интерпретация PCI-DSS, который 2,0 требования 3.6.4 "Криптографический ключ изменяют для ключей, которые достигли конца их cryptoperiod (например, после того, как определенный промежуток времени передал …" как "Вы, должна ежегодно поворачивать ключи, или мир закончится", близоруко, и по неправильным мнениям моего/моего аудитора: Если Вы используете достаточно сильный алгоритм (например, AES-256) и не имеете никаких известных нарушений Вашего ключа, поворачивающего Ваши ключи, не предоставляет Вам существенно лучшую безопасность - на самом деле это создает новое воздействие (старый ключ должен быть сделан доступным для программы столько, сколько это берет к decrypt/re-encrypt Ваши данные - Даже если машина, делающая ту работу, безопасна, это все еще включает помещение ключа больше чем в одном месте).

Обратите внимание, если Вы хотите привести этот аргумент успешно, необходимость в двух вещах: аудитор, который имеет основное понимание криптографии и оправданной политики, которая бросает вызов публикации 800-57 NIST (конкретно "рекомендуемый cryptoperiods" таблица). Наша политика, например, требует AES-256 (который лишен практических нападений и взял бы навсегда к "в лоб"), и вызывает ключевое вращение, когда кто-то с прямым доступом к ключам завершается (ключевой штат системного администратора, определенные чиновники C-уровня).

1
задан 19 March 2014 в 05:21
3 ответа

Две строчки, говорите ?! Вот однострочная функция в bash, которая сделает 99% того, что вы хотите:

function add-repo() { reponame=$1; url=$2; echo -e "[$reponame]\nbaseurl=${url}\nenabled=1\n" > /etc/yum.repos.d/$1.repo;}

usage: add-repo repo_name repo_url

Или более удобочитаемое форматирование:

function add-repo() {
  reponame=$1
  url=$2

  echo -e "[$reponame]\nbaseurl=${url}\nenabled=1\n" > \
    /etc/yum.repos.d/$reponame.repo;
}

Конечно, настройте так, как считаете нужным. Если вы говорите о другом конце поддержки репозитория, посмотрите createrepo .

2
ответ дан 3 December 2019 в 18:46

Это связано с упреждающим чтением. Вращающиеся диски страдают от чрезвычайно медленного времени доступа, поэтому вы хотите минимизировать время доступа и читать как можно больше последовательно. Для этого в Linux используется значение упреждающего чтения 128 КБ по умолчанию, что означает, что каждый раз, когда вы запрашиваете блок размером 1 КБ, 128 КБ будет фактически прочитано и кэшировано.

Проверьте настройку упреждающего чтения с помощью

cat /sys/block/sda/queue/read_ahead_kb 

На самом деле это значение 128 КБ является крайне консервативным и лучше подходит для старых дисков ATA, выпущенных десять лет назад с 512 КБ кеш-памяти. Для современных накопителей с кэш-памятью 64 МБ, вероятно, лучше подойдет значение 1 или 2 МБ. Для аппаратного RAID с большими кэшами предпочтительны значения 64 МБ или более.

Не забудьте поиграть с настройками упреждающего чтения, чтобы увидеть, как они влияют на вашу производительность: http://pkgs.repoforge.org/createrepo/

этот пакет предоставит вам все инструменты для удовлетворения ваших потребностей

в надежде, что это поможет,

1
ответ дан 3 December 2019 в 18:46

Если вы пытаетесь настроить внутренний репозиторий (очень типичный сценарий), лучше всего будет создать пакет RPM для развертывания конфигурации репозитория. Это стандартный подход, используемый практически всеми другими крупными сторонними репозиториями на основе EL (RHEL, CentOS, Scientific Linux), включая epel, remi, ius и rpmforge.

Это тот же подход, который я использовал для распространения наш внутренний репозиторий вместе с соответствующим ключом подписи GPG. Например, у меня есть папка с исходными текстами для наших машин EL5:

[linuxadm@machine]# ls -1 /home/linuxadm/rpmbuild/SOURCES/XXXXX-release-5.0.0
XXXXX.repo
RPM-GPG-KEY-XXXXX

И содержимое файла репо:

[linuxadm@machine]# cat /home/linuxadm/rpmbuild/SOURCES/XXXXX-release-5.0.0/XXXXX.repo
[XXXXX]
name=XXXXX
baseurl=http://repo.domain.ext/XXXXX/5/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-XXXXX

И файл SPEC для создания всего этого:

Name:           XXXXX-release
Version:        5.0.0
Release:        1
Summary:        XXXXX repository configuration

Group:          System Environment/Base
License:        XXXXX
URL:            http://www.domain.ext
Source0:        %{name}-%{version}.tar.bz2
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildArch:      noarch

%description
This package contains the XXXXX repository GPG key as well as configuration for yum.

%prep
%setup -q

%build

%install
rm -rf %{buildroot}

mkdir -p -m 755 %{buildroot}%{_sysconfdir}/pki/rpm-gpg
mkdir -p -m 755 %{buildroot}%{_sysconfdir}/yum.repos.d
install -m 644 XXXXX.repo  %{buildroot}%{_sysconfdir}/yum.repos.d/XXXXX.repo
install -m 644 RPM-GPG-KEY-XXXXX %{buildroot}%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-XXXXX

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%config(noreplace) /etc/yum.repos.d/*
/etc/pki/rpm-gpg/*

%changelog
* Fri Mar 07 2014 First Last <email@domain.ext> - 5.0.0-1
- Initial Package

Когда у вас есть пакет RPM, его можно поместить внутри репозиторий, которому он принадлежит. Используйте createrepo --update [папка] , чтобы при необходимости перестроить метаданные вашего репозитория.

0
ответ дан 3 December 2019 в 18:46

Теги

Похожие вопросы