Ubuntuのセキュリティ対策でウィルスアプリのCalmAVを入れてみた

入れたアプリ    ClamTk(GUI)        
    clamav-daemon        
    (GUIが使いにくいのでシェル対応した)        
[ClamTk(GUI)]            
■インストール    sudo apt install clamtk        
    アクセサリメニューに入る        
■不具合を修正        https://freefielder.jp/blog/2017/05/ubuntu-clamtk-trouble.html    
・駆除しない    sudo gedit /usr/bin/clamtk        
    setlocale( LC_ALL, '' );        
    setlocale( LC_TIME, 'C' );        
            
・メール見ない    sudo gedit /usr/share/perl5/ClamTk/Scan.pm        
    # Try to avoid scanning emails...        
    $directive .= ' --scan-mail=yes';        
■使い方            
    「フォルダーをスキャン」        
    スキャン前に自動でデータアップデート        
    見つかると結果ダイアログが開き、処理を選択出来る        
    隔離先フォルダ~/.clamtk/viruses        
    毎回スキャンフォルダを選択する必要がある        
    使いにくいのでシェルで対応する        
            
[clamav-daemon]            
    特定のフォルダをスキャンするシェルを作る        
        ダウンロードと.clamtkを除く隠しフォルダ    
            
■デーモンインストール            
    sudo apt install clamav-daemon        
■設定    ルートで動作するようにする        https://www.bigbang.mydns.jp/clam-antiVirus-x.htm
    sudo gedit /etc/clamav/clamd.conf        
    #User clamavコメントアウトして下記追加        
    User root        
            
■カスタマイズ            
・シェル    [clamd.sh]        
    #!/bin/bash        
    #念の為        
    cd ~/        
    #スキャンフォルダのリストファイル作成        
    echo ダウンロード >scan.list        
    ls -A | grep '^\.' | grep -v ".clamtk">>scan.list        
    #デーモン起動コマンド        
    mycom1="sudo systemctl start clamav-daemon.service"        
    #定義更新コマンド        
    mycom2="sudo systemctl start clamav-freshclam.service"        
    #scanコマンド:隔離 ~/は使えない/home/user/にする        
    mycom3="sudo clamdscan --move=/home/user/.clamtk/viruses/ --fdpass --file-list=scan.list"        
    #端末で表示:パスワードリクエスト        
    gnome-terminal -- bash -c "$mycom1 && $mycom2 &&$mycom3; bash"        
            
・メニュー登録    [/home/user/.local/share/applications/clamd.desktop]        
            
    [Desktop Entry]        
    Version=1.1        
    Type=Application        
    Name=ウィルススキャン        
    Comment=ダウンロード/隠しフォルダのウィルススキャン        
    Icon=preferences-ubuntu-panel-symbolic        
    Exec="clamd.shのパス”        
    Actions=        
    Categories=Other;        
            
■ウィルス駆除動作確認            
    端末でテスト        
    curl https://www.eicar.org/download/eicar.com.txt | clamscan -        
    感染結果が出ればOK        
            
    疑似ウィルスで確認        
    作り方は下記の通り        
    https://ja.wikipedia.org/wiki/EICAR%E3%83%86%E3%82%B9%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB        
■その他            
    Thunderbirdはメールをファイルで保存するのでチェックできない        
    ~/.thunderbird/nyd486dh.default-release/ImapMail/imap.gmail.com/INBOX        
    まめにアップデートして対処        

Ubuntuのセキュリティ対策でルートキットのチェックが出来るrkhunterを入れてみた。

入れたアプリ    Rootkit Hunter    
        
機能    ルートキットのチェック    
    リセット後に入った改変(実行ファイルなど)のチェック    
■インストール        
    sudo apt install rkhunter    
