Line 1... |
Line 1... |
1 |
#!/bin/bash
|
1 |
#!/bin/bash
|
2 |
# $Id: alcasar.sh 3190 2024-04-07 22:35:03Z rexy $
|
2 |
# $Id: alcasar.sh 3191 2024-04-14 22:31:49Z rexy $
|
3 |
|
3 |
|
4 |
# ALCASAR is a Free and open source NAC (Network Access Controler) created by Franck BOUIJOUX (3abtux), Pascal LEVANT and Richard REY (Rexy)
|
4 |
# ALCASAR is a Free and open source NAC (Network Access Controler) created by Franck BOUIJOUX (3abtux), Pascal LEVANT and Richard REY (Rexy)
|
5 |
# ALCASAR is based on a stripped Mageia (LSB) with the following open source softwares Coovachilli, freeradius, mariaDB, lighttpd, php, netfilter, e2guardian, ntpd, openssl, unbound, gammu, Ulog, fail2ban, vnstat, wkhtml2pdf, ipt_NETFLOW, NFsen and NFdump
|
5 |
# ALCASAR is based on a stripped Mageia (LSB) with the following open source softwares Coovachilli, freeradius, mariaDB, lighttpd, php, netfilter, e2guardian, ntpd, openssl, unbound, gammu, Ulog, fail2ban, vnstat, wkhtml2pdf, ipt_NETFLOW, NFsen and NFdump
|
6 |
# contact : info@alcasar.net
|
6 |
# contact : info@alcasar.net
|
7 |
|
7 |
|
Line 847... |
Line 847... |
847 |
$SED "s?^expose_php.*?expose_php = Off?g" /etc/php.ini
|
847 |
$SED "s?^expose_php.*?expose_php = Off?g" /etc/php.ini
|
848 |
$SED "s?^allow_url_fopen.*?allow_url_fopen = Off?" /etc/php.ini
|
848 |
$SED "s?^allow_url_fopen.*?allow_url_fopen = Off?" /etc/php.ini
|
849 |
# Configuring & securing Lighttpd
|
849 |
# Configuring & securing Lighttpd
|
850 |
rm -rf /var/www/cgi-bin/* /var/www/perl/* /var/www/icons/README* /var/www/error/README*
|
850 |
rm -rf /var/www/cgi-bin/* /var/www/perl/* /var/www/icons/README* /var/www/error/README*
|
851 |
[ -e /etc/lighttpd/lighttpd.conf.default ] || cp /etc/lighttpd/lighttpd.conf /etc/lighttpd/lighttpd.conf.default
|
851 |
[ -e /etc/lighttpd/lighttpd.conf.default ] || cp /etc/lighttpd/lighttpd.conf /etc/lighttpd/lighttpd.conf.default
|
852 |
$SED "s?^server\.use-ipv6.*?server\.use-ipv6 = \"disable\"?g" /etc/lighttpd/lighttpd.conf
|
- |
|
853 |
$SED "s?^#server\.bind.*?server\.bind = \"$PRIVATE_IP\"?g" /etc/lighttpd/lighttpd.conf
|
852 |
$SED "s?^#server\.bind.*?server\.bind = \"$PRIVATE_IP\"?g" /etc/lighttpd/lighttpd.conf
|
854 |
$SED "s?^server\.bind.*?server\.bind = \"$PRIVATE_IP\"?g" /etc/lighttpd/lighttpd.conf
|
853 |
$SED "s?^server\.bind.*?server\.bind = \"$PRIVATE_IP\"?g" /etc/lighttpd/lighttpd.conf
|
855 |
$SED "s?^#server\.tag.*?server\.tag = \"\"?g" /etc/lighttpd/lighttpd.conf
|
854 |
$SED "s?^#server\.tag.*?server\.tag = \"\"?g" /etc/lighttpd/lighttpd.conf
|
856 |
echo "include \"vhosts.d/alcasar.conf\"" >> /etc/lighttpd/lighttpd.conf
|
855 |
echo "include \"vhosts.d/alcasar.conf\"" >> /etc/lighttpd/lighttpd.conf
|
857 |
|
856 |
|
Line 859... |
Line 858... |
859 |
$SED "s?^#[ ]*\"mod_auth\",.*?\"mod_auth\",?g" /etc/lighttpd/modules.conf
|
858 |
$SED "s?^#[ ]*\"mod_auth\",.*?\"mod_auth\",?g" /etc/lighttpd/modules.conf
|
860 |
$SED "s?^#[ ]*\"mod_authn_file\",.*?\"mod_authn_file\",?g" /etc/lighttpd/modules.conf
|
859 |
$SED "s?^#[ ]*\"mod_authn_file\",.*?\"mod_authn_file\",?g" /etc/lighttpd/modules.conf
|
861 |
$SED "s?^#[ ]*\"mod_alias\",.*?\"mod_alias\",?g" /etc/lighttpd/modules.conf
|
860 |
$SED "s?^#[ ]*\"mod_alias\",.*?\"mod_alias\",?g" /etc/lighttpd/modules.conf
|
862 |
$SED "s?^#[ ]*\"mod_redirect\",.*?\"mod_redirect\",?g" /etc/lighttpd/modules.conf
|
861 |
$SED "s?^#[ ]*\"mod_redirect\",.*?\"mod_redirect\",?g" /etc/lighttpd/modules.conf
|
863 |
$SED "/^[ ]*\"mod_redirect\",/a\"mod_openssl\"," /etc/lighttpd/modules.conf
|
862 |
$SED "/^[ ]*\"mod_redirect\",/a\"mod_openssl\"," /etc/lighttpd/modules.conf
|
864 |
$SED "s?^#include \"conf.d/fastcgi.conf\".*?include \"conf.d/fastcgi.conf\"?g" /etc/lighttpd/modules.conf
|
863 |
$SED "s?^#include conf_dir + \"/conf.d/fastcgi.conf\".*?include conf_dir + \"/conf.d/fastcgi.conf\"?g" /etc/lighttpd/modules.conf
|
865 |
|
864 |
|
866 |
[ -e /etc/lighttpd/conf.d/fastcgi.conf.default ] || cp /etc/lighttpd/conf.d/fastcgi.conf /etc/lighttpd/conf.d/fastcgi.conf.default
|
865 |
[ -e /etc/lighttpd/conf.d/fastcgi.conf.default ] || cp /etc/lighttpd/conf.d/fastcgi.conf /etc/lighttpd/conf.d/fastcgi.conf.default
|
867 |
cp $DIR_CONF/lighttpd/conf.d/fastcgi.conf /etc/lighttpd/conf.d/fastcgi.conf
|
866 |
cp $DIR_CONF/lighttpd/conf.d/fastcgi.conf /etc/lighttpd/conf.d/fastcgi.conf
|
868 |
|
867 |
|
869 |
[ -e /etc/php-fpm.conf.default ] || cp /etc/php-fpm.conf /etc/php-fpm.conf.default
|
868 |
[ -e /etc/php-fpm.conf.default ] || cp /etc/php-fpm.conf /etc/php-fpm.conf.default
|
Line 918... |
Line 917... |
918 |
## "time_server" ##
|
917 |
## "time_server" ##
|
919 |
## - Configuring NTP server ##
|
918 |
## - Configuring NTP server ##
|
920 |
#############################################################
|
919 |
#############################################################
|
921 |
time_server()
|
920 |
time_server()
|
922 |
{
|
921 |
{
|
923 |
# Set the Internet time server
|
- |
|
924 |
[ -e /etc/ntp/step-tickers.default ] || cp /etc/ntp/step-tickers /etc/ntp/step-tickers.default
|
- |
|
925 |
cat <<EOF > /etc/ntp/step-tickers
|
- |
|
926 |
0.fr.pool.ntp.org # adapt to your country
|
- |
|
927 |
1.fr.pool.ntp.org
|
- |
|
928 |
2.fr.pool.ntp.org
|
- |
|
929 |
EOF
|
- |
|
930 |
[ -e /etc/ntp.conf.default ] || cp /etc/ntp.conf /etc/ntp.conf.default
|
- |
|
931 |
cat <<EOF > /etc/ntp.conf
|
- |
|
932 |
server 0.fr.pool.ntp.org # adapt to your country
|
- |
|
933 |
server 1.fr.pool.ntp.org
|
- |
|
934 |
server 2.fr.pool.ntp.org
|
- |
|
935 |
server 127.127.1.0 # local clock si NTP internet indisponible ...
|
- |
|
936 |
fudge 127.127.1.0 stratum 10
|
- |
|
937 |
restrict $PRIVATE_NETWORK mask $PRIVATE_NETMASK nomodify notrap
|
- |
|
938 |
restrict 127.0.0.1
|
- |
|
939 |
driftfile /var/lib/ntp/drift
|
- |
|
940 |
logfile /var/log/ntp.log
|
- |
|
941 |
disable monitor
|
- |
|
942 |
EOF
|
- |
|
943 |
chown -R ntp:ntp /var/lib/ntp
|
- |
|
944 |
# Synchronize now
|
922 |
# Synchronize now
|
945 |
ntpd -4 -q -g &
|
923 |
ntpdate pool.ntp.org &
|
946 |
} # End of time_server()
|
924 |
} # End of time_server()
|
947 |
|
925 |
|
948 |
#####################################################################
|
926 |
#####################################################################
|
949 |
## "init_db" ##
|
927 |
## "init_db" ##
|
950 |
## - Mysql initialization ##
|
928 |
## - Mysql initialization ##
|
Line 1816... |
Line 1794... |
1816 |
########################################################################
|
1794 |
########################################################################
|
1817 |
fail2ban()
|
1795 |
fail2ban()
|
1818 |
{
|
1796 |
{
|
1819 |
# adapt fail2ban to Mageia (fedora like) & ALCASAR behaviour
|
1797 |
# adapt fail2ban to Mageia (fedora like) & ALCASAR behaviour
|
1820 |
[ -e /etc/fail2ban/jail.conf.default ] || cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.default
|
1798 |
[ -e /etc/fail2ban/jail.conf.default ] || cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.default
|
1821 |
$SED "s?^before =.*?before = paths-fedora.conf?g" /etc/fail2ban/jail.conf
|
1799 |
$SED "s?^before =.*?before = paths-mageia.conf?g" /etc/fail2ban/jail.conf
|
1822 |
|
1800 |
|
1823 |
# add 5 jails and their filters
|
1801 |
# add 5 jails and their filters
|
1824 |
## sshd : Ban after 3 failed attempts (ie. brute-force). This "jail" uses the default "sshd" f2b filter.
|
1802 |
## sshd : Ban after 3 failed attempts (ie. brute-force). This "jail" uses the default "sshd" f2b filter.
|
1825 |
cat << EOF > /etc/fail2ban/jail.d/01-alcasar_sshd.conf
|
1803 |
cat << EOF > /etc/fail2ban/jail.d/01-alcasar_sshd.conf
|
1826 |
[sshd]
|
1804 |
[sshd]
|