Bastille�F���w�ɂ��K�����Z�L�����e�B�]���c�[�� �F Leverage OSS �i1/2 �y�[�W�j
Bastille�̓Z�L�����e�B�̐N�Q���N����̂�҂��Ĕ�������̂ł͂Ȃ��A�V�X�e���̐Ǝ㐫����菜�����Ƃɂ���ăZ�L�����e�B�N�Q�𖢑R�ɉ������B�V�X�e���Z�L�����e�B�����コ���邽�߂̂��̃\�t�g�E�F�A���Љ��B
» 2006�N12��12�� 10��58�� ���J
[Bruce-Byfield�COpen Tech Press ]
�@Bastille��Debian�AFedora�AGentoo�AMandriva�ARed Hat Enterprise Linux�ASUSE�̃V�X�e���Z�L�����e�B�����コ���邽�߂̃v���O�����ł���B���ݗ��p�ł���p�P�b�g�X�j�t�@�A�A���`�E�C���X�v���O�����A�命���̃Z�L�����e�B�v���O�����Ƃ͈قȂ�ABastille�̓Z�L�����e�B�̐N�Q���N����̂�҂��Ĕ�������̂ł͂Ȃ��A�V�X�e���̐Ǝ㐫����菜�����Ƃɂ���ăZ�L�����e�B�N�Q�𖢑R�ɉ������B�����̃f�B�X�g���r���[�V�����ł͗����Ƃ������̂��ƂɃf�t�H���g�̃C���X�g�[���ݒ�̃Z�L�����e�B�ی���Â����Ă��邪�A���̃A�v���[�`�ł͂��̂���Bastille���s���ȃv���O�����ɂȂ�B
�@Bastille�͒P�ɃV�X�e�������łɂ��邾���̂��̂ł͂Ȃ��B�x���c�[����p���邱�Ƃɂ��ABastille�ł̓V�X�e���Z�L�����e�B�̕]�����s����B���̓��e��Center for Internet Security �iCIS�j�x���`�}�[�N������]���ɂ��C�G���A�X�̃Z�L�����e�B�{��̑��ΓI���ʂ��m�F�ł���B����ɁABastille�͑Θb�I�Ɏ��s����A���ꂼ��̒i�K�ł͎�肤��I�����̐����A�ύX����̑O�ɂ͕K�����̓��e���������@��^�����邽�߁ABastille�𗘗p���邱�Ƃ́AGNU/Linux�Z�L�����e�B�̓���҂�ΏۂƂ����`���[�g���A���S�̂ɒZ���ԂŖڂ�ʂ����Ƃɂ���������B
�@�V�X�e���̃Z�L�����e�B�ɐ^���Ɏ��g�ނȂ�A�V�X�e���̏�Ԃ𐳊m�ɔc�����邽�߂ɁA�����炭�I�y���[�e�B���O�V�X�e���̃C���X�g�[�����ɉ\�ȃI�v�V���������ׂăJ�X�^�}�C�Y���邱�Ƃ���n�߂�K�v�����邾�낤�B�������A�Ⴆ���̃A�v���[�`�����Ԃ�������߂���Ƃ��ċ��ۂ��Ă��A�C���X�g�[���̒����Bastille���C���X�g�[�����Ď��s����A�܂��V�X�e���̃Z�L�����e�B�����コ���邱�Ƃ��\���B
�@Bastille���_�E�����[�h�y�[�W �ɂ́A�Ή����Ă���f�B�X�g���r���[�V�������ƂɍŐV�̃p�b�P�[�W���p�ӂ���Ă���B�O���t�B�J���ȃC���^�t�F�[�X���g��������A�g���Ă���f�B�X�g���r���[�V�����̃��|�W�g������perl-tk�p�b�P�[�W���C���X�g�[������K�v������BBastille���̂��f�B�X�g���r���[�V�����̃��|�W�g������C���X�g�[���ł��邩������Ȃ����A���̏ꍇ�̓o�[�W�����ԍ����m�F���Ă������Ƃ��BDebian���ƁA���Ȃ��Ƃ��ŐV�ł�1:3.0.9�͎����ł̃��|�W�g���ɂ����܂܂�Ă��Ȃ��B�K���Ȃ��ƂɁA�ˑ��W�͂��܂�d�v�łȂ��̂ŁA�s����ł�e�X�g�ł��g���Ă��Ă��C���X�g�[���ɂ���Ċ����j���悤�Ȃ��Ƃ͂Ȃ��B�ȑO�Ƀ����[�X���ꂽ���̂����ɂ͗����A�]���@�\�ȂLjꕔ�̋@�\�������Ă���B���̋L���ł�Bastille�̍ŐV�o�[�W���������グ��̂ŁA�ꕔ�̐����͈ȑO�̃o�[�W�����ɂ͓��Ă͂܂�Ȃ��\�������邱�Ƃɒ��ӂ��Ă��炢�����B
�@�܂��Aroot�Ń��O�C������bastille -a�Ɠ��͂���ƁA�Z�L�����e�B�̌��݂̏�Ԃ�10�i�K�ŕ]�������B���̕]���̎ړx�͐�ΓI�Ȃ��̂ł��ݐϓI�Ȃ��̂ł��Ȃ��B�܂�10�_���_�́A���ׂĂ̗\�h�[�u������Ă��邱�Ƃ����������ł����āA�V�X�e�����e��̍U���ɑς����邱�Ƃ������킯�ł͂Ȃ��B�܂��A10�_�ƕ]�����ꂽ�V�X�e���̃Z�L�����e�B�̍�����5�_�̃V�X�e����2�{����킯�ł��Ȃ��B
�@�������A�V�X�e���̑S�̓I�ȃZ�L�����e�B����������ʓI�Ȏw�W�Ƃ��Ă͊m���ɖ𗧂��Ă���B���̕]���̓T�[�r�X�̉ғ�����V�K�t�@�C���̃f�t�H���g�p�[�~�b�V�����Ƃ������W���I�ȃZ�L�����e�B�̎ړx�ɉ����čs���A�e���ڂ͂��̏d�v���ɉ����ďd�ݕt��������Ă���B�Z�L�����e�B�̐��Ƃł���Ώd�ݕt���̃J�X�^�}�C�Y���\�����A�����炭�唼�̃��[�U�[�̓f�t�H���g�̏d�ݕt���ɕs���������邱�Ƃ͂Ȃ����낤�B
�@�ŏ��̕]�����ʂ��L�^������i���ʂ�/var/log/Bastille/Assessment�Ńe�L�X�g�����HTML�`���ŎQ�Ɖ\�j�ABastille��Θb�I�Ɏ��s���Ă�����x�]�����s���A�Z�L�����e�B�����m�ɂǂꂾ�����P���ꂽ�̂��A�܂��X�̃I�v�V�������ǂꂭ�炢�d�v�����͂����蕪���邾�낤�BDebian�e�X�g�ł�2�̊��ł킽�������{�����]���̌��ʂ��T�^�I�Ȃ��̂��Ƃ���A�g���Ă���f�B�X�g���r���[�V�����ɂ���邪�A�����炭�]���̓_���ɂ͉��̕s���R���Ȃ�6.0���炢����8.0��������x�܂ł̉��P�\�\�C���X�g�[������̏�Ԃɔ�ז��炩�ɑ傫�ȉ��P�\�\�����҂ł��邾�낤�B
Copyright © 2010 OSDN Corporation, All Rights Reserved.
';
e_dlv.innerHTML = html;
adRequest({position:dlv_pos,dom:true});
}else if(ad_type === 'gam'){
var html = '
';
e_dlv.innerHTML = html;
refreshGam('InArtSpecialLink');
}else if(ad_type === 'logly'){
var html = '
';
e_dlv.innerHTML = html;
loglySet(g_id);
}else if(ad_type === 'google'){
var html = '
';
e_dlv.innerHTML = html;
googletag.cmd.push(function(){
var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
googletag.display('div-gpt-ad-1551176482959-0');
googletag.pubads().refresh([slot8]);
});
}
};
var insert_ok = function(_target,_str){
var clearfix = d.createElement('div');
clearfix.className = 'colBoxClear';
if(ad_float_fix){
e_body.insertBefore(e_dlv,_target);
e_body.insertBefore(clearfix,_target.nextElementSibling);
}else{
e_body.insertBefore(e_dlv,_target);
}
set_dlv();
};
var insert_ng = function(_str){
e_dlv.style.display = 'none';
};
var main = function(){
var e_nodes = e_body.childNodes; // BODY �����q�v�f
var e_tags = []; // BODY �����^�O
var p_num = []; // BODY ���� P �^�O�ʒu
var p_target_num; // �g�}����ʒu
var o_float = {}; // ��荞�ݗv�f
var o_this = {}; // �A�N�e�B�u�^�O
var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O
var flag_insert = 0; // �}���t���O
// ��荞�ݗv�f�`�F�b�N
var check_float = function(_e){
var e = 0;
if(_e.id.match(/^col\d{3}(l|r)$/)){
e = _e;
}
return e;
};
// �v�f�� Y ���W�ƍ����̍��v�l
var get_element_y = function(_e){
var ey = 0;
var eh = _e.offsetHeight;
while(_e){
ey += _e.offsetTop;
_e = _e.offsetParent;
}
return ey + eh;
};
var check_ptag = function(_e){
var e = 0;
if(_e.tagName && _e.tagName === 'P'){
e = _e;
}
return e;
};
var try_insert = function(){
p_target_num = Math.floor(p_num.length / 2) - 1;
if(p_target_num >= _maxrange) p_target_num = _maxrange;
if(dis_con) p_target_num = 0;
for(var i = p_num[p_target_num]; i < e_tags.length; i++){
o_this.e = check_ptag(e_tags[i]);
if(o_this.e){
o_next.e = check_ptag(e_tags[i + 1]);
if(o_next.e){
if(!o_float.e || check_float(e_tags[i - 1])){
o_float.e = check_float(e_tags[i - 1]);
o_float.n = i - 1;
}
if(o_float.e && o_float.n < i + 1){
o_float.y = get_element_y(o_float.e);
o_this.y = get_element_y(o_this.e);
set_line(o_float.y,'red');
set_line(o_this.y,'blue');
if(o_float.y < o_this.y){
flag_insert = 1;
insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���');
break;
}
}else{
flag_insert = 1;
insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�');
break;
}
}
}else{
o_float = {};
}
}
if(!flag_insert){
insert_ng('�}���ʒu�Ȃ�');
}
};
// �S�q�v�f����^�O�̂ݔz��ɓ����
for(var i = 0; i < e_nodes.length; i++){
if(e_nodes[i].tagName){
e_tags.push(e_nodes[i]);
}
}
// �S�^�O���� P �^�O�ʒu��z��ɓ����
for(var i = 0; i < e_tags.length; i++){
if(e_tags[i].tagName === 'P') p_num.push(i);
// �ŏ��̉�荞�ݗv�f���i�[
if(!o_float.e){
o_float.e = check_float(e_tags[i]);
o_float.y = get_element_y(o_float.e);
o_float.n = i;
}
}
if(p_num.length >= _threshold){
try_insert();
}else{
insert_ng('P �^�O ' + _threshold + ' �ȉ�');
}
};
if(e_body){
main();
}else{
insert_ng('�L���{���Ȃ�');
}
})(document,4,5);