■設定    https://qiita.com/hogehuga/items/b4c9ceb20940bf3e317a    
    sudo gedit /etc/rkhunter.conf    
    日本語化    
    LANGUAGES=en -> ja    
    UPDATE_LANG=en -> コメントアウト    
    --updateで使用するコマンド    
    WEB_CMD="/bin/false" -> curl    
        
    検査に関する設定    
    UPDATE_MIRRORS=0 -> UPDATE_MIRRORS=1    
    MIRRORS_MODE=1 -> MIRROS_MODE=0    
    PKGMGR=NONE -> DPKG    
        
・設定チェック    sudo rkhunter --config-check    
    エラー発生    
    Unknown configuration file option:      WEB_CMD=curl    
    WEB_CMD=""    
    で直った。    
    ひょっとしてcurlをインストールしていないかもと気づいた。    
    その通りだった。    
    snapでインストールするとエラー。インストール先が違う。    
    削除して、aptで再インストール。    
    OK    curl 7.81.0 
    多分インストールの場所が違うため    
        
・アップデート    sudo rkhunter --update    
・RKチェック    sudo rkhunter --check --skip-keypress    
・リセット    sudo rkhunter --propupd    
    リセット後改変があると、警告が出る    
・ログ    sudo gedit /var/log/rkhunter.log    
■カスタマイズ  シェル対応        
・シェル    [rkhunter.sh]    
    #!/bin/sh    
    #定義更新コマンド    
    mycom1="sudo rkhunter --update"    
    #RootKitコマンド    
    mycom2="sudo rkhunter --check --skip-keypress"    
    #端末で実行:パスワードリクエスト    
    mycom="echo -e 'RootKitチェックを行います。\nこの端末を終了するとリセットをする/しないの選択が出ます。意味が分からなければリセットを中止してください。' && $mycom1 && $mycom2 "    
    gnome-terminal --wait -- bash -c "$mycom; bash"    
    #端末の終了を待つ--waitオプション    
        
    #端末内だとread変数に値が入らないので、スクリプト内で分岐する    
    zenity --question --title="propupd" --text="警告が出ても、今回の状態を正常と判断し、リセットしますか?" 2>/dev/null    
    case $? in    
     0) gnome-terminal --wait -- bash -c "echo 'リセットします。PSを入力してお待ち下さい' && sudo rkhunter --propupd && exit; bash"    
      zenity --info --title="propupd" --text="リセットしました" 2>/dev/null  ;;    
     1) zenity --info --title="propupd" --text="リセット中止" 2>/dev/null  ;;    
    esac    
        
・メニュー登録    [Desktop Entry]    
    Version=1.1    
    Type=Application    
    Name=RkHunter    
    Comment=ルートキット・改変調査    
    Icon=preferences-ubuntu-panel-symbolic    
    Exec=rkhunter.shのパス    
    Actions=    
    Categories=Other;    
        
環境        
    Ubuntu22.04+LXDE    

UbuntuのレトロゲームエミュレーターのMednafen(Mednaffe)で遊ぶ

Mednaffeはレトロゲームはほぼなんでも出来るエミュレーター    
Ubuntu標準アプリなので下記でインストール    
    sudo apt install mednaffe
実際に使ったゲーム    
       * GameBoy
       * GameBoy Advance
       * NES
       * SNES
       * Sony PlayStation
使い方    
    [ゲーム起動]
     file→開く(openrom)
     又はgamelistにフォルダを登録してダブルクリック
    
     ゲームが開いた状態でF1キー→ヘルプが出る
     再度F1で戻る
    [ボタン設定]ゲーム毎に設定する
     alt+shift+1
     下に表示されるボタンにキーボードかジョイパッドの対応するボタンを押す
     2回押して確定
    [ゲーム操作]
     ステートセーブ
      0-9でセーブスロットの選択
     F5でセーブ、F7でロード
    [画面]
     Alt+Enterでフルスクリーン
    [終了]
     Esc
    [リセット]
     F10
    
    PlayStationはバイオスが必要
    ~/.mednafen/firmware
    にバイオスファイルを置く
    systemタブでPlayStationを選び
    右のEmurationタブで
    DefaultRegionをjpに
    Japan Rom Biosのチェック確認
    ※ファイル名が小文字でないと認識しない
    scph5500.bin
環境    
Ubuntu22.04+LXDE    
    jstest-gtkインストール
PlayStaion1のジョイパッド    
USB変換ケーブルPSX-CV01    

ProtonVPNを入れたらスリープ復帰後インターネット接続できなくなった。

セキュリティ対策でProtonVPNを導入。    
無料の中でなんとなく安全そう。    
    
使い勝手は悪くないが、スリープ復帰でインターネットに接続できなくなる場合がある。    
スリープ復帰後Protonは停止する。    

[環境]

   Ubuntu22.04+LXDE
[事象]    
    killswitchオンだと、Protonが停止した時Ubuntuのネットワークがつながらない。
    killswitchオフでも、Protonが残ってUbuntuのネットワークがつながらない。
    Ubuntuのネットワークがつながらないと、Protonも接続できない。再起動。
    Ubuntuのネットワークマネージャーの「VPN接続」にProtonがあればチェックを入れて復帰できる。
    Protonを停止してから、スリープすれば復帰後Ubuntuのネットワークはつながる。
    
Protonのdisplay-manager.serviceとUbuntuのNetworkManager.serviceが干渉している気がする。    
試しに端末でProtonを起動してスリープするとOK。    
    protonvpn-cli c --cc JP
これで様子を見る    
    Proton起動の状態表示はUbuntuのネットワークマネージャーのアイコンに小さく鍵が追加される。
    
Protonの起動/停止のメニューを登録    
シェル    【VPN.sh】
    #!/bin/sh
     check=`ifconfig | grep "proton0"`
    if [ -n "$check" ]; then
       flag="起動中"
       else
       flag="停止中"
    fi
    myres=$(yad \
    --list \
    --title="VPN" \
    --text="ProtonVPNは$flagです" \
        --width=400 \
        --height=200 \
        --mouse \
        --print-column=1 \
        --separator= \
        --column="VPNを" \
        "起動" \
        "停止" \
        2>/dev/null)
    
    
    if [ $myres = "起動" ]; then
           protonvpn-cli disconnect
           protonvpn-cli c --cc JP
          if [ $? = 0 ]; then
                yad \
                --height=100 \
                --mouse \
                --image "gtk-dialog-info" \
                --button=gtk-ok:0 \
                --text="VPNを起動しました" 2>/dev/null
          else
                  yad \
                --height=100 \
                --mouse \
                --image "gtk-dialog-info" \
                --button=gtk-ok:0 \
                --text="失敗" 2>/dev/null
          fi
    
    elif [ $myres = "停止" ]; then
           protonvpn-cli disconnect
          if [ $? = 0 ]; then
                yad \
                --height=100 \
                --mouse \
                --image "gtk-dialog-info" \
                --button=gtk-ok:0 \
                --text="VPNを停止しました" 2>/dev/null
          else
                  yad \
                --height=100 \
                --mouse \
                --image "gtk-dialog-info" \
                --button=gtk-ok:0 \
                --text="失敗" 2>/dev/null
          fi
    fi
    exit 0
    
メニュー    【/home/user/.local/share/applications/vpn.desktop】
    [Desktop Entry]
    Version=1.1
    Type=Application
    Name=VPN
    Comment=VPN起動/停止
    Icon=nm-vpn-connecting10-symbolic
    Exec=”vpn.shのパス”
    Actions=
    Categories=Other;
    Name[ja_JP]=VPN

【Ubuntu22.04インストール】

リリースされたので、USBブートで試用してみる。
LXDEデスクトップ環境では特に問題は無い。変化もほとんど無い。

Nasのcifsマウントでエラー。
sec=ntlmをsec=ntlmsspに変更した。
★内部エラーが出た(Light-locker)
xscreansaverと共に削除
LXDEでもRemindersの予定お知らせが出る(Gcalender)

以下、防備録
【環境】
ISO:ubuntu-22.04-desktop-amd64.iso
PC:Dell Vostro 15 3000(3501)
ライブUSB:SDCZ48-032G-U46
ブートUSB:SDCZ600-32G-G35
【インストール】
WindowsRufusでライブUSB作成(保存容量Max)
・ライブUSBから起動すると、いつもの日本語選択が無い。
    英語のままインストール
・ブートUSBへのインストールは「その他」。
    UbuntuはUSB(sdb/)にインストール
    grubSSDにインストール
【OS設定】
■日本語入力
    sudo apt-get install fcitx-mozc
    言語サポート→インストール
    fcitxに変更
    再起動
■Waylandを消す(xWindow不具合対策)
    sudo gedit /etc/gdm3/custom.conf
    #WaylandEnable=falseのコメントアウトを外す
■終了待機時間
    sudo gedit /etc/systemd/system.conf
    #DefaultTimeoutStopSec=90sのコメントアウトを外し、5sに変更
    systemctl daemon-reload
lxdeインスト
    sudo apt update    
    sudo apt upgrade    
    sudo apt install lxde    
    gdm3のまま
    内部エラーが出た(Light-locker)
Lxde環境
    sudo apt install synaptic gparted printer-driver-cups-pdf cifs-utils samba xfce4-power-manager
■マウスサイズ
    gedit ~/.config/lxsession/LXDE/desktop.conf
    iGtk/CursorThemeSizeを変更
■テンキー直接入力    
    「Mozcの設定」でテンキー入力を直接に設定
■端末ショートカット
    gedit ~/.config/openbox/lxde-rc.xml     
    下記追加
            <keybind key="C-A-t">
              <action name="Execute">
                <command>lxterminal</command>
              </action>
            </keybind>
    ログアウト、ログイン    
■プリンター Canon IP2700
    sudo apt install printer-driver-gutenprint system-config-printer
スクリプト用アプリ
    sudo apt update
    sudo apt upgrade
    sudo apt install zenity ffmpeg xclip

Gimp
ResynthesizerのためにFlatpakでインストール
    Flatpakインストール
    sudo add-apt-repository -y ppa:alexlarsson/flatpak
    sudo apt install -y flatpak
    flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
    再起動

    Gimpインストール
    flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref
    Resynthesizerインストール
    flatpak install org.gimp.GIMP.Plugin.Resynthesizer

    起動コマンド
    flatpak run org.gimp.GIMP

    スタートメニュー登録
    ~/.local/share/applications/gimp.desktopを作成
        [Desktop Entry]
        Version=1.1
        Type=Application
        Name=gimp
        Comment=GIMP
        Icon=/var/lib/flatpak/exports/share/icons/hicolor/16x16/apps/org.gimp.GIMP.png
        Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=gimp-2.10 --file-forwarding org.gimp.GIMP @@u %U @@
        Actions=
        Categories=Graphics;

MPV
    sudo apt install python3-pip
    sudo pip3 install mpv
    sudo pip3 install mpv --upgrade
    sudo pip3 install youtube-dl
    sudo pip3 install youtube-dl --upgrade
■Onedrive
    sudo apt install libcurl4-openssl-dev
    sudo apt install libsqlite3-dev
    sudo snap install --classic dmd && sudo snap install --classic dub
    sudo apt install git
    git clone https://github.com/skilion/onedrive.git
    cd onedrive
    make
    sudo make install
    onedrive
        ログインURLが表示されるので、そのURLへアクセスし、ログイン後のURLを貼り付けるとホームディレクトリの下にOneDriveフォルダが作成され、同期
        PS大文字忘れずに

    自動起動設定
    systemctl --user enable onedrive
    Systemctl --user start onedrive
■Googledrive
    sudo add-apt-repository ppa:alessandro-strada/ppa
    sudo apt-get update
    sudo apt-get install google-drive-ocamlfuse
    マウントポイント作成して
    google-drive-ocamlfuse ~/gdrive
■Keepass
    sudo apt install keepass2 xdotool

    日本語化
    cd /usr/lib/keepass2
    sudo mkdir Languages
    cd Languages
    sudo wget https://downloads.sourceforge.net/keepass/KeePass-2.38-Japanese.zip
    sudo unzip KeePass-2.38-Japanese.zip

    Tools→options→Interface→Serect List Fontで日本語フォントに変更
    Tools→options→Interface→Force using system font(Unix only)のチェックを外す(一番下)
    view→change language→japanese

    フォント変更
    ~/.config/KeePass/KeePass.config.xml
VLC
    sudo apt install vlc
Thunderbirdアドオン(gmail連絡先同期)
    TbSync
    Provider for CalDAV & CardDAV
■geditプラグイン(URLを開く)
    mkdir ~/temp
    mkdir ~/temp/open_uri && cd ~/temp/open_uri
    wget https://github.com/jpfleury/open-uri-context-menu/archive/master.zip
    mkdir -pv ~/.local/share/gedit/plugins/
    unzip -j master.zip 'open-uri-context-menu-master/open-uri*' -d ~/.local/share/gedit/plugins/
■Impressプラグイン
    ■一括Jpeg変換
    https://extensions.libreoffice.org/en/extensions/show/export-as-images
    exportasimages-0-9-3.oxtをDL
    「ツール」「拡張機能マネージャー」でインストール
    ■ギャラリー移行
    ~/.config/libreoffice/4/user/galleryをコピペー
■Calcプラグイン他    
    ■カレンダー
    https://extensions.libreoffice.org/en/extensions/show/calendar-for-calc
    
    ■ピボットテーブル一括更新マクロ
    https://j11.blog.ss-blog.jp/2015-03-22
    
    Sub PivotTable_update
    
    Rem データパイロット更新マクロ
    Rem オリジナルは ttp://www.oooforum.org/forum/posting.php?mode=reply&t=733
    
    oDoc=thiscomponent
    oSheetEnum=odoc.sheets.createEnumeration
    While oSheetEnum.hasMoreElements()
    osheet=oSheetEnum.nextElement()
    opivots=osheet.getDataPilotTables()
    oPivotEnum = opivots.createEnumeration
    While oPivotEnum.hasMoreElements()
    oPivotElement = oPivotEnum.nextElement()
    oPivotElement.refresh
    Wend
    Wend
    
    End Sub
    
    JREインストールopenjdk-11-jre
    ボタンを作って、登録
    ■今日の日付(C++)
    「Fcitxの設定」→アドオン→clipboad
    C++をC+S++に変更
    ■テンプレート フォント:高さなど
    https://qiita.com/SHIKA_T/items/5854e11e9efb78b3fee5
    ~/.config/libreoffice/4/user/template
    コピペー
■fotowall
    makeしたものを使いまわし
    ~/mnt/win/0_PC/fotowall
    環境設定必要
    sudo apt update
    sudo apt install git qtbase5-dev libqt5svg5-dev qt5-default qtcreator pax-utils tree -y
    sudo apt install libqt5svg5-dev
    sudo apt install qt5-default
    sudo apt install qtcreator pax-utils tree -y

    キャンバス
    ~/mnt/win/0_PC/fotowall/fotowall/insta.fotowall
    枠線
    プロパティダイアログでNewframeを押して選択
    ~/mnt/win/0_PC/fotowall/white.svg

■自動立ち上げ
「Lxsessionのデフォルト....」の自動立ち上げに登録
    Nasマウント
    シェルを登録

    テンキー自動
    "numlockx on"を登録